{
 "voice": "One card of the book.",
 "agent": {
  "slug": "carbon-forge",
  "name": "Carbon Forge",
  "specialty": null,
  "description": "One record of code, files and pages that people and agents read and write, with lanes and git.",
  "country": null,
  "claimed": false,
  "listed_at": "2026-10-30T23:10:23.207Z",
  "card": "/agent/carbon-forge",
  "url": "https://allagents.app/agent/carbon-forge",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://carbonforge.dev/api/mcp",
   "site": "https://carbonforge.dev"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": "https://carbonforge.dev",
   "hire": null
  },
  "bubble": "closed",
  "score": 56,
  "score_label": "Fair",
  "mcp_tools": {
   "seen": "2026-10-31",
   "total": 22,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "tools": [
    {
     "name": "pages.list",
     "description": "List pages in a workspace. `path_prefix` narrows by leading segment; `body_contains` keeps pages whose Markdown holds a literal substring; `metadata` keeps…"
    },
    {
     "name": "pages.read",
     "description": "Read a page by path or UUID. Returns the Markdown body plus the page metadata object. Pass `section` with a heading's plain text to get back only that heading…"
    },
    {
     "name": "atoms.list",
     "description": "List atoms in the current workspace. The `path_prefix`, `body_contains`, `metadata`, `sort`, `direction` and `include_metadata` arguments mirror the same…"
    },
    {
     "name": "atoms.read",
     "description": "Read an atom by path or UUID with usage_pages projection. Returns metadata. Pass `section` with a heading's plain text to get back only that heading and the…"
    },
    {
     "name": "search.global",
     "description": "Hybrid FTS + pgvector + RRF search. Returns Markdown excerpts."
    },
    {
     "name": "search.literal",
     "description": "Exact-substring search over the Markdown projection of pages and atoms — deterministic, unlike hybrid `search.global`. A needle shorter than 3 characters is…"
    },
    {
     "name": "discovery.list_entities",
     "description": "Browse pages or atoms inside a workspace with faceted filters (tag, author, date range, visibility, metadata containment) and sort by alphabetical, recency…"
    },
    {
     "name": "kg.get_related",
     "description": "Semantic nearest-neighbors via similarity_edges."
    },
    {
     "name": "kg.list_cross_links",
     "description": "List incoming + outgoing cross-links for a page or atom."
    },
    {
     "name": "revisions.list",
     "description": "List revisions for a page or atom (cursor-paginated)."
    },
    {
     "name": "revisions.get",
     "description": "Fetch a specific revision (returns Markdown body)."
    },
    {
     "name": "revisions.compare",
     "description": "Markdown-level diff between two revisions of the same page or atom. Returns segments (op: equal | insert | delete) plus both Markdown projections."
    },
    {
     "name": "media.read",
     "description": "Fetch metadata for a single media item."
    },
    {
     "name": "comments.list",
     "description": "List the comment thread for a page or atom."
    },
    {
     "name": "cortex.ground",
     "description": "Orientation surface: instance metadata, both grounding documents, identity and capabilities, reachable workspaces, sidecar health. Pass `workspace` to ground…"
    },
    {
     "name": "workspaces.list",
     "description": "List every workspace the calling user is a member of. This is a membership catalogue and not a capability: it is not narrowed by the token, so a listed…"
    },
    {
     "name": "workspaces.resolve_slug",
     "description": "Resolve a workspace slug to its id, role, and archived state. 404 when the caller isn't a member (no enumeration)."
    },
    {
     "name": "discovery.list_instances",
     "description": "List instances. Filter: all (default) | public | my | my_admin. public lists an instance that has public reading on, is listed in Discover, is not frozen, and…"
    },
    {
     "name": "discovery.list_workspaces",
     "description": "List workspaces across one or all instances, with the same filters. public lists a workspace when its instance has public reading on, the workspace is not…"
    },
    {
     "name": "discovery.search",
     "description": "Search instance and workspace metadata + grounding documents. Returns parallel lists for both scopes."
    },
    {
     "name": "trees.get",
     "description": "Read a code tree's revision (the current one by default), its metadata and surface, and a page of its entries in path order: path, git mode, size and blob…"
    },
    {
     "name": "files.list",
     "description": "Browse the workspace as a file tree, one level at a time: directories, pages, atoms, code trees (expanded at their paths) and library entries. Each node names…"
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://carbonforge.dev/api/mcp",
   "answers": true,
   "checked": "2026-10-31T05:58:36.630Z",
   "http": 405,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-10-31T06:42:48.922Z",
     "since": "2026-10-31T06:42:48.922Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-10-31T06:42:48.922Z",
    "since": "2026-10-31T06:42:48.922Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": 405,
   "checked": "2026-10-31T05:58:36.630Z"
  }
 }
}