Carbon Forge
io.github.100monkeys-ai/carbon-forgeVersion 1.0.0One record of code, files and pages that people and agents read and write, with lanes and git.
Status
Responds1609 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:34 UTC
- Latency
- 1609 ms
- Remotes responding
- 1 of 2
- Sign-in
- API key, No sign-in
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 22:14 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://carbonforge.dev/api/mcpResponds1609 msNo sign-in
Claude Code
claude mcp add --transport http carbon-forge https://carbonforge.dev/api/mcpClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: carbon-forge
Remote MCP server URL: https://carbonforge.dev/api/mcpCursor
{
"mcpServers": {
"carbon-forge": {
"url": "https://carbonforge.dev/api/mcp"
}
}
}VS Code
code --add-mcp '{"name":"carbon-forge","type":"http","url":"https://carbonforge.dev/api/mcp"}'Streamable HTTP
https://{instance}.carbonforge.dev/api/mcpNot checkedClaude Code
claude mcp add --transport http carbon-forge 'https://<YOUR_INSTANCE>.carbonforge.dev/api/mcp' --header 'Authorization: Bearer <YOUR_TOKEN>'Replace <YOUR_INSTANCE>, <YOUR_TOKEN> before running.
Claude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: carbon-forge
Remote MCP server URL: https://<YOUR_INSTANCE>.carbonforge.dev/api/mcp
This server expects the header Authorization.Replace <YOUR_INSTANCE> before running.
Cursor
{
"mcpServers": {
"carbon-forge": {
"url": "https://<YOUR_INSTANCE>.carbonforge.dev/api/mcp",
"headers": {
"Authorization": "Bearer <YOUR_TOKEN>"
}
}
}
}Replace <YOUR_INSTANCE>, <YOUR_TOKEN> before running.
VS Code
code --add-mcp '{"name":"carbon-forge","type":"http","url":"https://<YOUR_INSTANCE>.carbonforge.dev/api/mcp","headers":{"Authorization":"Bearer <YOUR_TOKEN>"}}'Replace <YOUR_INSTANCE>, <YOUR_TOKEN> before running.
Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
22 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
atoms.listList atoms in the current workspace. The `path_prefix`, `body_contains`, `metadata`, `sort`, `direction` and `include_metadata` arguments mirror the same arguments on pages.list. | Not declared | Yes | Not declared | Not declared |
atoms.readRead 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 blocks under it, down to the next heading at the same or shallower level; the result then also carries `section: { heading, level, matches }`, and everything else on it is the atom's own, so a section can be read and written straight back. | Not declared | Yes | Not declared | Not declared |
comments.listList the comment thread for a page or atom. | Not declared | Yes | Not declared | Not declared |
cortex.groundOrientation surface: instance metadata, both grounding documents, identity and capabilities, reachable workspaces, sidecar health. Pass `workspace` to ground a named workspace without moving the per-token pointer. Pass a `known_grounding_at` / `known_workspace_grounding_at` you hold and an unchanged document is acknowledged, not resent. Details: https://carbonforge.dev/docs/p/api/mcp-tools-catalog | Not declared | Yes | Not declared | Not declared |
discovery.list_entitiesBrowse pages or atoms inside a workspace with faceted filters (tag, author, date range, visibility, metadata containment) and sort by alphabetical, recency, or star count. Viewer-aware: members see everything, anonymous callers see only public entities in public workspaces. 50 items per page, cursor-based. Details: https://carbonforge.dev/docs/p/api/mcp-tools-catalog | Not declared | Yes | Not declared | Not declared |
discovery.list_instancesList 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 has a workspace that is not private holding a page that is not private. my and my_admin list the caller's own instances (member; admin) with no such gate; all is public plus my. Without a token every filter is public. | Not declared | Yes | Not declared | Not declared |
discovery.list_workspacesList 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 private, its instance is listed in Discover and not frozen, and it holds a page that is not private. my and my_admin list the caller's own workspaces with no such gate; all is public plus my. Without a token every filter is public. | Not declared | Yes | Not declared | Not declared |
discovery.searchSearch instance and workspace metadata + grounding documents. Returns parallel lists for both scopes. | Not declared | Yes | Not declared | Not declared |
files.listBrowse 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 its kind, entity, current revision and digest; `at` holds the entities exactly at `path`. `surface` keeps that surface only. History: files.history. Anonymous callers see public pages and atoms, and code trees of surface code. | Not declared | Yes | Not declared | Not declared |
kg.get_relatedSemantic nearest-neighbors via similarity_edges. | Not declared | Yes | Not declared | Not declared |
kg.list_cross_linksList incoming + outgoing cross-links for a page or atom. | Not declared | Yes | Not declared | Not declared |
media.readFetch metadata for a single media item. | Not declared | Yes | Not declared | Not declared |
pages.listList pages in a workspace. `path_prefix` narrows by leading segment; `body_contains` keeps pages whose Markdown holds a literal substring; `metadata` keeps pages whose top-level metadata contains the given scalar keys; `sort` (path | updated_at | created_at) and `direction` order the set; `include_metadata` adds each page's metadata. Details: https://carbonforge.dev/docs/p/api/mcp-tools-catalog | Not declared | Yes | Not declared | Not declared |
pages.readRead 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 and the blocks under it, down to the next heading at the same or shallower level; the result then also carries `section: { heading, level, matches }`. Details: https://carbonforge.dev/docs/p/api/mcp-tools-catalog | Not declared | Yes | Not declared | Not declared |
revisions.compareMarkdown-level diff between two revisions of the same page or atom. Returns segments (op: equal | insert | delete) plus both Markdown projections. | Not declared | Yes | Not declared | Not declared |
revisions.getFetch a specific revision (returns Markdown body). | Not declared | Yes | Not declared | Not declared |
revisions.listList revisions for a page or atom (cursor-paginated). | Not declared | Yes | Not declared | Not declared |
search.globalHybrid FTS + pgvector + RRF search. Returns Markdown excerpts. | Not declared | Yes | Not declared | Not declared |
search.literalExact-substring search over the Markdown projection of pages and atoms — deterministic, unlike hybrid `search.global`. A needle shorter than 3 characters is rejected. Returns one envelope per matched entity, up to 5 hits each as `{ line, col, snippet }`. `case_sensitive` defaults to false; `scope` is workspace | all_mine | all_public. Details: https://carbonforge.dev/docs/p/api/mcp-tools-catalog | Not declared | Yes | Not declared | Not declared |
trees.getRead 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 SHA-256, optionally under `path_prefix`. A symlink's blob is its target; a submodule link has no blob and gives its `commit`. With `lane`, `metadata` is the lane's bag if it sets one. Anonymous callers read a public code tree's current one. | Not declared | Yes | Not declared | Not declared |
workspaces.listList 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 workspace may still be outside this token's reach. Call cortex.ground for what this token can actually resolve. | Not declared | Yes | Not declared | Not declared |
workspaces.resolve_slugResolve a workspace slug to its id, role, and archived state. 404 when the caller isn't a member (no enumeration). | Not declared | Yes | Not declared | Not declared |
Details
- Registry status
- Active
- Published
- Oct 23, 2026
- Updated
- Oct 23, 2026
- Repository
- Not given
- Categories (suggested)
- Developer toolsSearch and webSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared