Memory Bank MCP
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.
Memory Bank MCP Server
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.
- Server Name:
memory-bank-mcp - Version:
0.1.0
Features
-
Multiple Vector Store Backends: Persist memories in your preferred database.
- In-Memory: For quick tests and ephemeral storage.
- PostgreSQL: Using the
pgvectorextension. - Qdrant: A dedicated vector database.
- MongoDB: Using Atlas Vector Search.
-
Rich Memory Management:
- 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.
-
Shared Memory with "Spaces":
- Create shared memory "spaces" where multiple agents or users can collaborate.
- Fine-grained access control (ACLs) with
reader,writer, andadminroles. - Time-to-live (TTL) support for grants and spaces.
-
Dynamic Embeddings: Uses
AutoEmbedderfrom the Go Agent Framework, allowing you to configure the embedding model via environment variables (e.g., OpenAI, Gemini, local models).
Configuration
Configure the server using environment variables.
Memory Store
Set MEMORY_STORE to one of inmemory, postgres, qdrant, or mongo.
- PostgreSQL:
export MEMORY_STORE="postgres" export POSTGRES_DSN="postgres://user:pass@host:port/db?sslmode=disable" - Qdrant:
export MEMORY_STORE="qdrant" export QDRANT_URL="http://localhost:6333" export QDRANT_COLLECTION="memories" export QDRANT_API_KEY="..." # Optional - MongoDB:
export MEMORY_STORE="mongo" export MONGO_URI="mongodb+srv://..." export MONGO_DATABASE="main" export MONGO_COLLECTION="memories"
Other Settings
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)
Embedding Model
The server uses AutoEmbedder, which respects ADK_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"
Quick Start
go install github.com/Protocol-Lattice/memory-bank-mcp@latest
# Run the server (defaults to stdio transport)
memory-bank-mcp
Available MCP Tools
The server exposes a comprehensive set of tools for memory manipulation.
Core Memory
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 (Shared Memory)
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 Sessions
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).
MCP Configuration:
{
"servers": {
"memory-bank": {
"command": "/usr/local/bin/memory-bank-mcp",
"args": ["-transport", "http", "-addr", ":8080"]
}
},
"inputs": []
}
Diagnostics
engine.metrics: Get a snapshot of the memory engine's performance metrics.
Related Servers
Shioaji MCP Server
Access the Shioaji trading API for financial data and trading operations, requiring a SinoPac Securities account.
MCP Goodnews
An MCP application that delivers curated positive and uplifting news stories using NewsAPI and Cohere LLM.
MCP Trakt
Access real-time entertainment data and personal viewing history from the Trakt.tv API.
CostPlusDrugs.com
A Model Context Protocol (MCP) server that provides AI agents with affordable access to Cost Plus Drugs pharmacy services, offering transparent medication pricing and comprehensive drug information.
LacyLights
AI-powered theatrical lighting design for the LacyLights system.
Fibrous MCP Server
A server for Fibrous Finance, a DeFi aggregation platform.
Manifold Markets
Interact with Manifold Markets prediction markets, including market creation, trading, and liquidity management.
Sequential Ethical Thinking
A tool for structured, step-by-step ethical reasoning using multiple moral frameworks for transparent deliberation.
MCP Media Processing Server
A server for media processing, offering powerful video and image manipulation using FFmpeg and ImageMagick.
Bitnovo Pay
MCP server for Bitnovo Pay integration with AI agents. Provides cryptocurrency payment capabilities through Bitnovo Pay API. Features include payment creation, status checking, QR code generation, and webhook management with support for multiple tunnel providers (ngrok, zrok, manual).