Sign inSign up

montygovernance/memocat-mcp

By montygovernance

•Updated about 4 hours ago

Self-hosted MCP memory server for AI agents, semantic search, vector RAG, and governance.

Image
Machine learning & AI
Developer tools
Databases & storage
0

1.4K

montygovernance/memocat-mcp repository overview

⁠(MemoCat is a previous name of Montycat MCP Server) Montycat MCP — Shared AI Memory

Montycat MCP is a self-hosted Model Context Protocol memory server for AI agents and MCP-compatible clients. It gives Claude Desktop, Claude Code, OpenAI Codex, Cursor, and other agents one private, persistent, semantically searchable memory across conversations and systems.

Agents connected to the same Montycat engine can remember preferences, facts, project decisions, and structured knowledge; recall relevant context by meaning; and react to each other's updates in real time. Run everything locally or connect the MCP server to a trusted shared Montycat deployment.

Montycat combines a database, vector search, on-device embeddings, persistent and in-memory keyspaces, real-time subscriptions, snapshots, and data governance. A separate vector database, embedding API, event broker, or governance service is not required.

⁠Why Montycat MCP?

  • Shared, durable memory across AI agents and conversations
  • Semantic recall and retrieval-augmented generation (RAG)
  • On-device embeddings without per-query embedding fees
  • Persistent and in-memory storage
  • Exact retrieval, metadata filtering, bulk operations, and updates
  • Real-time memory-change notifications without polling
  • Multi-agent scopes and governed shared memory
  • Local-first and self-hosted data control
  • Native engine discovery with Docker fallback
  • Runs as an unprivileged container user
  • Multi-platform image for Linux AMD64 and ARM64
  • 24 MCP tools with read, write, destructive, and installation annotations
  • MIT licensed and open source

⁠Common use cases

  • Preserve user preferences and project context across agent sessions.
  • Share decisions and structured knowledge between Claude, Codex, Cursor, and other MCP clients.
  • Build long-term memory for autonomous and multi-agent systems.
  • Add semantic memory and vector RAG without an external embedding service.
  • Keep sensitive agent memory on local or self-hosted infrastructure.
  • Apply access controls and governance to shared memory keyspaces.

⁠Pull the image

docker pull montygovernance/montycat-mcp:latest

For reproducible deployments, pin a release:

docker pull montygovernance/montycat-mcp:1.1.5

Docker automatically selects the Linux AMD64 or ARM64 image for the host.

The former montygovernance/memocat-mcp image remains available as a compatibility alias for existing installations. New deployments should use montygovernance/montycat-mcp.

⁠Run with an existing Montycat engine

Montycat MCP uses the MCP stdio transport; it is not an HTTP service. Keep standard input open with -i and provide connection settings for a reachable Montycat Semantic engine:

docker run --rm -i \
  -e MONTYCAT_HOST=host.docker.internal \
  -e MONTYCAT_PORT=21210 \
  -e MONTYCAT_SUBSCRIPTION_PORT=21211 \
  -e MONTYCAT_USERNAME=admin \
  -e MONTYCAT_PASSWORD='replace-with-a-strong-password' \
  -e MONTYCAT_STORE=memories \
  montygovernance/montycat-mcp:1.1.5

You can alternatively provide a single secret connection URI:

docker run --rm -i \
  -e MONTYCAT_URI='montycat://admin:[email protected]:21210/memories' \
  montygovernance/montycat-mcp:1.1.5

On Linux, use the engine's reachable hostname or configure the appropriate Docker network/host gateway instead of relying on host.docker.internal.

⁠Docker Compose

The repository includes a Compose deployment that starts Montycat Semantic, waits for the engine health check, and runs Montycat MCP on the same private Docker network:

git clone https://github.com/MontyGovernance/montycat-mcp.git
cd montycat-mcp
export MONTYCAT_PASSWORD='replace-with-a-strong-password'
docker compose up -d montycat
docker compose run --rm -T mcp

The Compose engine image defaults to the semantic build. Set MONTYCAT_IMAGE_TAG when a different published engine tag is required.

⁠Configuration

Important environment variables:

VariablePurpose
MONTYCAT_URIComplete engine URI; contains credentials and should be stored as a secret
MONTYCAT_HOSTEngine hostname when not using MONTYCAT_URI
MONTYCAT_PORTEngine port; defaults to 21210
MONTYCAT_SUBSCRIPTION_PORTReal-time subscription port; defaults to 21211
MONTYCAT_USERNAMEEngine username
MONTYCAT_PASSWORDEngine password; store as a secret
MONTYCAT_STOREMontycat store used for memory
MONTYCAT_DEFAULT_KEYSPACEDefault memory namespace
MONTYCAT_TLSSet to true for a TLS-enabled engine; verification remains off unless configured below
MONTYCAT_TLS_VERIFYSet to true to verify the engine certificate with the platform trust store
MONTYCAT_TLS_CERTIFICATE_PATHPEM certificate path for exact certificate pinning
MONTYCAT_TLS_CERTIFICATE_FINGERPRINTSHA-256 certificate fingerprint as an alternative pin
MONTYCAT_AUTOSTARTLocal engine startup mode; use off when the engine is managed separately

Do not publish connection URIs, passwords, or superowner credentials in images, Compose files, or MCP client configuration committed to source control.

⁠MCP clients

The container can be launched by any MCP client that supports stdio servers. Client-specific configuration, Claude Desktop installation, Claude Code plugin setup, UV/PyPI installation, engine bootstrap, TLS, and the complete tool reference are documented in the project README.

Tag summary

Content type

Image

Digest

sha256:f175aa3d9…

Size

62 MB

Last updated

about 4 hours ago

docker pull montygovernance/memocat-mcp