Cpersona MCP Server

Give Claude persistent memory across sessions. Single SQLite file. 29 tools. Zero LLM dependency.

Local serverstdioPython

What is the Cpersona MCP server?

Give Claude persistent memory across sessions. Single SQLite file. 29 tools. Zero LLM dependency. The cpersona mcp server wraps that behind the Model Context Protocol, so an assistant can use it through 14 defined tools rather than through you.

What it actually does

  • Declarative memory — — Individual facts, decisions, instructions stored via store
  • Episodic memory — — Conversation summaries archived via archive_episode
  • Profile memory — — Accumulated user/project attributes via update_profile
  • Cosine similarity (semantic relevance)
  • Dynamic time decay (adapts to corpus time range — a 1-year-old corpus and a 1-day-old corpus use different decay curves)
  • Recall boost (frequently useful memories surface more easily, with natural fade-out)

Its toolset

Everything the assistant can do here goes through one of these:

  • store — Store a message in agent memory
  • recall — Recall relevant memories (vector + FTS5 + keyword, RRF merge)
  • recall_with_context — Recall with external conversation context (auto-dedup)
  • get_contents — Expand recall preview refs (mem: / ep:) to full content
  • get_profile — Get current agent profile
  • update_profile — Save pre-computed agent profile
  • get_operating_context — Read the operator-owned operating context served to every client (read-only; edited on the filesystem)
  • archive_episode — Archive conversation episode with summary and keywords
  • list_memories — List recent memories
  • list_episodes — List archived episodes
  • update_memory — Update memory content (rejects if locked)
  • lock_memory — Lock memory to prevent deletion/editing

Configuration

You will need 6 environment variables: CPERSONA_DB_PATH, EMBEDDING_MODE, EMBEDDING_HTTP_URL, CPERSONA_AUTH_TOKEN, CPERSONA_EMBEDDING_URL, CPERSONA_HTTP_HOST. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

Adding it to your client

Installation goes through your MCP client rather than a global install: point it at cpersona on PyPI and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.

When to reach for it

Plenty of knowledge and memory servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Cpersona's toolset — store, recall, recall_with_context and 11 more — is a fair guide to whether it matches your workflow. It is maintained by cloto-dev; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Caveats

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Cpersona.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the cpersona mcp server does with a few real requests.

Available tools

ToolWhat it does
storeStore a message in agent memory
recallRecall relevant memories (vector + FTS5 + keyword, RRF merge)
recall_with_contextRecall with external conversation context (auto-dedup)
get_contentsExpand recall preview refs (mem:<id> / ep:<id>) to full content
get_profileGet current agent profile
update_profileSave pre-computed agent profile
get_operating_contextRead the operator-owned operating context served to every client (read-only; edited on the filesystem)
archive_episodeArchive conversation episode with summary and keywords
list_memoriesList recent memories
list_episodesList archived episodes
update_memoryUpdate memory content (rejects if locked)
lock_memoryLock memory to prevent deletion/editing
unlock_memoryUnlock memory to allow deletion/editing
delete_memoryDelete a single memory (ownership enforced)

How to install the Cpersona MCP server

{
  "mcpServers": {
    "cpersona": {
      "command": "uvx",
      "args": ["cpersona"],
      "env": {
        "CPERSONA_DB_PATH": "your-value",
        "EMBEDDING_MODE": "your-value",
        "EMBEDDING_HTTP_URL": "your-value",
        "CPERSONA_AUTH_TOKEN": "your-value",
        "CPERSONA_EMBEDDING_URL": "your-value",
        "CPERSONA_HTTP_HOST": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

VariableDescriptionRequired
CPERSONA_DB_PATHFilesystem location the server is allowed to use.Optional
EMBEDDING_MODEConfiguration value read at startup.Optional
EMBEDDING_HTTP_URLEndpoint or connection string the server talks to.Yes
CPERSONA_AUTH_TOKENCredential the server authenticates with.Yes
CPERSONA_EMBEDDING_URLEndpoint or connection string the server talks to.Yes
CPERSONA_HTTP_HOSTEndpoint or connection string the server talks to.Optional

Example prompts to try

  • Use Cpersona to store.
  • Use Cpersona to recall.
  • Use Cpersona to recall with context.

Frequently asked questions

It connects Cpersona to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (store, recall, recall_with_context, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Cpersona directly.