MCP Synaptic
@jvanmelckebeke
Memory-enhanced MCP server with local RAG database and expiring memory capabilities
Overview
What is MCP Synaptic?
MCP Synaptic is a memory-enhanced MCP (Model Context Protocol) server that provides a local RAG (Retrieval-Augmented Generation) database and expiring memory capabilities. It is designed for developers who need to store temporary memories with configurable TTL, manage documents via vector search, and stream real-time eventsβall within the MCP ecosystem.
How to use MCP Synaptic?
Install Python 3.11+ and the UV package manager. Run uv sync to install dependencies, then uv run mcp-synaptic init to initialize the project and uv run mcp-synaptic server to start the server on http://localhost:8000. For containerized deployment, use docker-compose up --build. Configuration is managed through environment variables (see .env.example).
Key features of MCP Synaptic
- Expiring memories with configurable TTL and automatic cleanup
- Support for ephemeral, short-term, long-term, and permanent memory types
- Optional Redis backend for distributed memory storage
- ChromaDB-based vector database with semantic search
- API-based or local embedding models (sentence-transformers)
- Full MCP protocol, SSE, and WebSocket real-time communication
- Docker-ready with multi-service orchestration
Use cases of MCP Synaptic
- Store user preferences or session data that automatically expire after a set time
- Build AI assistants that can retrieve relevant documents via semantic search
- Develop multi-agent systems that share short-term context through memory
- Deploy memory-backed MCP servers in containerized environments
FAQ from MCP Synaptic
What embedding options does MCP Synaptic support?
MCP Synaptic supports API-based embeddings (lightweight, works with OpenAI-compatible endpoints) and local embeddings using PyTorch and sentence-transformers (heavier but no external dependency).
What is the default TTL for memories and how can I change it?
The default memory TTL is 3600 seconds (1 hour). You can change it via the DEFAULT_MEMORY_TTL_SECONDS environment variable.
Can I use MCP Synaptic without Docker?
Yes. You can run MCP Synaptic directly with Python 3.11+ and UV. Docker is optional and only needed for containerized deployments.
What happens when a memory expires?
Expired memories are automatically removed by a background cleanup process that runs at a configurable interval (default 300 seconds). Events are emitted via SSE when a memory expires.
Does MCP Synaptic require Redis?
No. Redis is optional and only needed if you want a distributed memory store. By default, MCP Synaptic uses SQLite and local ChromaDB storage.