bobmatnyc

MCP Memory Service

Community bobmatnyc
Updated

MCP Memory Service

A standalone memory service that provides persistent storage for AI assistants via the Model Context Protocol (MCP).

Features

  • 3-Tier Memory System: SYSTEM, LEARNED, and MEMORY layers for hierarchical knowledge organization
  • Entity Management: Track people, organizations, projects, and other entities with relationships
  • Interaction History: Store and retrieve conversation history with context
  • Vector Search Ready: Prepared for semantic similarity search (future enhancement)
  • MCP Protocol: JSON-RPC 2.0 over stdio for Claude Desktop integration
  • REST API: Alternative HTTP interface for web applications

Architecture

mcp-memory/
├── src/
│   ├── core/           # Core memory logic
│   ├── models/         # Data models
│   ├── mcp/           # MCP server implementation
│   └── api/           # REST API (optional)
├── tests/             # Test suite
├── config/            # Configuration files
└── scripts/           # Utility scripts

Installation

# Clone the repository
git clone https://github.com/yourusername/mcp-memory.git
cd mcp-memory

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Set up environment variables
cp .env.example .env
# Edit .env with your Turso database credentials

Configuration

Environment Variables

# Required
TURSO_URL=libsql://your-database.turso.io
TURSO_AUTH_TOKEN=your-auth-token

# Optional
MCP_DEBUG=0                    # Enable debug logging (0 or 1)
LOG_LEVEL=INFO                 # Logging level

Claude Desktop Integration

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "memory": {
      "command": "python",
      "args": ["/path/to/mcp-memory/src/mcp_server.py"],
      "env": {
        "TURSO_URL": "your-database-url",
        "TURSO_AUTH_TOKEN": "your-auth-token"
      }
    }
  }
}

Usage

MCP Server (for Claude Desktop)

# Start the MCP server
python src/mcp_server.py

# Or with debug logging
MCP_DEBUG=1 python src/mcp_server.py

Python Client

from mcp_memory import MemoryClient

# Initialize client
client = MemoryClient()

# Add a memory
await client.add_memory(
    title="Meeting with John",
    content="Discussed project timeline and deliverables",
    memory_type="professional",
    tags=["meeting", "project-x"]
)

# Search memories
results = await client.search_memories(
    query="project timeline",
    limit=5
)

# Create an entity
entity = await client.create_entity(
    name="John Doe",
    entity_type="person",
    company="Acme Corp",
    title="Project Manager"
)

MCP Tools Available

  • memory_add: Add new memory to database
  • memory_search: Search memories by query
  • memory_delete: Delete memory by ID
  • entity_create: Create new entity
  • entity_search: Search entities by query
  • entity_update: Update entity fields
  • unified_search: Search across all data types
  • get_statistics: Get database statistics
  • get_recent_interactions: Get recent interactions

Development

Running Tests

# Run all tests
pytest

# Run with coverage
pytest --cov=src tests/

# Run specific test file
pytest tests/test_memory_core.py

Code Quality

# Format code
black src/ tests/

# Lint
ruff check src/ tests/

# Type checking
mypy src/

Database Schema

Entities Table

  • Stores people, organizations, projects, and other entities
  • Supports hierarchical relationships
  • Includes contact info and metadata

Memories Table

  • Three-tier system (SYSTEM, LEARNED, MEMORY)
  • Full-text search capable
  • Importance scoring and tagging

Interactions Table

  • Conversation history
  • User prompts and assistant responses
  • Feedback and sentiment tracking

Learned Patterns Table

  • Pattern recognition from user feedback
  • Response style adaptation
  • Usage statistics

Roadmap

  • Vector embeddings for semantic search
  • Remote MCP server support
  • Web dashboard for memory management
  • Export/import functionality
  • Multi-user support with access control
  • Memory compression and archiving
  • Integration with popular AI platforms

License

MIT License - See LICENSE file for details

Contributing

Contributions are welcome! Please read CONTRIBUTING.md for guidelines.

Support

For issues and questions:

MCP Server · Populars

MCP Server · New

    DareDev256

    FCPXML MCP

    🎬 The first AI-powered MCP server for Final Cut Pro XML. Control your edits with natural language.

    Community DareDev256
    acunningham-ship-it

    Veil

    Stealth browser for AI agents — real Chrome over raw CDP, no Playwright/Puppeteer. TypeScript + MCP-native. Passes sannysoft 57/57, bypasses Cloudflare.

    Cassette-Editor

    Oh My Cassette: Chat Your Raw Clips Into a Finished Cut

    你的随身 AI 剪辑搭档 | Pocket AI co-editor for video montage — AI video editing plugin & MCP server for Claude Code, Codex, Hermes & OpenCode

    Community Cassette-Editor
    trendsmcp-ai

    Trends MCP

    MCP server for live trend data. Query Google Search, YouTube, TikTok, Reddit, Amazon, Wikipedia, News sentiment, Web Traffic, App Downloads, Steam, npm and more. Works with Claude, Cursor, VS Code, GitHub Copilot, ChatGPT, Windsurf, Cline, Raycast and any MCP-compatible.

    Community trendsmcp-ai
    jacob-bd

    Gemini Notebook (formerly Google NotebookLM) CLI & MCP Server

    Programmatic access to Gemini Notebook - via command-line interface (CLI), Model Context Protocol (MCP) server, and AI agent skills.

    Community jacob-bd