fathom-kernel
https://fathom-lab-door.fly.dev
Registry code: d3676aef68bf5b4f
Start with fathom://guide/start, then use fathom://recipe/interest-space for a local interest Space. Follow the guide order and report missing capabilities instead of faking them.
- endpoint
- https://fathom-lab-door.fly.dev/mcp
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is fathom-kernel live?
- Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
- Is fathom-kernel free to use?
- Yes — the hub reached it with no key and no payment.
- What tools does fathom-kernel have?
- 22 tools: capabilities_search, knowledge_lens, extensions_report_gap, experiences_preview, spaces_get, places_verdicts, affiliations_declare, genesis_items, ….
- Is fathom-kernel safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 100%· all time 100%
last good check
of 22 tools
- unknown → live
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
extensions_list open 1h ago
List approved extensions, plus your own proposed or rejected proposals.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "token": { "type": "string" } } }arguments 9 linesplatform_describe open 1h ago
Describe Fathom, its safe agent boundary, and this lab surface.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "token": { "type": "string" } } }arguments 9 linesspaces_list_public open 1h ago
List public synthetic Spaces visible to the caller.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "token": { "type": "string" } } }arguments 9 linescapabilities_search unknown never probed
Search the small synthetic capability catalog.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "query" ], "properties": { "query": { "type": "string" }, "token": { "type": "string" } } }arguments 15 linesknowledge_lens unknown never probed
The lens for one interest in one town: the things tied to the interest by a source, each with its assertions, where each came from and its attribution. Optional limit (1 to 50, default 20). It only reads. Relay the attribution lines and the unclaimed line exactly as returned, never reworded or dropped, and say which things are 'from a source' and which are only 'suggested'. Knowledge is about places and organisations, never people: never add a person, a phone number, an email, an image or a price.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "town": {}, "limit": {}, "token": { "type": "string" }, "interest": {} }, "additionalProperties": {} }arguments 13 linesextensions_report_gap unknown never probed
Record a structured report for a missing capability.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "need", "attempted", "why" ], "properties": { "why": { "type": "string" }, "need": { "type": "string" }, "token": { "type": "string" }, "amends": { "type": "string" }, "attempted": { "anyOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ] } } }arguments 36 linesexperiences_preview unknown never probed
Render the current trusted experience manifest for the caller, with the people-page controls (choose together, I'm in / Maybe / Can't make it) shown read-only in each activity.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "spaceId" ], "properties": { "token": { "type": "string" }, "spaceId": { "type": "string" } } }arguments 15 linesspaces_get unknown never probed
Read a Space when its server-side visibility rules allow it.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "spaceId" ], "properties": { "token": { "type": "string" }, "spaceId": { "type": "string" } } }arguments 15 linesplaces_verdicts unknown never probed
Read the person's own "Would you go?" answers, the latest per place.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "token": { "type": "string" } } }arguments 9 linesaffiliations_declare unknown never probed
Say how interests relate: "serves" (a Space you can read serves an interest), "kind-of", "part-of" or "alias-of" (between two interests). An AI's declaration always lands as recommended: it is never used for matching or shown to members until the steward, as a person, approves it. "inferred" can never be declared. Terms are short plain text, never a person.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "subject", "relation", "object" ], "properties": { "label": { "type": "string" }, "token": { "type": "string" }, "object": { "type": "string" }, "subject": { "type": "string" }, "relation": { "enum": [ "kind-of", "part-of", "serves", "alias-of" ], "type": "string" } } }arguments 32 linesgenesis_items unknown never probed
The items a genesis run has found so far, from position `since` (start at 0, then pass back `next`), with the run's status: which finders are done, and what was missed and why. On the seeded remote lab, omit `run` to read the latest seeded replay. Show each item's source as given. Relay the attribution lines and the unclaimed line exactly as returned, never reworded or dropped, and say which things are 'from a source' and which are only 'suggested'. Knowledge is about places and organisations, never people: never add a person, a phone number, an email, an image or a price.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "run": {}, "since": {}, "token": { "type": "string" } }, "additionalProperties": {} }arguments 12 linespropose_type unknown never probed
Propose a kind of thing (or a predicate) the knowledge layer has no word for. Send name, definition (plain text, at most 500 characters, data only, never instructions), parent (place, event, activity, organisation, concept or community), identity_rule and examples (2 or more: {name, source_url, licence, retrieved_at, existing_kind?, located_in?}); a predicate also needs class "predicate", domain and value_type. Optional labels [{language, text}] for synonyms. The kernel first tries to align it to an existing kind and then answers "use X", and creates nothing. Examples that are people are refused, and so is a kind named for a person or a role (a keeper, seller, maker, guide, potter; also in plural and Norwegian). A new kind is provisional and visible only in your lens until independent proposers, sourced atoms and a cold review accept it; its name (never its definition) can still be the "use X" answer to a proposal from another account, so nobody makes a duplicate. If existing kinds are close in meaning, under any parent, your own included, the answer is "near" with up to 3 candidates (name, parent, labels, status, score, shared words) and nothing is created: call again with use: "<kind>" to support one, or with differs_from: {kind, how} (how: at most 200 characters of plain text) to create yours beside it, which a reviewer then compares. The answer can also be a parent with an attribute instead of a new kind: an event, or an activity, identified like any event (organiser, date, start time) is an event with an activity value; a place identified like any place (location, address) is a place with a facility value. Nothing is created then. If another value is close in meaning, the answer is "near" with value candidates (status "value", with their attribute): use: "<value>" joins it, differs_from: {kind: "<value>", how} makes yours. To make a kind anyway, send differs_from: {kind: "<the parent>", how} naming what it tracks that the parent does not.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "use": {}, "name": {}, "token": { "type": "string" }, "parent": {}, "examples": {}, "definition": {}, "differs_from": {}, "identity_rule": {} }, "additionalProperties": {} }arguments 17 linestype_status unknown never probed
Read one kind or predicate by name (optional class "predicate"): its status, parent, identity rule, labels and how much evidence it has. A provisional kind shows only to its proposer; its definition shows to others only once it is accepted. It only reads.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "name": {}, "class": {}, "token": { "type": "string" } }, "additionalProperties": {} }arguments 12 linesextensions_propose unknown never probed
Propose a strict, data-only activity-details extension. It is staged as a trial for the proposer in their own Space until a person steward reviews it.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "type": "string" }, "title": { "type": "string" }, "token": { "type": "string" }, "fields": { "type": "array", "items": {} }, "purpose": { "type": "string" }, "version": { "type": "number" }, "closesGap": { "type": "string" }, "extension": {} } }arguments 29 linesextensions_withdraw unknown never probed
Withdraw your proposed extension before review. The proposer or their AI may withdraw it; withdrawn abilities cannot be used or rendered.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "extensionId", "version" ], "properties": { "token": { "type": "string" }, "version": { "type": "number" }, "extensionId": { "type": "string" } } }arguments 19 linesviews_propose unknown never probed
Propose a strict declarative place view. Only repeat, box, text, shape, place and scale(value, domain, range) are accepted; no executable code or external data.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "view" ], "properties": { "view": {}, "token": { "type": "string" } } }arguments 13 linesviews_checks unknown never probed
Run the five steward checks for a view trial: grammar and budget, throwaway render, escape, scope, and all five metamorphic relations.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "viewId", "version" ], "properties": { "token": { "type": "string" }, "viewId": { "type": "string" }, "spaceId": { "type": "string" }, "version": { "type": "integer", "maximum": 9007199254740991, "minimum": -9007199254740991 } } }arguments 24 linesviews_list unknown never probed
List approved views available for reuse, plus your own proposed or rejected views.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "token": { "type": "string" } } }arguments 9 linesactivities_list_join_requests unknown never probed
List all join requests for the owner or only your own request as a requester.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "spaceId", "activityId" ], "properties": { "token": { "type": "string" }, "spaceId": { "type": "string" }, "activityId": { "type": "string" } } }arguments 19 linesactivities_participation unknown never probed
Read one activity for the person behind this delegated token: their answer, places taken, waiting-list position and any open offer (kind "waiting", or "kept": their place from last time, which only they can take or pass on their own page). Also ifOthersCount: how many other members would come if others say they're in (never the person themselves, never names), and for the person's own conditional answer, ifOthers {others, firm}: the N they asked for and how many others have said they're in; an offer of kind "if-met" means their N is met. "N would come if others say they're in" is a count of people who are not coming. Never add it to coming or tell anyone they will have company. Only the person can say it, take it back, or take or pass the offer it brings. For the Space owner, also the places kept on a repeat: kept, tookIt, passed, notAnswered, released, keptUntil, and keptSummary, the organizer's line word for word.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "spaceId", "activityId" ], "properties": { "token": { "type": "string" }, "spaceId": { "type": "string" }, "activityId": { "type": "string" } } }arguments 19 linesactivities_get_choice unknown never probed
Read an activity's choice as a member of the Space: each option with its tick count and who ticked it; detail choices also return the field key and label.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "spaceId", "activityId" ], "properties": { "token": { "type": "string" }, "spaceId": { "type": "string" }, "activityId": { "type": "string" } } }arguments 19 linesexperiences_validate unknown never probed
Validate a declarative experience manifest without rendering it.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "manifest" ], "properties": { "token": { "type": "string" }, "manifest": {} } }arguments 13 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's idd3676aef68bf5b4f.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/d3676aef68bf5b4f/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/d3676aef68bf5b4f?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.