Skip to main content

memtool

A memory bank distilled from coding-agent session history, served over MCP.

memtool reads the transcripts your coding agent already writes, extracts the decisions, failures, knowledge and open threads buried in them, and files each one as a record that cites the exact turn it came from. The bank is plain Markdown on disk — greppable, diffable, and readable without this tool.

The CLI is the product. The MCP server and the skills are shells over it.

Install

pip install convo-mem              # the pipeline
pip install "convo-mem[mcp]"       # ...plus the retrieval server

The command is memtool. The distribution is convo-mem because an unrelated package already holds memtool on PyPI — and holds the memtool import name with it, so sharing either would collide in site-packages.

From a checkout, for development:

pip install -e ".[mcp]"

Use

memtool status                 # what project, sessions and bank this dir resolves to
memtool init                   # build a bank from session history
memtool lint                   # nightly sweep: revisit triggers, clustering, views
memtool verify --calibrate 20  # model triage of the review queue
memtool mcp                    # the MCP retrieval server (stdio; blocks)
memtool skills install         # put the six skills where your agent looks
memtool <command> --help

Every command derives its project from the current directory (the git root, or the main repo when you are in a worktree) and its bank from <project>/memory, prints what it resolved and where each value came from, and accepts --project PATH to operate on another project. .memconfig.yaml overrides any of it and is never required.

Work directories (.memtool-init/, .memtool-verify/, …), the stripped transcript corpus and the chunk corpus live under the current directory. MEMTOOL_HOME overrides that if you want them somewhere fixed.

MCP

Any MCP client can read the bank. Four tools: list_sessions, search_session, read_session, get_record — every response capped at ~4k estimated tokens, paging anchors instead of silent truncation.

{
  "mcpServers": {
    "memtool": {
      "command": "memtool",
      "args": ["mcp"],
      "_comment": "or zero-install: uvx --from 'convo-mem[mcp]' memtool mcp",
      "env": { "MEMTOOL_PROJECT": "/path/to/your/project" }
    }
  }
}

--project, --bank and --stripped work as flags too; MEMTOOL_PROJECT, MEMTOOL_BANK and MEMTOOL_STRIPPED are the environment equivalents, since clients configure servers through either. Resolution is reported on stderr — stdout is the protocol.

Skills

Six Agent Skills ship in the package: recall, related, remember, status, unblock, update. recall is the guardrail — it checks the bank before you explore an idea, rather than after.

memtool skills list                        # where each client looks, what is there
memtool skills install                     # -> .agents/skills (Cursor reads it too)
memtool skills install --client claude     # or claude | cursor | codex | all
memtool skills install --client all --global

One source, copied on demand. list distinguishes current from stale, because a drifted copy an agent still follows is the failure worth catching.

Running from a checkout without installing

PYTHONPATH=src python -m convo_mem.cli <command>

Requirements

Python 3.11+, PyYAML and zstandard (pruned sessions are read back through the zstd archive). The [mcp] extra takes mcp>=1.2 and works on both SDK major versions: 2.x renamed FastMCP to MCPServer and removed the old import path, so the server accepts either. Verified against 1.29.1 and 2.1.0.

The extraction pipeline calls Claude models and is calibrated against specific ones; reading a bank over MCP has no such dependency.

Download files

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

Source Distribution

convo_mem-0.1.1.tar.gz (377.7 kB view details)

Uploaded Source

Built Distribution

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

convo_mem-0.1.1-py3-none-any.whl (267.9 kB view details)

Uploaded Python 3

File details

Details for the file convo_mem-0.1.1.tar.gz.

File metadata

  • Download URL: convo_mem-0.1.1.tar.gz
  • Upload date:
  • Size: 377.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.4

File hashes

Hashes for convo_mem-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f8075e15e90d0806e73972d7d799dccfb516cd93d3f8f0a375adea5443014580
MD5 7ebaf650a9f677a6e7be0d04b32667a5
BLAKE2b-256 59ac30adb123e1d02f915dcd11aa431d71a9ad3c62fe10b8d172e5eb4f1f7c87

See more details on using hashes here.

File details

Details for the file convo_mem-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: convo_mem-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 267.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.4

File hashes

Hashes for convo_mem-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1fb914ea2963cc3afba7732308aec347882a72ca95ca3b0784542b1dc3f64dc0
MD5 bc36c1b14138b8084fd07e9dfc280d5a
BLAKE2b-256 3989b8cfdc017b6372d6f9a33007349e65a94d1b7b0c7ed4d5f3da302d84870e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page