Claude Memory MCP server

Provides persistent memory storage across conversations using SQLite database with full-text search and optional semantic search through Ollama embeddings, enabling context retention and knowledge accumulation with automatic memory capture capabilities.
Back to servers
Setup instructions
Provider
xiy
Release date
Aug 08, 2025
Language
Go
Stats
1 star

Claude Memory Server provides long-term memory capabilities for Claude, allowing persistent storage and retrieval of context across conversations. It enables you to store important facts, preferences, and conversation history that Claude can access across multiple sessions.

Features

  • Persistent Memory Storage: Store important context, facts, and preferences
  • Full-Text Search: Search through memories using natural language queries
  • Organized Categories: Categorize memories for better organization
  • CRUD Operations: Create, read, update, and delete memory entries
  • SQLite Database: Fast, reliable local storage with FTS5 search capabilities

Memory Categories

  • facts - Important facts and information
  • preferences - User preferences and settings
  • conversations - Conversation context and history
  • projects - Project-related information
  • learning - Things learned during interactions
  • goals - User goals and objectives
  • context - General context information
  • reminders - Things to remember

Installation

  1. Clone or download the project
  2. Install dependencies:
    bun install
    
  3. Build the project:
    bun run build
    

Configuration

Claude Desktop Integration

To integrate with Claude Desktop, you need to update your Claude Desktop configuration:

  1. Find your Claude Desktop config directory:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%/Claude/claude_desktop_config.json
  2. Add the memory server configuration:

    {
      "mcpServers": {
        "claude-memory": {
          "command": "node",
          "args": ["/path/to/claude-memory-server/dist/index.js"],
          "env": {}
        }
      }
    }
    
  3. Update the path in the args array to point to your actual installation directory.

  4. Restart Claude Desktop for the changes to take effect.

Manual Testing

You can also run the server directly for testing:

# Development mode
bun run dev

# Production mode
bun run start

The server uses stdio transport and will communicate via standard input/output.

Usage Examples

Once integrated with Claude Desktop, you can use the memory tools in your conversations:

Storing Memories

Please store this as a memory: I prefer using TypeScript over JavaScript for all projects.
Category: preferences

Searching Memories

Search my memories for anything about TypeScript preferences.

Getting Statistics

Show me my memory statistics - how many memories I have by category.

Available Tools

  1. store_memory - Store a new memory entry
  2. search_memory - Search memories using full-text search
  3. get_memory - Retrieve a specific memory by ID
  4. update_memory - Update an existing memory
  5. delete_memory - Delete a memory by ID
  6. list_memories - List memories by category or recent
  7. get_memory_stats - Get memory statistics and categories

Database Information

The server uses SQLite for storage with the following features:

  • FTS5 Full-Text Search for natural language queries
  • Automatic indexing on categories, dates, and relevance scores
  • JSON metadata storage for flexible data

The database file (memory.db) will be created in the project directory on first run.

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "claude-memory" '{"command":"node","args":["/path/to/claude-memory-server/dist/index.js"],"env":[]}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "claude-memory": {
            "command": "node",
            "args": [
                "/path/to/claude-memory-server/dist/index.js"
            ],
            "env": []
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "claude-memory": {
            "command": "node",
            "args": [
                "/path/to/claude-memory-server/dist/index.js"
            ],
            "env": []
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later