{"name":"Neotoma MCP","version":"0.21.1","git_sha":"13cb268a18d0e3cf202e82eecfe28d0f7c8b27ef","mode":"personal","neotoma_env":"production","base_url":"https://neotoma.markmhendrickson.com","mcp_url":"https://neotoma.markmhendrickson.com/mcp","inspector_url":"https://neotoma.markmhendrickson.com/inspector","public_docs_url":"https://neotoma.io","stdio_mcp_script_path":null,"endpoints":{"mcp":"/mcp","server_info":"/server-info","health":"/health","server_card":"/.well-known/mcp/server-card.json","oauth_authorization_server":"/.well-known/oauth-authorization-server","oauth_protected_resource":"/.well-known/oauth-protected-resource"},"harnesses":[{"id":"claude-code","label":"Claude Code","description":"CLI agent from Anthropic. Register via `claude mcp add`.","docs_url":"https://neotoma.io/neotoma-with-claude-code","agent_prompt":"Connect this Neotoma MCP server for me: https://neotoma.markmhendrickson.com/mcp\n\nRegister with: `claude mcp add neotoma --transport http --url https://neotoma.markmhendrickson.com/mcp`.\n\nIf Neotoma is already installed, confirm with `neotoma status --json`. Apply MCP + agent instruction defaults with `neotoma setup`, or update one layer with `neotoma mcp config` or `neotoma cli config`. For read-only paths and flags, use `neotoma mcp guide` or `neotoma cli guide`. Otherwise follow https://neotoma.io/install.","human_config":{"format":"shell","code":"claude mcp add neotoma --transport http --url https://neotoma.markmhendrickson.com/mcp"},"preflight":{"title":"Permissions preflight (optional)","code":"// Paste into .claude/settings.local.json (project) or ~/.claude/settings.json (user).\n// Merge with any existing \"permissions.allow\" list.\n{\n  \"permissions\": {\n    \"allow\": [\n      \"Bash(neotoma:*)\",\n      \"Bash(npm install -g neotoma:*)\"\n    ]\n  }\n}","format":"json"}},{"id":"claude-desktop","label":"Claude Desktop","description":"Anthropic desktop app. Edit claude_desktop_config.json.","docs_url":"https://neotoma.io/neotoma-with-claude-connect-desktop","agent_prompt":"Connect this Neotoma MCP server for me: https://neotoma.markmhendrickson.com/mcp\n\nEdit `claude_desktop_config.json` and add `mcpServers.neotoma` with the remote URL `https://neotoma.markmhendrickson.com/mcp`.\n\nIf Neotoma is already installed, confirm with `neotoma status --json`. Apply MCP + agent instruction defaults with `neotoma setup`, or update one layer with `neotoma mcp config` or `neotoma cli config`. For read-only paths and flags, use `neotoma mcp guide` or `neotoma cli guide`. Otherwise follow https://neotoma.io/install.","human_config":{"format":"json","code":"{\n  \"mcpServers\": {\n    \"neotoma\": {\n      \"url\": \"https://neotoma.markmhendrickson.com/mcp\"\n    }\n  }\n}"},"preflight":null},{"id":"chatgpt","label":"ChatGPT","description":"OpenAI ChatGPT developer mode. Add as remote MCP server.","docs_url":"https://neotoma.io/neotoma-with-chatgpt-connect-remote-mcp","agent_prompt":"Connect this Neotoma MCP server for me: https://neotoma.markmhendrickson.com/mcp\n\nRegister as a remote MCP server in ChatGPT developer mode, pointed at `https://neotoma.markmhendrickson.com/mcp`.\n\nIf Neotoma is already installed, confirm with `neotoma status --json`. Apply MCP + agent instruction defaults with `neotoma setup`, or update one layer with `neotoma mcp config` or `neotoma cli config`. For read-only paths and flags, use `neotoma mcp guide` or `neotoma cli guide`. Otherwise follow https://neotoma.io/install.","human_config":{"format":"text","code":"1. Open ChatGPT settings → Connectors → Add MCP server (requires developer mode).\n2. Paste this URL: https://neotoma.markmhendrickson.com/mcp\n3. Name it \"neotoma\" so agents and custom GPT instructions can reference it consistently.\n4. Authenticate if prompted."},"preflight":null},{"id":"codex","label":"Codex","description":"OpenAI Codex CLI. Add `[mcp_servers.neotoma]` to config.toml.","docs_url":"https://neotoma.io/neotoma-with-codex","agent_prompt":"Connect this Neotoma MCP server for me: https://neotoma.markmhendrickson.com/mcp\n\nAppend an `[mcp_servers.neotoma]` block to `~/.codex/config.toml` with `url = \"https://neotoma.markmhendrickson.com/mcp\"`.\n\nIf Neotoma is already installed, confirm with `neotoma status --json`. Apply MCP + agent instruction defaults with `neotoma setup`, or update one layer with `neotoma mcp config` or `neotoma cli config`. For read-only paths and flags, use `neotoma mcp guide` or `neotoma cli guide`. Otherwise follow https://neotoma.io/install.","human_config":{"format":"toml","code":"# ~/.codex/config.toml\n[mcp_servers.neotoma]\nurl = \"https://neotoma.markmhendrickson.com/mcp\""},"preflight":{"title":"Permissions preflight (optional)","code":"# Append to ~/.codex/config.toml (user scope).\n# Codex uses this to auto-approve commands matching each pattern.\n[approvals]\nallow = [\n  \"neotoma *\",\n  \"npm install -g neotoma\",\n]","format":"toml"}},{"id":"cursor","label":"Cursor","description":"Cursor IDE. Add to .cursor/mcp.json.","docs_url":"https://neotoma.io/neotoma-with-cursor","agent_prompt":"Connect this Neotoma MCP server for me: https://neotoma.markmhendrickson.com/mcp\n\nEdit `.cursor/mcp.json` and add `mcpServers.neotoma` with `\"url\": \"https://neotoma.markmhendrickson.com/mcp\"`.\n\nIf Neotoma is already installed, confirm with `neotoma status --json`. Apply MCP + agent instruction defaults with `neotoma setup`, or update one layer with `neotoma mcp config` or `neotoma cli config`. For read-only paths and flags, use `neotoma mcp guide` or `neotoma cli guide`. Otherwise follow https://neotoma.io/install.","human_config":{"format":"json","code":"{\n  \"mcpServers\": {\n    \"neotoma\": {\n      \"url\": \"https://neotoma.markmhendrickson.com/mcp\"\n    }\n  }\n}"},"preflight":{"title":"Permissions preflight (optional)","code":"// Paste into .cursor/allowlist.json (project).\n// Cursor will then auto-approve any `neotoma ...` command plus the one-time\n// global install.\n{\n  \"allow\": [\n    \"neotoma *\",\n    \"npm install -g neotoma\"\n  ]\n}","format":"json"}},{"id":"openclaw","label":"OpenClaw","description":"OpenClaw agents. Install via clawhub or manual MCP config.","docs_url":"https://neotoma.io/neotoma-with-openclaw","agent_prompt":"Connect this Neotoma MCP server for me: https://neotoma.markmhendrickson.com/mcp\n\nRun `openclaw plugins install clawhub:neotoma --url https://neotoma.markmhendrickson.com/mcp`, or add a manual remote MCP entry pointed at `https://neotoma.markmhendrickson.com/mcp`.\n\nIf Neotoma is already installed, confirm with `neotoma status --json`. Apply MCP + agent instruction defaults with `neotoma setup`, or update one layer with `neotoma mcp config` or `neotoma cli config`. For read-only paths and flags, use `neotoma mcp guide` or `neotoma cli guide`. Otherwise follow https://neotoma.io/install.","human_config":{"format":"shell","code":"# Preferred: install the packaged plugin with this instance's URL\nopenclaw plugins install clawhub:neotoma --url https://neotoma.markmhendrickson.com/mcp\n\n# Or add a manual remote MCP entry\nopenclaw mcp add neotoma --url https://neotoma.markmhendrickson.com/mcp"},"preflight":null}],"index":[{"category":"Getting started","items":[{"label":"Documentation","href":"https://neotoma.io/docs"},{"label":"Evaluate","href":"https://neotoma.io/evaluate"},{"label":"Meet the creator","href":"https://neotoma.io/meet"},{"label":"What to store first","href":"https://neotoma.io/what-to-store"},{"label":"Install","href":"https://neotoma.io/install"},{"label":"Test safely","href":"https://neotoma.io/non-destructive-testing"},{"label":"Backup and restore","href":"https://neotoma.io/backup"},{"label":"Connect remotely","href":"https://neotoma.io/connect"},{"label":"Expose tunnel","href":"https://neotoma.io/tunnel"},{"label":"Walkthrough","href":"https://neotoma.io/walkthrough"}]},{"category":"Architecture","items":[{"label":"Foundations","href":"https://neotoma.io/foundations"},{"label":"Memory guarantees","href":"https://neotoma.io/memory-guarantees"},{"label":"Architecture","href":"https://neotoma.io/architecture"},{"label":"Memory models","href":"https://neotoma.io/memory-models"}]},{"category":"Hosted","items":[{"label":"Hosted Neotoma","href":"https://neotoma.io/hosted"},{"label":"Public sandbox","href":"https://neotoma.io/sandbox"}]},{"category":"Integrations","items":[{"label":"ChatGPT","href":"https://neotoma.io/neotoma-with-chatgpt"},{"label":"Claude","href":"https://neotoma.io/neotoma-with-claude"},{"label":"Claude Code","href":"https://neotoma.io/neotoma-with-claude-code"},{"label":"Codex","href":"https://neotoma.io/neotoma-with-codex"},{"label":"Cursor","href":"https://neotoma.io/neotoma-with-cursor"},{"label":"IronClaw","href":"https://neotoma.io/neotoma-with-ironclaw"},{"label":"OpenClaw","href":"https://neotoma.io/neotoma-with-openclaw"},{"label":"OpenCode","href":"https://neotoma.io/neotoma-with-opencode"}]},{"category":"Skills","items":[{"label":"All skills","href":"https://neotoma.io/skills"},{"label":"Ensure Neotoma","href":"https://neotoma.io/skills/ensure-neotoma"},{"label":"Remember Email","href":"https://neotoma.io/skills/remember-email"},{"label":"Remember Conversations","href":"https://neotoma.io/skills/remember-conversations"},{"label":"Remember Meetings","href":"https://neotoma.io/skills/remember-meetings"},{"label":"Remember Finances","href":"https://neotoma.io/skills/remember-finances"},{"label":"Remember Contacts","href":"https://neotoma.io/skills/remember-contacts"},{"label":"Remember Calendar","href":"https://neotoma.io/skills/remember-calendar"},{"label":"Remember Codebase","href":"https://neotoma.io/skills/remember-codebase"},{"label":"Store Data","href":"https://neotoma.io/skills/store-data"},{"label":"Query Memory","href":"https://neotoma.io/skills/query-memory"}]},{"category":"Feature guides","items":[{"label":"Plans","href":"https://neotoma.io/plans-guide"},{"label":"Issues","href":"https://neotoma.io/issues-guide"},{"label":"Markdown mirror","href":"https://neotoma.io/mirror-guide"},{"label":"Subscriptions","href":"https://neotoma.io/subscriptions-guide"}]},{"category":"Record types","items":[{"label":"Contacts","href":"https://neotoma.io/types/contacts"},{"label":"Tasks","href":"https://neotoma.io/types/tasks"},{"label":"Transactions","href":"https://neotoma.io/types/transactions"},{"label":"Contracts","href":"https://neotoma.io/types/contracts"},{"label":"Decisions","href":"https://neotoma.io/types/decisions"},{"label":"Events","href":"https://neotoma.io/types/events"}]},{"category":"Primitive record types","items":[{"label":"Overview","href":"https://neotoma.io/primitives"},{"label":"Entities","href":"https://neotoma.io/primitives/entities"},{"label":"Entity snapshots","href":"https://neotoma.io/primitives/entity-snapshots"},{"label":"Sources","href":"https://neotoma.io/primitives/sources"},{"label":"Interpretations","href":"https://neotoma.io/primitives/interpretations"},{"label":"Observations","href":"https://neotoma.io/primitives/observations"},{"label":"Relationships","href":"https://neotoma.io/primitives/relationships"},{"label":"Timeline events","href":"https://neotoma.io/primitives/timeline-events"}]},{"category":"Schemas","items":[{"label":"Overview","href":"https://neotoma.io/schemas"},{"label":"Schema registry","href":"https://neotoma.io/schemas/registry"},{"label":"Merge policies","href":"https://neotoma.io/schemas/merge-policies"},{"label":"Storage layers","href":"https://neotoma.io/schemas/storage-layers"},{"label":"Versioning & evolution","href":"https://neotoma.io/schemas/versioning"}]},{"category":"Reference","items":[{"label":"REST API","href":"https://neotoma.io/api"},{"label":"MCP server","href":"https://neotoma.io/mcp"},{"label":"CLI","href":"https://neotoma.io/cli"},{"label":"Inspector","href":"https://neotoma.io/inspector"},{"label":"AAuth","href":"https://neotoma.io/aauth"},{"label":"Peer sync","href":"https://neotoma.io/peer-sync"},{"label":"Subscriptions","href":"https://neotoma.io/subscriptions"},{"label":"Issue reporting","href":"https://neotoma.io/issue-reporting"},{"label":"Security hardening","href":"https://neotoma.io/security-hardening"},{"label":"Memory guarantees","href":"https://neotoma.io/memory-guarantees"},{"label":"Memory models","href":"https://neotoma.io/memory-models"},{"label":"Foundations","href":"https://neotoma.io/foundations"},{"label":"Problem statement","href":"https://neotoma.io/foundation/problem-statement"},{"label":"Agent instructions","href":"https://neotoma.io/agent-instructions"},{"label":"Architecture","href":"https://neotoma.io/architecture"},{"label":"Terminology","href":"https://neotoma.io/terminology"},{"label":"Troubleshooting","href":"https://neotoma.io/troubleshooting"},{"label":"FAQ","href":"https://neotoma.io/faq"},{"label":"Changelog","href":"https://neotoma.io/changelog"},{"label":"All pages (Markdown)","href":"https://neotoma.io/site-markdown"}]},{"category":"Inspector","items":[{"label":"Overview","href":"https://neotoma.io/inspector"},{"label":"Dashboard & health","href":"https://neotoma.io/inspector/dashboard"},{"label":"Entities","href":"https://neotoma.io/inspector/entities"},{"label":"Observations & sources","href":"https://neotoma.io/inspector/observations-and-sources"},{"label":"Relationships & graph","href":"https://neotoma.io/inspector/relationships-and-graph"},{"label":"Schemas","href":"https://neotoma.io/inspector/schemas"},{"label":"Timeline & interpretations","href":"https://neotoma.io/inspector/timeline"},{"label":"Conversations & turns","href":"https://neotoma.io/inspector/conversations"},{"label":"Agents & grants","href":"https://neotoma.io/inspector/agents"},{"label":"Search","href":"https://neotoma.io/inspector/search"},{"label":"Settings","href":"https://neotoma.io/inspector/settings"}]},{"category":"Where the tax shows up","items":[{"label":"Context janitor","href":"https://neotoma.io/operating"},{"label":"Inference variance","href":"https://neotoma.io/building-pipelines"},{"label":"Log archaeology","href":"https://neotoma.io/debugging-infrastructure"}]},{"category":"Compare","items":[{"label":"Build vs buy","href":"https://neotoma.io/build-vs-buy"},{"label":"Multi-agent shared state","href":"https://neotoma.io/multi-agent-state"},{"label":"Neotoma vs platform memory","href":"https://neotoma.io/neotoma-vs-platform-memory"},{"label":"Neotoma vs Mem0","href":"https://neotoma.io/neotoma-vs-mem0"},{"label":"Neotoma vs Zep","href":"https://neotoma.io/neotoma-vs-zep"},{"label":"Neotoma vs RAG","href":"https://neotoma.io/neotoma-vs-rag"},{"label":"Neotoma vs file-based memory","href":"https://neotoma.io/neotoma-vs-files"},{"label":"Neotoma vs database memory","href":"https://neotoma.io/neotoma-vs-database"}]},{"category":"External","items":[{"label":"GitHub","href":"https://github.com/markmhendrickson/neotoma"},{"label":"npm","href":"https://www.npmjs.com/package/neotoma"}]}]}