Skip to main content

A local, MCP-compliant, long-term memory service for AI agents.

Project description

CoreMemory-MCP

A local, MCP-compliant, long-term memory service for AI agents.


Read this in Chinese (中文文档)


What is CoreMemory-MCP?

CoreMemory-MCP is a background service that provides a simple and persistent long-term memory for any AI agent that supports the Model Context Protocol (MCP). It allows tools like Cursor, Gemini-CLI, and Claude Code-Cli to retain and recall information across sessions.

It runs as a standalone server on your local machine, acting as a language-agnostic, pluggable brain for your favorite AI tools.

How It Works

The architecture is a standard client-server model based on the MCP standard:

[Your Agent / IDE] <--> [MCP (JSON-RPC over HTTP)] <--> [Core Memory Service]

  1. You run the Core Memory service.
  2. You configure your client application (e.g., Cursor, Gemini-CLI) to connect to the service.
  3. Your client application can then discover and execute the memory tools (memory.add, memory.search, etc.) provided by the service.

Installation

Note: The package is not yet published to PyPI. The following are the planned installation methods.

It is recommended to install the package via pip once it is published:

pip install core-memory-mcp

Alternatively, for development, you can clone the repository and install it in editable mode:

git clone https://github.com/michaelfeng/CoreMemory-MCP.git
cd CoreMemory-MCP
pip install -e .

Running the Service

If you installed the package via pip, you can start the service by running the following command in your terminal:

core-memory-server

If you are running from the source code, you can also run the script directly:

python memory_service.py

You will see output indicating the service is running and ready to accept connections:

--- Starting Core Memory MCP Service ---
Compatible with the Model Context Protocol.
Listening on http://127.0.0.1:5001
Access the API at the /mcp endpoint.
Use Ctrl+C to stop.

Important: Keep this terminal window open. The service needs to be running in the background for your clients to connect to it.

Configuring Your Client

Here are specific instructions for popular tools that support MCP.

For Gemini-CLI

The Google Gemini CLI can be configured to automatically start and use MCP servers. After installing this package, you can configure Gemini-CLI to use it.

  1. Open the Gemini CLI settings file, typically located at ~/.gemini/settings.json.
  2. Add an entry to the mcp_servers list that points to the core-memory-server command.

Example settings.json:

{
  "mcp_servers": [
    {
      "name": "CoreMemory",
      "command": [
        "core-memory-server"
      ]
    }
  ]
}

(This assumes that the core-memory-server command is available in your system's PATH, which is standard after a pip install.)

  1. Save the file. The next time you run gemini, it will automatically start the memory service and have access to the memory.* tools.

For Cursor

Cursor uses MCP for its deep AI integrations. To connect CoreMemory-MCP, you can configure it as a tool source.

  1. In Cursor, open the settings (e.g., via Cmd/Ctrl + ,).
  2. Search for settings related to "Tools", "AI Sources", or "MCP".
  3. Look for an option to "Add a new MCP Server" or "Tool Provider".
  4. In the configuration, provide the address of your running Core Memory service: http://127.0.0.1:5001/mcp.
  5. Save the settings. Cursor should now be able to discover and use the memory.* tools.

(Note: Cursor's UI for this may evolve. Please refer to their official documentation for the most up-to-date instructions on adding external MCP tool providers.)

For Claude Code-Cli

Claude Code-Cli also supports MCP for external tooling. The configuration process is expected to be similar to Gemini-CLI, likely involving a central configuration file where you can declare MCP servers.

  1. Locate the main configuration file for Claude Code-Cli (e.g., it might be in ~/.claude/config.json).
  2. Add an entry for the Core Memory MCP server, similar to the Gemini-CLI example.

Hypothetical config.json for Claude Code-Cli:

{
  "mcp_servers": [
    {
      "name": "CoreMemory",
      "address": "http://127.0.0.1:5001/mcp"
    }
  ]
}

(Note: This is a hypothetical example. Please consult the specific documentation for Claude Code-Cli on how to register an already running MCP server.)

Integration with FastMCP

FastMCP is another framework that is compatible with the Model Context Protocol (MCP). Because CoreMemory-MCP also follows the MCP standard, they are compatible and can work together.

Here's what you need to know as a user:

  • Full Compatibility: You can use any fastmcp-based client to connect to your local CoreMemory-MCP service. The integration is seamless because both tools "speak" the same protocol.

  • No Changes for Existing Users: If you are already using CoreMemory-MCP with clients like Cursor or Gemini-CLI, this integration does not change anything for you. Your existing setup will continue to work as before.

  • Connecting a fastmcp Client: To connect a fastmcp client to this service, you will need to provide the client with the address of your local CoreMemory-MCP server, which is typically http://127.0.0.1:5001/mcp.

  • Local vs. Cloud: CoreMemory-MCP is designed to be a local-first memory service, meaning your data stays on your machine. While fastmcp offers a cloud service, please be aware that if you use it, your data might be sent to their servers. You have the choice to keep your memory local by running CoreMemory-MCP.

How to Use (Interaction)

Command-Based Interaction (Recommended)

For more precise control, you can use slash commands directly in your chat with the agent. This is the recommended way to interact with the memory service as it avoids ambiguity.

  • /cortex add: Saves a new memory.
  • /cortex search: Searches for memories.
  • /cortex list: Lists all memories.

Examples:

> /cortex add "The project deadline is next Friday"
> /cortex search "deadline"
> /cortex list

(Note: This functionality depends on the agent's implementation to parse these commands and call the corresponding memory.* tools. This feature is planned for clients like Gemini-CLI.)

Natural Language Interaction

You can also interact with the memory service through natural language. The agent will do its best to understand your intent and call the appropriate tool.

  • To save a memory: > remember that the project deadline is next Friday
  • To search for a memory: > what did I say about the project deadline?

Your agent, now aware of the memory.add and memory.search tools, will call your local Core Memory service to fulfill these requests.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

core_memory_mcp-0.1.2.tar.gz (43.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

core_memory_mcp-0.1.2-py3-none-any.whl (29.0 kB view details)

Uploaded Python 3

File details

Details for the file core_memory_mcp-0.1.2.tar.gz.

File metadata

  • Download URL: core_memory_mcp-0.1.2.tar.gz
  • Upload date:
  • Size: 43.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for core_memory_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 1ab95af802764c9418df847bdd0961cdc5dc41aefe6a597cb535c997c299cb8f
MD5 b711ad6fc3d238202097f8271d47bd38
BLAKE2b-256 1cd5a1aa848aaec7221632df813da39b1900e4a719781a6f7ef20836062f4948

See more details on using hashes here.

File details

Details for the file core_memory_mcp-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for core_memory_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 834d3e49e9d55b62bcf2a833038c28751a28322bacb29b62509e46dd01ab38c7
MD5 3ed947378f02e8c6b00a660226422b45
BLAKE2b-256 36cea05364300bcdf818b73673baabf3c4c8eba8b6fc0d942243ba8c29926571

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page