Skip to main content
MCP server CX Codex

Montycat MCP — Claude Code MCP server: shared agent memory

Shared memory for coding agents: decisions and project context persist between sessions and stay readable from any MCP client you point at it.

Install into Claude Code · Platform CLI All methods and platforms ↓
claude mcp add --env MONTYCAT_URI=<MONTYCAT_URI> --env MONTYCAT_TLS=<MONTYCAT_TLS> --env MONTYCAT_TLS_CERTIFICATE_PATH=<MONTYCAT_TLS_CERTIFICATE_PATH> --env MONTYCAT_TLS_VERIFY=<MONTYCAT_TLS_VERIFY> --env MONTYCAT_TLS_CERTIFICATE_FINGERPRINT=<MONTYCAT_TLS_CERTIFICATE_FINGERPRINT> --transport stdio montycat-mcp-shared-memory-for-ai-agents -- uvx montycat-mcp
Open on GitHub

What Montycat MCP - Shared Memory for AI Agents does

Montycat MCP runs a single memory store that every connected client both reads and writes — Claude Code, Codex, Cursor, Copilot, Windsurf, Cline and Zed. Decisions outlive a chat, so the next session opens with the project facts already loaded.

Storage calls are montycat_remember, montycat_remember_bulk, montycat_update and montycat_forget. Retrieval works by meaning or by an exact identifier through montycat_semantic_search, montycat_recall and montycat_list_memories, while montycat_await_memory_change blocks until another agent writes instead of polling. A scope decides where a record goes: private, team or common. Treat it as a namespace rather than a security boundary; real separation comes from giving each server its own Montycat credential with the least privilege it needs.

The engine and the embeddings stay local, with no hosted memory service in the loop. A bundled engine starts on demand, or you run one in Docker and hand the address over in MONTYCAT_URI. On Apple Silicon take the arm64-semantic tag, because the semantic image is amd64 and dies under emulation.

What it helps with

  • carry a design decision into the next session
  • find a note by meaning when the wording is gone
  • keep several agents on a single set of facts
  • wait for another agent's write without polling
  • check field names before a structured write

Example prompts for the agent

  • Remember that billing uses PostgreSQL and keep it in the engineering scope.
  • Search memory for how we ship the API and list what comes back from shared.
  • Wait for the other agent to write its change, then pick up from there.

How to install Montycat MCP - Shared Memory for AI Agents

Platform CLI

claude mcp add --env MONTYCAT_URI=<MONTYCAT_URI> --env MONTYCAT_TLS=<MONTYCAT_TLS> --env MONTYCAT_TLS_CERTIFICATE_PATH=<MONTYCAT_TLS_CERTIFICATE_PATH> --env MONTYCAT_TLS_VERIFY=<MONTYCAT_TLS_VERIFY> --env MONTYCAT_TLS_CERTIFICATE_FINGERPRINT=<MONTYCAT_TLS_CERTIFICATE_FINGERPRINT> --transport stdio montycat-mcp-shared-memory-for-ai-agents -- uvx montycat-mcp

Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from montycat-mcp <command>

Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more

Questions about Montycat MCP - Shared Memory for AI Agents

How do I install Montycat MCP in Claude Code?

Install uv, then run claude mcp add montycat-mcp -e MONTYCAT_URI=<MONTYCAT_URI> -- uvx montycat-mcp. The server shows up as connected in /mcp.

What is Montycat MCP for?

It gives agents a shared memory: what one agent stores is available in the next session and to the other MCP clients you run.

What does the server need to run?

Python 3.10+ and uv, since it launches through uvx montycat-mcp. A local engine comes up on its own; your own engine goes in MONTYCAT_URI, and a remote one also needs MONTYCAT_TLS.

Similar MCP servers

All MCP servers for Agent setup: memory, context, orchestration →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor