{"apiVersion":"v1","directorySlug":"bitgraph-mcp-5c8d786e34","title":"BitGraph","description":"BitGraph gives an AI audit record a position its producer could not choose: a portable BitGraph that commits the exact record, sits after a public Base block, and verifies offline. It works beside the audit system you already run.","pageUrl":"https://www.mcpbundles.com/skills/bitgraph-mcp-5c8d786e34","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://bitgraph.ing/mcp","hostedMcpUrl":null,"toolCount":4,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"ing.bitgraph/bitgraph-mcp-5c8d786e34","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"bitgraph_open","description":"Step one of making a BitGraph, for a caller that holds the files: open a position and get, per file, the recipe to build its new fused file locally. Everything opened in one call is ONE BitGraph: the files share a single position and become one Merkle tree (tree/1), each file a leaf; a single file is a tree of one. Open a batch together, never one file at a time. Send, per file, its name, exact byte size and SHA-256 digest (base64, either form), plus head_base64: the file's first 16 bytes (the w","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"again":{"type":"boolean","default":false},"files":{"type":"array","items":{"type":"object","required":["name","size","digest"],"properties":{"name":{"type":"string","maxLength":255,"minLength":1},"size":{"type":"integer","maximum":8589934591,"minimum":0},"as_is":{"type":"boolean"},"digest":{"type":"string","maxLength":100,"minLength":1},"head_base64":{"type":"string","maxLength":88}}},"maxItems":40},"response_format":{"enum":["markdown","json"],"type":"string","default":"markdown"}}},"title":"Make a BitGraph: open","logicalName":"bitgraph_open","displayName":"Make a BitGraph: open","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"bitgraph_commit","description":"Step two of making a BitGraph: commit the new files built from bitgraph_open recipes. Send, per file, the fuse_token from bitgraph_open and the SHA-256 digest (base64) of the new file you built from its recipe. Send every file opened together in ONE call: they share a position and become one BitGraph, and it is whatever this call carries. Every file becomes a leaf of one Merkle tree (tree/1; a single file is a tree of one): the tree is built here from the digests, its root document is committed","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["entries"],"properties":{"entries":{"type":"array","items":{"type":"object","required":["fuse_token","artifact_digest"],"properties":{"carry":{"enum":["base64url"],"type":"string"},"fuse_token":{"type":"string","maxLength":8000,"minLength":1},"artifact_digest":{"type":"string","maxLength":100,"minLength":1}}},"maxItems":40,"minItems":1},"response_format":{"enum":["markdown","json"],"type":"string","default":"markdown"}}},"title":"Make a BitGraph: commit","logicalName":"bitgraph_commit","displayName":"Make a BitGraph: commit","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"bitgraph_check","description":"Check whether BitGraph's copy holds a proof for these SHA-256 digests (recordings and anchors), without recording anything. A miss is not a finding: a proof may live only with its holder. A digest is the SHA-256 of the file's bytes, base64-encoded (standard or URL-safe form both accepted), e.g. shell: openssl dgst -sha256 -binary FILE | base64 · python: base64.b64encode(hashlib.sha256(data).digest()).decode(). Returns, per digest: on_record (the bytes are on record, as an exact recording, as the","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["digests"],"properties":{"digests":{"type":"array","items":{"type":"string","maxLength":100,"minLength":1},"maxItems":500,"minItems":1},"response_format":{"enum":["markdown","json"],"type":"string","default":"markdown"}}},"title":"Check for BitGraphs","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"bitgraph_check","displayName":"Check for BitGraphs"},{"name":"bitgraph_get_proof","description":"Fetch a BitGraph proof from BitGraph's copy (a recording or an anchor) and its context: its position, every position the copy holds for the same bytes, and its floor ('placed no earlier than Base block X', or an Ethereum block on earlier proofs). Look up by digest (base64, either form) or by BitGraph number (e.g. '4523' or '#4,523', current epoch). Exactly one of digest or number is required. Read-only. markdown returns a summary; json returns the full proof object with positions and its floor.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"epoch":{"type":"string"},"digest":{"type":"string","maxLength":100,"minLength":1},"number":{"type":"string","maxLength":30,"minLength":1},"counter":{"type":"string"},"response_format":{"enum":["markdown","json"],"type":"string","default":"markdown"}}},"title":"Get a BitGraph proof","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"bitgraph_get_proof","displayName":"Get a BitGraph proof"}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=BitGraph&config=eyJ1cmwiOiAiaHR0cHM6Ly9iaXRncmFwaC5pbmcvbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22BitGraph%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fbitgraph.ing%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22BitGraph%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fbitgraph.ing%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=BitGraph&connectorUrl=https%3A%2F%2Fbitgraph.ing%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"BitGraph\" --url \"https://bitgraph.ing/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/bitgraph-mcp-5c8d786e34","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/bitgraph-mcp-5c8d786e34/tools/{tool}","mcpServerUrl":"https://bitgraph.ing/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/bitgraph-mcp-5c8d786e34?live=1"}