Memory Bank MCP

by protocol-lattice

Not rated
GitHub

About

A production-ready Model Context Protocol (MCP) server that provides a powerful, vector-native memory bank for AI agents. Built with the Protocol-Lattice Go Agent Framework, this server offers persistent, searchable, and shareable memory with multiple database backends.

Details

Author
protocol-lattice
Categories
Other, AI, Knowledge Base

Setup

Install Memory Bank MCP in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/protocol-lattice/memory-bank-mcp

Follow the installation instructions in the repository README, then restart your MCP client.

A production-readyModel Context Protocol (MCP)server that provides a powerful, vector-native memory bank for AI agents. Built with theProtocol-Lattice Go Agent Framework, this server offers persistent, searchable, and shareable memory with multiple database backends.

- Server Name:memory-bank-mcp
- Version:0.1.0

-

Multiple Vector Store Backends: Persist memories in your preferred database.

- In-Memory: For quick tests and ephemeral storage.
- PostgreSQL: Using thepgvectorextension.
- Qdrant: A dedicated vector database.
- MongoDB: Using Atlas Vector Search.

- Short-Term Buffer: Temporarily store memories for a session before committing them to long-term storage.
- Long-Term Persistence: Embed and store memories for semantic retrieval across sessions.
- Contextual Retrieval: Fetch relevant memories based on a query, combining both short-term and long-term results.

- Create shared memory "spaces" where multiple agents or users can collaborate.
- Fine-grained access control (ACLs) withreader,writer, andadminroles.
- Time-to-live (TTL) support for grants and spaces.

Dynamic Embeddings: UsesAutoEmbedderfrom the Go Agent Framework, allowing you to configure the embedding model via environment variables (e.g., OpenAI, Gemini, local models).

Configure the server using environment variables.

SetMEMORY_STOREto one ofinmemory,postgres,qdrant, ormongo.

- PostgreSQL:

export MEMORY_STORE="postgres" export POSTGRES_DSN="postgres://user:pass@host:port/db?sslmode=disable"
export MEMORY_STORE="qdrant" export QDRANT_URL="http://localhost:6333" export QDRANT_COLLECTION="memories" export QDRANT_API_KEY="..." # Optional
export MEMORY_STORE="mongo" export MONGO_URI="mongodb+srv://..." export MONGO_DATABASE="main" export MONGO_COLLECTION="memories"

- SHORT_TERM_SIZE: Max items in the short-term buffer per session. (Default:20)
- DEFAULT_SPACE_TTL_SEC: Default TTL for spaces in seconds. (Default:86400/ 24 hours)

The server usesAutoEmbedder, which respectsADK_EMBED_*environment variables from the Go Agent Framework. For example, to use Gemini:

export ADK_EMBED_PROVIDER="gemini" export ADK_EMBED_MODEL="text-embedding-004" export GEMINI_API_KEY="YOUR_GEMINI_API_KEY"
go install github.com/Protocol-Lattice/memory-bank-mcp@latest # Run the server (defaults to stdio transport) memory-bank-mcp

The server exposes a comprehensive set of tools for memory manipulation.

- health.ping: Check if the server is running.
- memory.embed: Get the vector embedding for a piece of text.
- memory.add_short: Add a memory to a session's short-term buffer.
- memory.flush: Persist a session's short-term buffer to the long-term vector store.
- memory.store_long: Directly embed and store a memory in the long-term store.
- memory.retrieve_context: Retrieve relevant memories for a query from a session.

- spaces.upsert: Create or update a shared space with a TTL and ACL.
- spaces.grant: Grant a role (reader,writer,admin) to a principal for a space.
- spaces.revoke: Revoke a principal's access to a space.
- spaces.list: List all spaces a principal has access to.

- shared.join: Make a principal's session view include a specific space.
- shared.leave: Remove a space from a principal's session view.
- shared.add_short_to: Add a short-term memory directly to a shared space.
- shared.retrieve: Retrieve memories from a principal's merged view (local + joined spaces).

{ "servers": { "memory-bank": { "command": "/usr/local/bin/memory-bank-mcp", "args": ["-transport", "http", "-addr", ":8080"] } }, "inputs": [] }

- engine.metrics: Get a snapshot of the memory engine's performance metrics.

Two-layer memory for AI agents with an immune system — episodes compress into identity through citation-validated graduation. Zero dependencies, 5 MCP tools.

Persistent cross-agent semantic memory for AI agents. Recall past sessions, share knowledge across agents. Multi-agent (isolated writes, shared reads), local-first (SQLite + FTS5), works with any LLM — local Ollama at $0 or cloud APIs like Gemini and OpenAI. Integrations for Claude Code, Claude Desktop, and OpenClaw.

Implement semantic memory layer on top of the Qdrant vector search engine

Local Work Model for AI agents that learns from real outcomes.

Auditable, self-improving knowledge & memory for AI agents over MCP — citation-enforced answers and a replayable why-trace, self-hosted on Postgres.

Provides AI assistants with persistent memory using ChromaDB vector storage.

An MCP server for the Chroma embedding database, providing persistent, searchable working memory for AI-assisted development with features like automated context recall and codebase indexing.

A persistent memory server for Large Language Models, designed to integrate with the Claude desktop application. It supports tiered memory, semantic search, and automatic memory management.

Persistent cognitive memory for Claude Code. Cloud-based semantic search, Ai-powered extraction, project scoping, and compaction recovery.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.