{"data":{"name":"app.factograph/factograph","title":"FactoGraph","description":"Memory for AI agents: facts a person approved, each with a link, and answers that cite them.","version":"0.2.0","websiteUrl":"https://www.factograph.app/for-ai-agents.html","repositoryUrl":null,"remotes":[{"url":"https://api.factograph.app/api/mcp","type":"streamable-http"},{"url":"https://api.factograph.app/api/k/{store_id}/mcp","type":"streamable-http","variables":{"store_id":{"isSecret":true,"isRequired":true,"description":"Your store's id, from its private link https://api.factograph.app/api/k/<id>. The first connector's createStore makes one."}}}],"packages":[],"status":"active","isLatest":true,"publishedAt":"2026-10-21T10:04:39.050Z","updatedAt":"2026-10-21T10:04:39.050Z","source":"official-registry","verification":"official","confidence":100,"stars":null,"sources":[{"stars":null,"title":"FactoGraph","source":"official-registry","sourceId":"app.factograph/factograph","updatedAt":"2026-10-21T10:04:39.050Z","confidence":100,"websiteUrl":"https://www.factograph.app/for-ai-agents.html","description":"Memory for AI agents: facts a person approved, each with a link, and answers that cite them.","verification":"official","repositoryUrl":null}],"toolIndex":{"tools":[{"serverName":"app.factograph/factograph","endpointFingerprint":"c9237fc26c781f327b53dc218f25e54ac7b65e726750b334d7fe339abb2ee4bc","name":"ask","title":"Ask a store","description":"Ask a question; the store answers only from its facts, each claim linked to its fact, and checks the answer against them. Stores nothing. Returns the step's state: `waiting` (a prompt to do and answer with replyToPrompt), `running` (call getStep), `done` (do what `next` says) or `failed`.","inputSchema":{"type":"object","properties":{"store":{"type":"string","description":"The store's link, as the person gave it: a public link (https://.../api/p/<id> or https://.../#/public/<id>, or its public id) or the person's private link (https://.../api/k/<id> or https://.../#/store/<id>). Leave it out to read the FactoGraph guide, a public store about FactoGraph itself."},"question":{"type":"string","description":"The person's question."}},"required":["question"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"0356205db2fe1c20e874289ab05d1f7cd947a69a68adfeb2660744da8fc24c15","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:22.065Z","metadataTrust":"untrusted"},{"serverName":"app.factograph/factograph","endpointFingerprint":"c9237fc26c781f327b53dc218f25e54ac7b65e726750b334d7fe339abb2ee4bc","name":"createStore","title":"Make a store for the person","description":"A new, empty FactoGraph store of the person's own: its private link, which these tools take as `store`. Only after the person said yes to having one. Nothing is stored until the link is first opened. The link is the store's key: give it to them once, and never put it anywhere public.","inputSchema":{"type":"object","properties":{"person_agreed":{"type":"boolean","description":"true: the person asked for a store, or said yes when you offered one."}},"required":["person_agreed"]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"b6363b43908d185f7bb274d731b63e52b2fb35a50c5b5b7634c63036a303b325","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:22.065Z","metadataTrust":"untrusted"},{"serverName":"app.factograph/factograph","endpointFingerprint":"c9237fc26c781f327b53dc218f25e54ac7b65e726750b334d7fe339abb2ee4bc","name":"getManual","title":"Read a store's manual","description":"The store's manual - how to run its steps and cite its facts - and what it holds: how many facts, from which sources. Read it before the store's other tools, and follow it.","inputSchema":{"type":"object","properties":{"store":{"type":"string","description":"The store's link, as the person gave it: a public link (https://.../api/p/<id> or https://.../#/public/<id>, or its public id) or the person's private link (https://.../api/k/<id> or https://.../#/store/<id>). Leave it out to read the FactoGraph guide, a public store about FactoGraph itself."}},"required":[]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"49d4d0f726d5c8cd1f5921c7b9a17c88981abfeafcbd6422037a435eb377f8a5","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:22.065Z","metadataTrust":"untrusted"},{"serverName":"app.factograph/factograph","endpointFingerprint":"c9237fc26c781f327b53dc218f25e54ac7b65e726750b334d7fe339abb2ee4bc","name":"getStep","title":"Follow a step","description":"Where a running step is now: its next prompt, or its result.","inputSchema":{"type":"object","properties":{"store":{"type":"string","description":"The store's link, as the person gave it: a public link (https://.../api/p/<id> or https://.../#/public/<id>, or its public id) or the person's private link (https://.../api/k/<id> or https://.../#/store/<id>). Leave it out to read the FactoGraph guide, a public store about FactoGraph itself."},"run_id":{"type":"string","description":"The step's run_id."}},"required":["run_id"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"df3b56b4fbdc25ffa0bc1bf51a147a5df9478559690189dd766e6cc8df1c6b90","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:22.065Z","metadataTrust":"untrusted"},{"serverName":"app.factograph/factograph","endpointFingerprint":"c9237fc26c781f327b53dc218f25e54ac7b65e726750b334d7fe339abb2ee4bc","name":"listFacts","title":"List every fact","description":"Every fact in the store, numbered, each number a link to the fact. Cite a fact as its number with its link, [F3](<link>).","inputSchema":{"type":"object","properties":{"store":{"type":"string","description":"The store's link, as the person gave it: a public link (https://.../api/p/<id> or https://.../#/public/<id>, or its public id) or the person's private link (https://.../api/k/<id> or https://.../#/store/<id>). Leave it out to read the FactoGraph guide, a public store about FactoGraph itself."}},"required":[]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"88e54539e5919f3e31b63934f04b90e5b57c62051169c9a2be9b0da80af74d5b","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:22.065Z","metadataTrust":"untrusted"},{"serverName":"app.factograph/factograph","endpointFingerprint":"c9237fc26c781f327b53dc218f25e54ac7b65e726750b334d7fe339abb2ee4bc","name":"replyToPrompt","title":"Answer a step's prompt","description":"Answer the prompt a step is waiting on - do the model work in its `system` and `messages` first. Keep answering until the step is done or failed.","inputSchema":{"type":"object","properties":{"store":{"type":"string","description":"The store's link, as the person gave it: a public link (https://.../api/p/<id> or https://.../#/public/<id>, or its public id) or the person's private link (https://.../api/k/<id> or https://.../#/store/<id>). Leave it out to read the FactoGraph guide, a public store about FactoGraph itself."},"run_id":{"type":"string","description":"The step's run_id."},"call_id":{"type":"string","description":"The prompt's call_id."},"reply":{"type":"string","description":"Your answer: the JSON object the reply_schema asks for, written as JSON text - or plain text when there is no schema."}},"required":["run_id","call_id","reply"]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false},"definitionHash":"e6598ce48c7c886d9ccde948098253407297c651b003cb22c8d27de5383ddb9c","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:22.065Z","metadataTrust":"untrusted"},{"serverName":"app.factograph/factograph","endpointFingerprint":"c9237fc26c781f327b53dc218f25e54ac7b65e726750b334d7fe339abb2ee4bc","name":"startStep","title":"Start a step in the person's store","description":"Start a step - propose, add, documents, ask or remove - in a private store, with its JSON body, as the manual says. propose stores nothing; add stores only facts the person approved, with propose's proposal_id and their reply as confirmation; remove deletes only with confirm true, after the person confirmed. Returns the step's state: `waiting` (a prompt to do and answer with replyToPrompt), `running` (call getStep), `done` (do what `next` says) or `failed`.","inputSchema":{"type":"object","properties":{"store":{"type":"string","description":"The person's private store link, as they gave it: https://.../api/k/<id> or https://.../#/store/<id>. Public links are read-only."},"step":{"type":"string","enum":["propose","add","documents","ask","remove"],"description":"The step to run."},"body":{"type":"object","properties":{"text":{"type":"string","description":"propose: the person's message. documents: the document's text, or one part of it - at most the manual's per-call limit; longer text goes in parts."},"title":{"type":"string","description":"documents: the document's title."},"part_of":{"type":"string","description":"documents: the first part's document_id, for every later part. Send parts in order, one at a time, each after the previous part's result."},"question":{"type":"string","description":"ask: the question."},"facts":{"type":"array","items":{"type":"string"},"description":"add: the approved facts. remove: fact ids, F<n> numbers or exact words."},"proposal_id":{"type":"string","description":"add: from propose's result."},"confirmation":{"type":"string","description":"add: the person's approving reply, quoted."},"conversation_id":{"type":"string","description":"add: from propose's result."},"replace":{"type":"array","items":{"type":"string"},"description":"add: stored fact ids the person chose to replace."},"keep_both":{"type":"array","items":{"type":"array","items":{"type":"string"}},"description":"add: [new fact, stored fact] pairs the person says are both true."},"confirm":{"type":"boolean","description":"remove: true to delete, after the person confirmed."}}}},"required":["store","step","body"]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false},"definitionHash":"cd76ae7fa676dc23bb2a077d3ebf138e1cf65cb347541765e7a358f76c33fe12","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:22.065Z","metadataTrust":"untrusted"}],"endpoints":[{"endpointFingerprint":"c9237fc26c781f327b53dc218f25e54ac7b65e726750b334d7fe339abb2ee4bc","protocol":"streamable-http","status":"indexed","toolCount":7,"observedAt":"2026-11-02T20:46:22.065Z"},{"endpointFingerprint":"f1e0a405c7e4151bed2be3f561fea65d20842800ef5343b7594b429427f932fa","protocol":"streamable-http","status":"unavailable","toolCount":0,"observedAt":"2026-11-02T20:46:22.191Z"}],"authentication":"unknown"},"connectionConfigurations":{"status":"ready","authentication":"not embedded","clients":{"Claude Desktop":{"mcpServers":{"app.factograph/factograph":{"url":"https://api.factograph.app/api/mcp"}}},"Cursor":{"mcpServers":{"app.factograph/factograph":{"url":"https://api.factograph.app/api/mcp"}}},"VS Code":{"servers":{"app.factograph/factograph":{"type":"http","url":"https://api.factograph.app/api/mcp"}}}}},"resourceType":"mcp-server","callable":true,"runtime":{"callable":true,"protocols":["mcp"]},"interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://api.factograph.app/api/mcp"},{"protocol":"mcp","transport":"streamable-http","url":"https://api.factograph.app/api/k/{store_id}/mcp"}],"profile":{"apiVersion":"1","schemaVersion":"1","id":"mcp-server:app.factograph%2Ffactograph","resourceType":"mcp-server","canonicalUrl":"https://www.agentsjunction.com/api/v1/servers/app.factograph%2Ffactograph","name":"app.factograph/factograph","description":"Memory for AI agents: facts a person approved, each with a link, and answers that cite them.","interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://api.factograph.app/api/mcp"},{"protocol":"mcp","transport":"streamable-http","url":"https://api.factograph.app/api/k/{store_id}/mcp"}],"capabilities":[],"identity":{"source":"official-registry","websiteUrl":"https://www.factograph.app/for-ai-agents.html","repositoryUrl":null,"version":"0.2.0"},"verification":{"state":"official","confidence":100},"operations":{"resourceType":"mcp-server","name":"app.factograph/factograph","status":"degraded","lastCheckedAt":"2026-11-03T19:17:51.426Z","lastSuccessfulCheck":null,"latencyMs":278,"consecutiveFailures":65,"isStale":false,"checks":{"endpointReachable":true,"protocolValid":false,"agentCardValid":null,"mcpHandshakeValid":false},"lastSeen":null,"lastSuccessfulInteraction":null,"lastHealthCheck":"2026-11-03T19:17:51.426Z","source":{"type":"health-check","url":null},"observedAt":"2026-11-03T19:17:51.426Z"},"security":null,"timestamps":{"createdAt":"2026-10-21T10:04:39.050Z","updatedAt":"2026-10-21T10:04:39.050Z","observedAt":"2026-11-03T19:17:51.426Z"},"compatibility":{"serverVersion":"0.2.0","protocolVersions":[{"protocol":"mcp","version":null}]}}}}