CPersona

io.github.Cloto-devPublished by GitHub account Cloto-devv2.5.3Updated Oct 24, 2026

Persistent AI memory in one SQLite file: 3-layer hybrid search, confidence scoring, 29 tools.

VerifiedSTDIODesktop onlyDatabasesKnowledge & Memory

Overview

AI-generated overview

Gives an assistant persistent local memory in a single SQLite file, with hybrid vector, FTS5 and keyword recall across 29 tools.

What you can do
CPersona stores facts, session summaries and an accumulated profile in one local SQLite file and retrieves them through hybrid search: a vector layer powered by an embedding server, FTS5 trigram search, and keyword search, fused by rank or relative score. Tools include store, recall and reconstruct, which returns recalled items with quotes from the stored rows behind them. Recall is scoped by agent_id, project_id and channel so several agents or projects can share one database without mixing. It calls no generative model; the agent summarizes and hands over text.
When to use it
Worth adding when an assistant should remember project decisions, preferences or earlier sessions across session boundaries, and when you want that memory to stay in a file you own rather than a hosted service. It suits coding sessions where identifiers, error strings and exact names must be recalled reliably.
Requirements
Runs locally over stdio, started with uvx or pip from the cpersona PyPI package; Python 3.11+ and uv for the one-command path. An embedding server is strongly recommended for the vector layer, configured through CPERSONA_EMBEDDING_MODE and CPERSONA_EMBEDDING_URL; without one it falls back to lexical search and reports degraded recall. CPERSONA_DB_PATH sets the SQLite file, and CPERSONA_RECALL_MODE picks the fusion strategy. At startup it asks pypi.org whether a newer release exists unless…
Before you install
The memory database holds whatever the agent stores, so treat the SQLite file and its calibration sidecar as sensitive and back them up together. Recall is scoped to an exact agent_id, so a session using the wrong one gets nothing back. The README notes that upgrading to 2.6 migrates the schema from version 13 to 17 on first start and changes some tool behaviour, and that 2.5.3 will not start the HTTP transport without CPERSONA_AUTH_TOKEN unless CPERSONA_ALLOW_UNAUTHENTICATED_HTTP is set…

Installation

In SourceWeft

  1. Open CPersona in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

CPersona

Long-term memory for AI agents, in one SQLite file you own.

CPersona is an MCP server that lets Claude Code, Codex, Claude Desktop, Cursor, VS Code or any other MCP client remember what you decided, why, and what happened last time — across sessions.

[PyPI] [CI] [Python] [License: MIT]

Documentation · Getting Started · Tools · Discussions

[The CPersona dashboard's memory network: each point is a memory, lines join the most similar ones, grouped by agent]

The built-in dashboard, showing a made-up store of 72 memories.

Why CPersona

Every new session with a coding agent starts from zero. CPersona gives the agent a memory it can write to as it works and read from before it acts.

  • Yours, on your machine. Everything lives in a single SQLite file. No account, no cloud, no external database; sqlite3 .backup copies it.
  • No language model inside. CPersona never calls a generative model to store or recall. Your agent writes the summary; CPersona keeps it and finds it again.
  • Answers you can trace. reconstruct, the recommended way to answer from memory, quotes the stored records behind each item, so you can see where an answer came from.
  • Search that catches what vectors miss. Vector search runs beside full-text and keyword search, so exact names, identifiers and error strings are found too, in Japanese and other scripts without spaces as well.
  • See what it remembers. cpersona dashboard opens a read-only page of the store: what was stored last, what is recalled most, every memory in full, and the network above.
  • Honest when it degrades. Without an embedding server it still runs on keyword search, and says so on every recall instead of quietly returning less.

Quick start

With Claude Code or Codex, install the agent plugin and let the agent do the rest:

text
/plugin install cpersona --marketplace Cloto-dev/cpersona

Then say "Set up CPersona." The plugin carries the setup skill and the hooks that remind the agent to recall before it acts and to store as it goes. (Claude Code 2.1.275 or later. In Codex: codex plugin marketplace add Cloto-dev/cpersona, then codex plugin add cpersona@cpersona.)

By hand, in three steps:

bash
# 1. Run an embedding server (recommended; it powers vector search)uvx --from "cembedding[onnx]" cembedding-download-model --model bge-m3EMBEDDING_PROVIDER=onnx_bge_m3 uvx --from "cembedding[onnx]" cembedding
# 2. Register CPersona with your client (Claude Code shown)claude mcp add-json cpersona '{"type":"stdio","command":"uvx","args":["cpersona"],"env":{"CPERSONA_DB_PATH":"/home/you/.claude/cpersona.db","EMBEDDING_MODE":"http","EMBEDDING_HTTP_URL":"http://127.0.0.1:8401/embed"}}' -s user
# 3. In a new session, ask the agent to store something, then recall it in another new session
# 4. See what it remembers, in the browsercpersona dashboard

Getting Started covers the other clients, Windows, containers, and the short policy block that makes every future session use the memory.

Upgrading an existing install? Read the When you upgrade section of the release notes and SUPPORT.md first.

A look inside

Memories are kept per agent, and project_id and channel let several agents and projects share one database without mixing.

Benchmarks

On OmniMemEval's LongMemEval-S pipeline (500 questions, answered by gpt-4.1-mini, judged by gpt-4o-mini), in this project's own run. Overall is the share of questions judged correct; Context Tokens is the average sent to the answer model per question:

BackendDeploymentSS-UserSS-AsstSS-PrefTemp. ReasMulti-SKnow. UpdOverallContext Tokens
CPersona 2.6.11 (pro mode)local97.1494.6496.6786.4785.7188.4689.604,262.5
CPersona 2.6.11 (lite mode)local95.7183.9390.0080.4574.4482.0582.20993.3
MemOScloud100.00100.00100.0089.4778.9584.6289.204,151

Pro mode is level with MemOS within sampling error, and on LoCoMo it answers 84.03%. Setups, the registered rules and every departure from a clean run are in the results.

Documentation

cloto-dev.github.io/CPersona is the full reference, also in Japanese:

GuideWhat it covers
Getting StartedInstall, embedding server, client registration, verification
Behavior ContractsWhat you may rely on: recall ordering, dedup, scan window, response shapes
ToolsEvery tool, grouped by what you reach for it for
ArchitectureStorage, the retrieval pipeline, isolation axes
RoadmapWhat each release line is for and may break; planned retrieval features and the scale ladder
Operations RunbookBackup, degradation detection, tuning, CJK guidance, corpus sync
ConfigurationEvery environment variable and its default
Quality AssuranceHow a release is gated: audits, the bug ledger, structural and mutation gates
FAQShort answers to the questions operators actually ask

Contributing

Bug fixes, tests and documentation can be sent as a pull request straight away. For changes to the database schema, the tool contracts or the tool list, open an issue first. CONTRIBUTING.md has the setup — no embedding server is needed to run the ~4,150 test functions — and the three checks CI runs.

Questions and ideas are welcome in Discussions. A sentence in the docs that confused you is worth reporting too: it is a defect of its own.

Support

If CPersona has earned a place in your workflow, you can sponsor the work on GitHub. It buys no feature and no place in the issue queue; starring the repository, filing a clear issue or fixing a sentence in the docs helps too.

License

MIT — see LICENSE.

Source: README.md at commit bc1d7f2

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v2.5.3LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts