addrbookFor publishers
← The evidence ledger

Evidence row 569512

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 319af86c-7064-42a3-ac38-ca0b723d0c1c
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
8a8976448f8f8ffd22b048b6e84d17dfd9d6141d9a5913324d4d9f9a2f1cffaa
Leaf
0xd91e121d2c360200654e750c36f07046aae957afb3ac657eba0833903d31ecc2

What was observed

{
  "count": 22,
  "tools": [
    {
      "description": "List atoms in the current workspace. The `path_prefix`, `body_contains`, `metadata`, `sort`, `direction` and `include_metadata` arguments mirror the same arguments on pages.list.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "body_contains": {
            "maxLength": 200,
            "minLength": 3,
            "type": "string"
          },
          "cursor": {
            "maxLength": 2048,
            "minLength": 1,
            "type": "string"
          },
          "direction": {
            "description": "Direction for `sort`. Ascending by default.",
            "enum": [
              "asc",
              "desc"
            ],
            "type": "string"
          },
          "include_metadata": {
            "description": "Carry each entry's metadata object in the response. Off by default, because a metadata bag can be large and a listing is a scan surface.",
            "type": "boolean"
          },
          "instance": {
            "description": "Instance (slug or UUID) to resolve a `workspace` slug within. Only meaningful for apex tokens, which have no home instance; instance-locked tokens always resolve within their own.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          },
          "limit": {
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "metadata": {
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                },
                {
                  "type": "boolean"
                }
              ]
            },
            "description": "Keep only entries whose metadata contains every one of these keys with an equal value; a second key narrows the result. Values are strings, numbers or booleans, and the match is against top-level keys — a key nested inside an object does not answer it. At most 8 keys.",
            "propertyNames": {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            "type": "object"
          },
          "path_prefix": {
            "maxLength": 512,
            "type": "string"
          },
          "sort": {
            "description": "Order the listing by path (the default), last update, or creation time.",
            "enum": [
              "path",
              "updated_at",
              "created_at"
            ],
            "type": "string"
          },
          "workspace": {
            "description": "Workspace (slug or UUID) this call acts in. Overrides the per-token current-workspace pointer for this call only — read-only, it never moves the pointer. Omit to use the pointer set by `me.set_current_workspace`.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "atoms.list"
    },
    {
      "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 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.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "instance": {
            "description": "Instance (slug or UUID) to resolve a `workspace` slug within. Only meaningful for apex tokens, which have no home instance; instance-locked tokens always resolve within their own.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          },
          "lane": {
            "description": "A lane's label. On a write, the patch is stored on the lane, validated against the lane's view, and the trunk is not written. On a read, the body is the trunk's current body with the lane's patches applied, composed now; a conflict exists only where a patch no longer applies or its entity is gone; a moved section is noted in `sections_moved`. A conflicted read carries `conflict` and no body. Omit to act on the trunk.",
            "pattern": "^(?=.{1,255}$)[a-z0-9][a-z0-9._-]{0,127}(\\/[a-z0-9][a-z0-9._-]{0,127})*$",
            "type": "string"
          },
          "pathOrId": {
            "description": "Either the path of the page/atom (e.g. \"guides/foo\" — no leading slash, lowercase, slash-separated) or the UUID. Paths and UUIDs both resolve inside the workspace this call resolved to: the `workspace` argument when given, otherwise the token's current-workspace pointer.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "section": {
            "description": "A heading's plain text (case-insensitive, whitespace-trimmed). When given, the body returned is that heading and every block down to the next heading at the same or shallower level, instead of the whole document, and the result carries a `section` block naming the heading, its level and the match count. No heading of that text answers not_found; several answer validation.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "workspace": {
            "description": "Workspace (slug or UUID) this call acts in. Overrides the per-token current-workspace pointer for this call only — read-only, it never moves the pointer. Omit to use the pointer set by `me.set_current_workspace`.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          }
        },
        "required": [
          "pathOrId"
        ],
        "type": "object"
      },
      "name": "atoms.read"
    },
    {
      "description": "List the comment thread for a page or atom.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "instance": {
            "description": "Instance (slug or UUID) to resolve a `workspace` slug within. Only meaningful for apex tokens, which have no home instance; instance-locked tokens always resolve within their own.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          },
          "target_kind": {
            "enum": [
              "page",
              "atom"
            ],
            "type": "string"
          },
          "target_pathOrId": {
            "description": "Either the path of the page/atom (e.g. \"guides/foo\" — no leading slash, lowercase, slash-separated) or the UUID. Paths and UUIDs both resolve inside the workspace this call resolved to: the `workspace` argument when given, otherwise the token's current-workspace pointer.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "workspace": {
            "description": "Workspace (slug or UUID) this call acts in. Overrides the per-token current-workspace pointer for this call only — read-only, it never moves the pointer. Omit to use the pointer set by `me.set_current_workspace`.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          }
        },
        "required": [
          "target_kind",
          "target_pathOrId"
        ],
        "type": "object"
      },
      "name": "comments.list"
    },
    {
      "description": "Orientation 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",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "instance": {
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          },
          "known_grounding_at": {
            "description": "ISO-8601 timestamp of the instance grounding document you already hold; when it equals the stored document exactly, the reply acknowledges it as unchanged instead of resending the body, and any other value returns the body.",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
            "type": "string"
          },
          "known_workspace_grounding_at": {
            "description": "ISO-8601 timestamp of the resolved workspace grounding document you already hold; when it equals the stored document exactly, the reply acknowledges it as unchanged instead of resending the body, and any other value returns the body.",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
            "type": "string"
          },
          "workspace": {
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "cortex.ground"
    },
    {
      "description": "Browse 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",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "cursor": {
            "maxLength": 2048,
            "minLength": 1,
            "type": "string"
          },
          "filters": {
            "additionalProperties": false,
            "properties": {
              "author_id": {
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
                "type": "string"
              },
              "date_field": {
                "enum": [
                  "created",
                  "updated"
                ],
                "type": "string"
              },
              "date_from": {},
              "date_until": {},
              "metadata": {
                "additionalProperties": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "number"
                    },
                    {
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Keep only entries whose metadata contains every one of these keys with an equal value; a second key narrows the result. Values are strings, numbers or booleans, and the match is against top-level keys — a key nested inside an object does not answer it. At most 8 keys.",
                "propertyNames": {
                  "maxLength": 200,
                  "minLength": 1,
                  "type": "string"
                },
                "type": "object"
              },
              "tag_mode": {
                "enum": [
                  "and",
                  "or"
                ],
                "type": "string"
              },
              "tag_slugs": {
                "items": {
                  "maxLength": 80,
                  "minLength": 1,
                  "type": "string"
                },
                "maxItems": 20,
                "type": "array"
              },
              "visibility": {
                "enum": [
                  "inherit",
                  "private",
                  "any"
                ],
                "type": "string"
              }
            },
            "type": "object"
          },
          "instance": {
            "description": "Instance (slug or UUID) to resolve a `workspace` slug within. Only meaningful for apex tokens, which have no home instance; instance-locked tokens always resolve within their own.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          },
          "kind": {
            "enum": [
              "page",
              "atom"
            ],
            "type": "string"
          },
          "limit": {
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "q": {
            "maxLength": 200,
            "type": "string"
          },
          "sort": {
            "enum": [
              "alphabetical",
              "recently_updated",
              "recently_created",
              "most_starred"
            ],
            "type": "string"
          },
          "workspace": {
            "description": "Workspace (slug or UUID) this call acts in. Overrides the per-token current-workspace pointer for this call only — read-only, it never moves the pointer. Omit to use the pointer set by `me.set_current_workspace`.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          },
          "workspace_id": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          },
          "workspace_slug": {
            "maxLength": 30,
            "minLength": 3,
            "pattern": "^[a-z0-9](?:[a-z0-9-]{0,28}[a-z0-9])?$",
            "type": "string"
          }
        },
        "required": [
          "kind"
        ],
        "type": "object"
      },
      "name": "discovery.list_entities"
    },
    {
      "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 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.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "filter": {
            "enum": [
              "all",
              "public",
              "my",
              "my_admin"
            ],
            "type": "string"
          },
          "limit": {
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "query": {
            "maxLength": 200,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "discovery.list_instances"
    },
    {
      "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 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.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "filter": {
            "enum": [
              "all",
              "public",
              "my",
              "my_admin"
            ],
            "type": "string"
          },
          "instance_id": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          },
          "limit": {
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "query": {
            "maxLength": 200,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "discovery.list_workspaces"
    },
    {
      "description": "Search instance and workspace metadata + grounding documents. Returns parallel lists for both scopes.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "filter": {
            "enum": [
              "all",
              "public",
              "my",
              "my_admin"
            ],
            "type": "string"
          },
          "limit": {
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "q": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "scope": {
            "enum": [
              "instances",
              "workspaces",
              "both"
            ],
            "type": "string"
          }
        },
        "required": [
          "q"
        ],
        "type": "object"
      },
      "name": "discovery.search"
    },
    {
      "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 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.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "instance": {
            "description": "Instance (slug or UUID) to resolve a `workspace` slug within. Only meaningful for apex tokens, which have no home instance; instance-locked tokens always resolve within their own.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          },
          "lane": {
            "description": "A lane label. When given, every node carries `lane: { patched, conflict }` against that lane; a directory is marked when anything below it is. Members only.",
            "pattern": "^(?=.{1,255}$)[a-z0-9][a-z0-9._-]{0,127}(\\/[a-z0-9][a-z0-9._-]{0,127})*$",
            "type": "string"
          },
          "limit": {
            "description": "Nodes per page, default 100.",
            "maximum": 500,
            "minimum": 1,
            "type": "integer"
          },
          "offset": {
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "path": {
            "description": "A path in the workspace, e.g. \"repos/pilot/bin\": case kept, slash-separated, no leading slash. Omit or pass \"\" for the root.",
            "maxLength": 1024,
            "type": "string"
          },
          "perspective": {
            "description": "Only what this perspective holds (perspectives.list), at paths with its root stripped; an anonymous caller sees its public part. Not with surface.",
            "maxLength": 1100,
            "minLength": 1,
            "type": "string"
          },
          "surface": {
            "description": "Only entities whose metadata's surface is this one (a tree's files go with their tree).",
            "enum": [
              "code",
              "adr",
              "public-docs",
              "internal"
            ],
            "type": "string"
          },
          "workspace": {
            "description": "Workspace (slug or UUID) this call acts in. Overrides the per-token current-workspace pointer for this call only — read-only, it never moves the pointer. Omit to use the pointer set by `me.set_current_workspace`.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "files.list"
    },
    {
      "description": "Semantic nearest-neighbors via similarity_edges.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "instance": {
            "description": "Instance (slug or UUID) to resolve a `workspace` slug within. Only meaningful for apex tokens, which have no home instance; instance-locked tokens always resolve within their own.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          },
          "kind": {
            "enum": [
              "page",
              "atom"
            ],
            "type": "string"
          },
          "limit": {
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "pathOrId": {
            "description": "Either the path of the page/atom (e.g. \"guides/foo\" — no leading slash, lowercase, slash-separated) or the UUID. Paths and UUIDs both resolve inside the workspace this call resolved to: the `workspace` argument when given, otherwise the token's current-workspace pointer.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "workspace": {
            "description": "Workspace (slug or UUID) this call acts in. Overrides the per-token current-workspace pointer for this call only — read-only, it never moves the pointer. Omit to use the pointer set by `me.set_current_workspace`.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          }
        },
        "required": [
          "pathOrId",
          "kind"
        ],
        "type": "object"
      },
      "name": "kg.get_related"
    },
    {
      "description": "List incoming + outgoing cross-links for a page or atom.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "instance": {
            "description": "Instance (slug or UUID) to resolve a `workspace` slug within. Only meaningful for apex tokens, which have no home instance; instance-locked tokens always resolve within their own.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          },
          "kind": {
            "enum": [
              "page",
              "atom"
            ],
            "type": "string"
          },
          "pathOrId": {
            "description": "Either the path of the page/atom (e.g. \"guides/foo\" — no leading slash, lowercase, slash-separated) or the UUID. Paths and UUIDs both resolve inside the workspace this call resolved to: the `workspace` argument when given, otherwise the token's current-workspace pointer.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "workspace": {
            "description": "Workspace (slug or UUID) this call acts in. Overrides the per-token current-workspace pointer for this call only — read-only, it never moves the pointer. Omit to use the pointer set by `me.set_current_workspace`.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          }
        },
        "required": [
          "pathOrId",
          "kind"
        ],
        "type": "object"
      },
      "name": "kg.list_cross_links"
    },
    {
      "description": "Fetch metadata for a single media item.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "instance": {
            "description": "Instance (slug or UUID) to resolve a `workspace` slug within. Only meaningful for apex tokens, which have no home instance; instance-locked tokens always resolve within their own.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          },
          "media_id": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          },
          "workspace": {
            "description": "Workspace (slug or UUID) this call acts in. Overrides the per-token current-workspace pointer for this call only — read-only, it never moves the pointer. Omit to use the pointer set by `me.set_current_workspace`.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          }
        },
        "required": [
          "media_id"
        ],
        "type": "object"
      },
      "name": "media.read"
    },
    {
      "description": "List 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",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "body_contains": {
            "maxLength": 200,
            "minLength": 3,
            "type": "string"
          },
          "cursor": {
            "maxLength": 2048,
            "minLength": 1,
            "type": "string"
          },
          "direction": {
            "description": "Direction for `sort`. Ascending by default.",
            "enum": [
              "asc",
              "desc"
            ],
            "type": "string"
          },
          "include_metadata": {
            "description": "Carry each entry's metadata object in the response. Off by default, because a metadata bag can be large and a listing is a scan surface.",
            "type": "boolean"
          },
          "instance": {
            "description": "Instance (slug or UUID) to resolve a `workspace` slug within. Only meaningful for apex tokens, which have no home instance; instance-locked tokens always resolve within their own.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          },
          "limit": {
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "metadata": {
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                },
                {
                  "type": "boolean"
                }
              ]
            },
            "description": "Keep only entries whose metadata contains every one of these keys with an equal value; a second key narrows the result. Values are strings, numbers or booleans, and the match is against top-level keys — a key nested inside an object does not answer it. At most 8 keys.",
            "propertyNames": {
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            "type": "object"
          },
          "path_prefix": {
            "maxLength": 512,
            "type": "string"
          },
          "sort": {
            "description": "Order the listing by path (the default), last update, or creation time.",
            "enum": [
              "path",
              "updated_at",
              "created_at"
            ],
            "type": "string"
          },
          "workspace": {
            "description": "Workspace (slug or UUID) this call acts in. Overrides the per-token current-workspace pointer for this call only — read-only, it never moves the pointer. Omit to use the pointer set by `me.set_current_workspace`.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "pages.list"
    },
    {
      "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 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",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "instance": {
            "description": "Instance (slug or UUID) to resolve a `workspace` slug within. Only meaningful for apex tokens, which have no home instance; instance-locked tokens always resolve within their own.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          },
          "lane": {
            "description": "A lane's label. On a write, the patch is stored on the lane, validated against the lane's view, and the trunk is not written. On a read, the body is the trunk's current body with the lane's patches applied, composed now; a conflict exists only where a patch no longer applies or its entity is gone; a moved section is noted in `sections_moved`. A conflicted read carries `conflict` and no body. Omit to act on the trunk.",
            "pattern": "^(?=.{1,255}$)[a-z0-9][a-z0-9._-]{0,127}(\\/[a-z0-9][a-z0-9._-]{0,127})*$",
            "type": "string"
          },
          "pathOrId": {
            "description": "Either the path of the page/atom (e.g. \"guides/foo\" — no leading slash, lowercase, slash-separated) or the UUID. Paths and UUIDs both resolve inside the workspace this call resolved to: the `workspace` argument when given, otherwise the token's current-workspace pointer.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "section": {
            "description": "A heading's plain text (case-insensitive, whitespace-trimmed). When given, the body returned is that heading and every block down to the next heading at the same or shallower level, instead of the whole document, and the result carries a `section` block naming the heading, its level and the match count. No heading of that text answers not_found; several answer validation.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "workspace": {
            "description": "Workspace (slug or UUID) this call acts in. Overrides the per-token current-workspace pointer for this call only — read-only, it never moves the pointer. Omit to use the pointer set by `me.set_current_workspace`.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          }
        },
        "required": [
          "pathOrId"
        ],
        "type": "object"
      },
      "name": "pages.read"
    },
    {
      "description": "Markdown-level diff between two revisions of the same page or atom. Returns segments (op: equal | insert | delete) plus both Markdown projections.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "instance": {
            "description": "Instance (slug or UUID) to resolve a `workspace` slug within. Only meaningful for apex tokens, which have no home instance; instance-locked tokens always resolve within their own.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          },
          "kind": {
            "enum": [
              "page",
              "atom"
            ],
            "type": "string"
          },
          "pathOrId": {
            "description": "Either the path of the page/atom (e.g. \"guides/foo\" — no leading slash, lowercase, slash-separated) or the UUID. Paths and UUIDs both resolve inside the workspace this call resolved to: the `workspace` argument when given, otherwise the token's current-workspace pointer.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "revision_a_id": {
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "revision_b_id": {
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "workspace": {
            "description": "Workspace (slug or UUID) this call acts in. Overrides the per-token current-workspace pointer for this call only — read-only, it never moves the pointer. Omit to use the pointer set by `me.set_current_workspace`.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          }
        },
        "required": [
          "kind",
          "pathOrId",
          "revision_a_id",
          "revision_b_id"
        ],
        "type": "object"
      },
      "name": "revisions.compare"
    },
    {
      "description": "Fetch a specific revision (returns Markdown body).",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "instance": {
            "description": "Instance (slug or UUID) to resolve a `workspace` slug within. Only meaningful for apex tokens, which have no home instance; instance-locked tokens always resolve within their own.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          },
          "kind": {
            "enum": [
              "page",
              "atom"
            ],
            "type": "string"
          },
          "pathOrId": {
            "description": "Either the path of the page/atom (e.g. \"guides/foo\" — no leading slash, lowercase, slash-separated) or the UUID. Paths and UUIDs both resolve inside the workspace this call resolved to: the `workspace` argument when given, otherwise the token's current-workspace pointer.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "revision_id": {
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "workspace": {
            "description": "Workspace (slug or UUID) this call acts in. Overrides the per-token current-workspace pointer for this call only — read-only, it never moves the pointer. Omit to use the pointer set by `me.set_current_workspace`.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          }
        },
        "required": [
          "kind",
          "pathOrId",
          "revision_id"
        ],
        "type": "object"
      },
      "name": "revisions.get"
    },
    {
      "description": "List revisions for a page or atom (cursor-paginated).",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "cursor": {
            "maxLength": 2048,
            "minLength": 1,
            "type": "string"
          },
          "instance": {
            "description": "Instance (slug or UUID) to resolve a `workspace` slug within. Only meaningful for apex tokens, which have no home instance; instance-locked tokens always resolve within their own.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          },
          "kind": {
            "enum": [
              "page",
              "atom"
            ],
            "type": "string"
          },
          "limit": {
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "pathOrId": {
            "description": "Either the path of the page/atom (e.g. \"guides/foo\" — no leading slash, lowercase, slash-separated) or the UUID. Paths and UUIDs both resolve inside the workspace this call resolved to: the `workspace` argument when given, otherwise the token's current-workspace pointer.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "workspace": {
            "description": "Workspace (slug or UUID) this call acts in. Overrides the per-token current-workspace pointer for this call only — read-only, it never moves the pointer. Omit to use the pointer set by `me.set_current_workspace`.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          }
        },
        "required": [
          "kind",
          "pathOrId"
        ],
        "type": "object"
      },
      "name": "revisions.list"
    },
    {
      "description": "Hybrid FTS + pgvector + RRF search. Returns Markdown excerpts.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "cursor": {
            "maxLength": 2048,
            "minLength": 1,
            "type": "string"
          },
          "instance": {
            "description": "Instance (slug or UUID) to resolve a `workspace` slug within. Only meaningful for apex tokens, which have no home instance; instance-locked tokens always resolve within their own.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          },
          "limit": {
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "perspective": {
            "description": "Only this workspace's pages and atoms the perspective holds (perspectives.list), at paths with its root stripped.",
            "maxLength": 1100,
            "minLength": 1,
            "type": "string"
          },
          "q": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "scope": {
            "enum": [
              "workspace",
              "all_mine",
              "all_public"
            ],
            "type": "string"
          },
          "workspace": {
            "description": "Workspace (slug or UUID) this call acts in. Overrides the per-token current-workspace pointer for this call only — read-only, it never moves the pointer. Omit to use the pointer set by `me.set_current_workspace`.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          }
        },
        "required": [
          "q"
        ],
        "type": "object"
      },
      "name": "search.global"
    },
    {
      "description": "Exact-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",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "case_sensitive": {
            "type": "boolean"
          },
          "context_lines": {
            "maximum": 5,
            "minimum": 0,
            "type": "integer"
          },
          "cursor": {
            "maxLength": 2048,
            "minLength": 1,
            "type": "string"
          },
          "instance": {
            "description": "Instance (slug or UUID) to resolve a `workspace` slug within. Only meaningful for apex tokens, which have no home instance; instance-locked tokens always resolve within their own.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          },
          "kinds": {
            "items": {
              "enum": [
                "page",
                "atom"
              ],
              "type": "string"
            },
            "maxItems": 2,
            "minItems": 1,
            "type": "array"
          },
          "limit": {
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "q": {
            "maxLength": 200,
            "minLength": 3,
            "type": "string"
          },
          "scope": {
            "enum": [
              "workspace",
              "all_mine",
              "all_public"
            ],
            "type": "string"
          },
          "workspace": {
            "description": "Workspace (slug or UUID) this call acts in. Overrides the per-token current-workspace pointer for this call only — read-only, it never moves the pointer. Omit to use the pointer set by `me.set_current_workspace`.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          }
        },
        "required": [
          "q"
        ],
        "type": "object"
      },
      "name": "search.literal"
    },
    {
      "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 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.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "instance": {
            "description": "Instance (slug or UUID) to resolve a `workspace` slug within. Only meaningful for apex tokens, which have no home instance; instance-locked tokens always resolve within their own.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          },
          "lane": {
            "description": "A lane's label. On a write, the change is stored on the lane — a tree as a manifest delta, a library entry as a blob reference — and the trunk is not written. On a read, the trunk's current state with the lane's patches applied, composed now; where the trunk has moved an entry a lane patch touched, the result carries `conflict` and no entries. Omit to act on the trunk.",
            "pattern": "^(?=.{1,255}$)[a-z0-9][a-z0-9._-]{0,127}(\\/[a-z0-9][a-z0-9._-]{0,127})*$",
            "type": "string"
          },
          "limit": {
            "maximum": 1000,
            "minimum": 1,
            "type": "integer"
          },
          "offset": {
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "path_or_id": {
            "description": "The tree's path or its UUID.",
            "maxLength": 1024,
            "minLength": 1,
            "type": "string"
          },
          "path_prefix": {
            "maxLength": 1024,
            "type": "string"
          },
          "revision_id": {
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "snapshot_id": {
            "description": "Read the revision this snapshot names (snapshots.cut); not with revision_id or lane.",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          },
          "workspace": {
            "description": "Workspace (slug or UUID) this call acts in. Overrides the per-token current-workspace pointer for this call only — read-only, it never moves the pointer. Omit to use the pointer set by `me.set_current_workspace`.",
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          }
        },
        "required": [
          "path_or_id"
        ],
        "type": "object"
      },
      "name": "trees.get"
    },
    {
      "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 workspace may still be outside this token's reach. Call cortex.ground for what this token can actually resolve.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "workspaces.list"
    },
    {
      "description": "Resolve a workspace slug to its id, role, and archived state. 404 when the caller isn't a member (no enumeration).",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "instance": {
            "maxLength": 36,
            "minLength": 3,
            "type": "string"
          },
          "slug": {
            "maxLength": 30,
            "minLength": 3,
            "pattern": "^[a-z0-9](?:[a-z0-9-]{0,28}[a-z0-9])?$",
            "type": "string"
          }
        },
        "required": [
          "slug"
        ],
        "type": "object"
      },
      "name": "workspaces.resolve_slug"
    }
  ]
}

What the leaf hashes

{"body":"8a8976448f8f8ffd22b048b6e84d17dfd9d6141d9a5913324d4d9f9a2f1cffaa","id":569512,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793139390009582,"prev":null,"subject":"319af86c-7064-42a3-ac38-ca0b723d0c1c","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).

  1. 0xd91eb00476ec4d6c1deaec8468c69e0bb509e6fee51ae57e332d0a71723cf38c
  2. 0x586392a49fdb7355d338e3673e5a173b10e58043130e8b45f96a733fdcb4f91f
  3. 0xe844ca1ee6ed8b91d1a0c848b40f1abfcff585b7708f654002b3e88d4052321e
  4. 0xc58ec2ecc1b9aeca7ec688ec409f9b4edafaa2e71b477ca5348f42b554fcf3a6
  5. 0xc5a4d088d07a3566d26960eac97aefe26db6a8da4f361eb31fffba37ece58972
  6. 0x22b5ce47d4973347f5a3147f931b4d6f2ccd55dd934dbec82bd7972374aae540
  7. 0xb95c0de9e7000a207faed31368a85e1caf4c66f4be10fa11ea5edfa7ce2f5656
  8. 0x99ad198e1201618d7433ff7bfaf9d7a322f9fff298966738c289be33c05e0807
  9. 0xdf2347e2851ebac990c238bb55712a49f1ed7dae270c127269461db7a860b13c
  10. 0x2c49e7f47033c6b099b0d50cc06df345398685d0c02e89c800c81e1cee1393d3
  11. 0x7f6de085812928d3d7f3b15191238d47e17ef53dc519c83f30704118bb423398
  12. 0x29ce226640d83db3bc63fef23427a7af561200d30ffde9b1b7a61b814b844a39
  13. 0x13692b463800846f580925c8ea49b43f92b7df3f9e8d32b8a18802640cca3780
  14. 0xd59f3e577867f5105dd7f75598f16da8286185e426dfcdafb84e733fde2b2492
  15. 0x24e3e2bb8ee1e8d20756de35f0e0c4ec8eb1f193bd2cf3f077ee1f92f211c34d
  16. 0x8745bd887f5ce9f7a49558fd2b04cdcd97a05ea9f8a23f62d0e80cb13d328b0f
  17. 0xdf1105afdc109de3c09a98fc8a3864159ad964e6f49b635c105a27a1e1f14310
  18. 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON