MCP LTM Server
A networked long-term memory server that enables AI agents to maintain persistent context across sessions via Server-Sent Events (SSE), with secure multi-tenancy and autonomous memory lifecycle management.
README
Networked Long-Term Memory (LTM) Server for LLMs (MCP)
A high-performance, persistent memory solution for AI agents, implemented via the Model Context Protocol (MCP). Enhance your LLM's context with cross-session networked memory.
Overview: Persistent Context for AI Agents
The MCP LTM Server provides a stateful, networked context management system for Large Language Models. By decoupling intelligence from capabilities, it allows AI agents (like GitHub Copilot and Claude) to maintain continuity across multiple chat sessions and distributed development environments.
Unlike local-only MCP servers, this implementation uses Server-Sent Events (SSE) over HTTP, providing a centralized "memory core" accessible from any machine on your network.
System Architecture & Data Flow
graph TD
subgraph "AI Clients"
VS[VS Code + Copilot]
Claude[Claude Desktop]
end
subgraph "LTM Memory Server (127.0.0.1:8000)"
SSE["SSE Endpoint: /mcp/sse"]
DB[(SQLite Persistent Store)]
end
VS -->|Direct SSE + Auth Headers| SSE
Claude -->|mcp-remote bridge| SSE
SSE --> DB
Core Features of MCP Long-Term Memory
- Persistent AI Context: Bridges the "amnesia" gap in LLM interactions by storing historical data in an ACID-compliant SQLite backend.
- Networked SSE Transport: Implements Server-Sent Events (SSE), enabling remote connections and centralized memory management.
- Secure Multi-Tenancy: Uses a partitioned architecture with
user_keyandrepo_idto safely isolate data for different users and projects. - Autonomous Memory Lifecycle: Designed for AI agents to independently store, retrieve, and delete memories via tool calls.
- Industrial-Grade Security: Supports Bearer Token authentication and is compatible with zero-trust networks like Tailscale.
Built with Modern AI Infrastructure
- Python 3.10+: Core programming language.
- FastAPI: High-performance asynchronous web framework for the SSE interface.
- Uvicorn: Lightning-fast ASGI server.
- MCP Python SDK: Native implementation of the Model Context Protocol.
- SQLite (WAL Mode): Reliable, portable persistence with high concurrency support.
How to Install and Setup the MCP Server
Prerequisites
Ensure you have Python installed. It is recommended to use a virtual environment.
Installation
-
Install
uvif you haven't already:pip install uv -
Create and activate a virtual environment:
uv venv .\.venv\Scripts\Activate.ps1 -
Install dependencies from
requirements.txt:uv pip install -r requirements.txt
Configuration
-
User Identity Mapping: Create a file named
user_tokens.jsonin the root directory. This file maps secure tokens to specific user identities, allowing the server to partition data automatically.{ "your_secure_token_here": "your_user_id" } -
Environment Variables: Create a
.envfile in the root directory to configure the database and token paths:LTM_DB_PATH=ltm_store.db MCP_TOKENS_PATH=user_tokens.json
Running the Server
Start the server using uv run:
uv run uvicorn server:app --host 0.0.0.0 --port 8000
Connecting to GitHub Copilot and Claude Desktop
GitHub Copilot Chat (VS Code)
To integrate this LTM server with VS Code's GitHub Copilot Chat, modify your .vscode/mcp.json file.
Recommended: Native SSE Connection
VS Code supports direct SSE connections with custom authorization headers:
{
"servers": {
"ltm-memory": {
"type": "sse",
"url": "http://127.0.0.1:8000/mcp/sse",
"headers": {
"Authorization": "Bearer your_secure_token_here"
}
}
}
}
Claude Desktop Integration
For Claude Desktop, edit your claude_desktop_config.json. Since Claude currently lacks native SSE header support, use the mcp-remote bridge:
{
"mcpServers": {
"remote-ltm": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"--server-url", "http://<SERVER-IP>:8000/mcp/sse",
"--header", "Authorization: Bearer <TOKEN>"
]
}
}
}
Note: For remote SSE connections, use the appropriate MCP client configuration for SSE endpoints.
Project Structure
- server.py: Main FastAPI application and MCP logic.
- docs/spec.md: Detailed architectural blueprint and technical specifications.
- docs/: Additional documentation and resources.
For more in-depth technical details on the architecture, security model, and persistence strategy, refer to the Technical Specification.
License
This project is licensed under the MIT License - see the LICENSE file for details (or specify otherwise).
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.