<!-- Full-page Markdown export (rendered HTML → GFM). Source: https://neotoma.io/pt/neotoma-with-claude Generated: 2026-04-26T19:09:47.945Z --> # Neotoma with Claude Claude's platform apps (claude.ai on web, the iOS/Android apps, and the desktop app) offer conversation memory and project-scoped files within Anthropic's ecosystem. Neotoma adds structured, deterministic memory that persists across all your tools and sessions. Looking for Claude Code (the local CLI)? See [Neotoma with Claude Code](/neotoma-with-claude-code). Building with the Agent SDK or Managed Agents? See [Memory infrastructure for Claude agents](/neotoma-with-claude-agent-sdk). ## Setup overview Start with [evaluation](/evaluate). Once Neotoma has been evaluated, installed if needed, and activated with your first stored data, reliable Claude usage requires four more steps: connect the MCP server, set tool permissions, create a Project, and add routing instructions. Each step builds on the previous one. 1. Connect the Neotoma MCP server 2. Set tool permissions to “Always allow” 3. Create a Claude Project for Neotoma-backed work 4. Add project instructions that route queries to Neotoma * * * ## Step 1: Connect the Neotoma MCP server Choose a connection method based on your setup. Claude Desktop uses local stdio; claude.ai uses remote MCP over HTTPS. [Claude Desktop (local stdio)Run Neotoma on the same machine. No API server or tunnel required.](/neotoma-with-claude-connect-desktop) [claude.ai (remote MCP)Expose Neotoma over HTTPS via tunnel and connect from claude.ai settings.](/neotoma-with-claude-connect-remote-mcp) After connecting, verify the connector appears in **Settings → Connectors** and shows a “Connected” state. You should see Neotoma listed with its tools. * * * ## Step 2: Set tool permissions By default Claude may ask for permission before using connector tools, which breaks automatic retrieval. Set all Neotoma tools to always run without prompting: 1. Open [Settings → Connectors](https://claude.ai/customize/connectors) 2. Click **Neotoma** in the connector list 3. Under **Tool permissions**, set the dropdown for **Other tools** to **Always allow** This ensures Claude can call Neotoma tools (retrieve, store, search) without interrupting you for approval each time. * * * ## Step 3: Create a Claude Project Claude [Projects](https://www.anthropic.com/news/projects) let you attach persistent instructions that apply to every chat inside the project. This is the only way to give Claude standing orders on claude.ai without repeating them each conversation. 1. In the Claude sidebar, click **Projects** → **Create project** 2. Name it something like **Neotoma workspace** (or whatever fits your use case) 3. Open the project. All new chats started inside it will inherit its instructions **Why a Project?** Without a Project, Claude has no persistent instruction surface. You would need to paste routing instructions at the start of every new chat, and Claude may still fall back to its own memory for queries that Neotoma should handle. * * * ## Step 4: Add project instructions Open your project's settings and paste the following into the **Custom instructions** field. This tells Claude to route all factual retrieval through Neotoma and refuse to answer from internal memory alone. Code snippet Copy the exact snippet shown below. ``` For any request that depends on stored facts, history, lists, counts, records, timelines, prior work, or "what do you know / show me / list / summarize": 1. Call Neotoma MCP tools before answering. 2. Do not answer from Claude memory or chat history alone. 3. If Neotoma is unavailable or tool call fails, respond: "Neotoma retrieval failed: <error>. Please check the connector." 4. If no matching records are found, say so explicitly and stop. 5. Every factual claim must be traceable to Neotoma tool output from this turn. ``` This is a fail-closed policy: if Neotoma is unreachable, Claude says so instead of guessing from chat history. You can customize the wording, but the key constraints are: - →Tool-first: Neotoma is called before composing a response - →No silent fallback: Claude does not substitute its own memory - →Grounded output: every fact traces to a tool call in the current turn * * * ## Verify the setup Start a new chat inside the project and test with a query like: Code snippet Copy the exact snippet shown below. ``` show me all my posts ``` Claude should call Neotoma tools before answering. Look for tool-use indicators (e.g. “Ran commands, used Neotoma integration”) in the response. If Claude answers from memory instead, check that: - →The chat is inside the project (not a standalone conversation) - →The connector shows "Connected" in Settings → Connectors - →Tool permissions are set to "Always allow" - →The project instructions are saved (not just drafted) * * * ## What Claude's platform provides - →[Conversation memory](https://support.anthropic.com/en/articles/11817273-how-does-claude-s-memory-work) (saved memories and chat history that persist across sessions on all plans) - →[Projects](https://www.anthropic.com/news/projects) (organize chats with scoped documents and custom instructions, 200K context window) - →Artifacts for generated documents and code - →MCP server connections via [Claude Desktop](https://modelcontextprotocol.io/docs/develop/connect-local-servers) and claude.ai (remote MCP) - →The [Memory Tool](https://docs.claude.com/en/docs/build-with-claude/memory-tool) (API beta) for agents built with the Agent SDK, which exposes a client-side `/memories` file directory for lightweight cross-session state * * * ## What the platform doesn't handle - ×Structured entity resolution across conversations and projects - ×Persistent memory that survives session resets and model updates. Claude's [memory](https://support.anthropic.com/en/articles/11817273-how-does-claude-s-memory-work) stores preferences but not structured, schema-bound entities - ×Cross-tool access; data stays inside Claude's ecosystem - ×Deterministic state reconstruction from recorded observations - ×Schema validation or append-only guarantees for the Memory Tool's `/memories` files. It is a useful scratchpad, but files can be silently overwritten and there is no field-level provenance. See [Memory infrastructure for Claude agents](/neotoma-with-claude-agent-sdk) for the comparison in detail. * * * ## Deterministic guarantees Neotoma provides - →Structured entities with canonical IDs that persist across all sessions - →Deterministic state evolution: same observations always produce the same result - →Full provenance and audit trail for every stored fact - →Cross-tool continuity: memory is shared with Claude Code, Cursor, Codex, and ChatGPT * * * ## Using them together Keep Claude's memory and projects on. They handle conversational context and preferences; Neotoma handles structured state. Both are active simultaneously with no conflict. | Concern | Claude | Neotoma | | --- | --- | --- | | Conversation preferences | Memory | \- | | Project-scoped documents & instructions | Projects | \- | | Structured entities (people, tasks, decisions) | \- | Store via MCP | | Cross-tool state | \- | Shared memory graph | | Versioned history & audit trail | \- | Observation history | * * * ## Claude documentation - →[Memory in Claude](https://support.anthropic.com/en/articles/11817273-how-does-claude-s-memory-work) (saved memories and chat history) - →[Projects](https://www.anthropic.com/news/projects) (scoped documents and custom instructions) - →[MCP in Claude Desktop](https://modelcontextprotocol.io/docs/develop/connect-local-servers) (connecting local MCP servers) - →[Context management](https://www.anthropic.com/news/context-management) (developer platform memory tool) * * * ## Before and after: Claude with Neotoma “Continue where we left off yesterday.” Without Neotoma Resuming based on thread from two weeks ago. With Neotoma Resuming yesterday’s thread on the migration plan. 3 open tasks remaining. “What did I commit to with Sarah last week?” Without Neotoma No commitments found. With Neotoma You committed to sending the architecture doc by Friday. Sarah’s email updated Mar 28. “How much did we spend on cloud hosting last month?” Without Neotoma No hosting expenses found. With Neotoma $847 across AWS and Vercel, up 12% from February. * * * ## After you connect Once Neotoma is running, try these starter commands in Claude to see cross-session memory in action: Store a contact “Remember that Sarah Chen's email is sarah@newstartup.io — she's the CTO at NewStartup.” Store a task “I need to send the architecture doc to Sarah by Friday.” Recall across sessions “What do I know about Sarah? What did I commit to doing for her?” Start with [evaluation](/evaluate), see the [install guide](/install) for more options, [MCP reference](/mcp) for full setup, [CLI reference](/cli) for terminal usage, and [agent instructions](/agent-instructions) for behavioral details.