TOMC Memory

io.github.ZipengWu365由 GitHub 账号 ZipengWu365 发布v0.1.1更新于 Oct 24, 2026

CPU task-specific context preparation and explicitly saved local project notes through MCP.

发布方自己的服务:Memory.fit

已验证STDIO仅桌面知识与记忆AI 与机器学习

概览

AI 生成的概览

本地 MCP 服务器,可从对话历史中准备针对具体任务的上下文,并保存显式记录的项目笔记,返回已变更事实的最新值。

可以做什么
  • 根据你提供的对话历史,为具体任务准备精简后的上下文,并保留已变更事实的最新版本。
  • 检索已保存的项目笔记与事实,并附带来源行。
  • 在本地保存新的项目笔记,并可删除单个笔记本。
  • 当后续内容可能改动某个值时,将该值标记为不确定,并附上对应行供核对。
适用场景
适合反复向新的 AI 对话解释同一个项目、并希望拿到最新版本决定而非旧版本的场景。更适合较长历史(约 1 万 token 以上);短对话收益很小。
运行要求
以本地进程形式在用户机器上运行(仅桌面端)。从源码安装需要 Python 3.10 或更高版本;Claude Code 与 Codex 插件需要 uv。笔记保存在用户主目录下的本地 SQLite 文件中。未声明需要账号、API 密钥或环境变量。
安装前请注意
它不会压缩助手当前正在进行的对话,只处理你交给它的历史和保存的笔记。匹配基于词语而非语义,改写过的更新可能被漏掉,小预算时更明显。保存的笔记会留在磁盘上,需用删除工具或全部清除命令移除。只有在开启保存后才会存储结果。部分客户端的工具调用尚未在真实机器上验证。

安装

在 SourceWeft 中

  1. 打开 控制台中的 TOMC Memory,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[TOMC Memory]

TOMC Memory

English | 简体中文 · v0.3.1 research preview · MIT · Python 3.10+

I got tired of re-explaining my project to every new AI chat, and then getting the old version of a decision back.

When a fact changes, only the latest version comes back.

Say your project chat moved from Flask to Django, then FastAPI, then Litestar. TOMC Memory hands your assistant framework = Litestar, plus the line it came from.

After installing, say to your assistant: "Try TOMC Memory". In a terminal: tomc try.

  • Latest value, offline check (v0.3.0): 144 questions per budget, each about a fact that changed 3 to 5 times. At the default budget the prepared context held the latest value every time (v0.2.1: 58%). At a 10% budget: 85% (v0.2.1: 51%). Synthetic notes and chats, no model call. We wrote these questions alongside the fixes, so treat them as our regression test, not an independent evaluation.
  • Smaller requests in Codex (0.1.0 preview, not re-run since): 9 synthetic project chats of about 10K to 40K tokens, 5 questions each, gpt-6.1-sol. Keeping 40% of the history cut request input by 29.7% on average, and all 45 answers stayed right. One run per condition.
  • BEAM long-history benchmark (paper experiments): same reader model on both sides, 3 readers, 6 other memory methods. TOMC had the higher mean score in 54 of 54 comparisons at 500K to 10M tokens, and 17 of 18 at 100K. Mean scores only; not comparable with other projects' BEAM numbers.

Every number, with its conditions and failures · Before you use it · Install

Before you use it

  1. It does not shrink the chat your assistant is already having. Claude Code and Codex manage their own chat. TOMC Memory works on history you hand it and notes you saved. Context ownership
  2. Short histories gain little. Under about 10K tokens there is not much to cut. With the default budget, our earlier tests saved roughly 10–20% of input (Codex 9.2%, Claude API-style 19.8%; 0.1.0 previews). Smaller budgets save more but can drop the latest value. Check them on your own tasks first. The default keeps 80% of a history up to 10K tokens, sliding to 60% at 1M, and never less than 1,024 tokens.
  3. It matches words, not meaning. A reworded update such as "scratch that, go with Django" can be missed, mostly at small budgets. When a later line may have changed a value, the value is marked STATE? and that line is attached so you or your assistant can check it.
  4. What gets stored, and how to erase it. Results of prepare_context and recall_memory are not saved unless you turn it on (tomc settings --save-mcp-results on). Notes you save with remember_memory stay on your computer in ~/.tomc/memory.sqlite3. Delete one notebook with forget_memory, or everything with tomc erase-all --yes. Security and privacy
  5. Not every client is checked. Codex and Claude Code passed real model calls with earlier previews. For Cursor, TRAE and WorkBuddy the setup is written, but their tool calls have not been checked on real machines. Claude Desktop installation has not been checked in the app.
  6. The paper is not public yet. The benchmark numbers come from our own runs and setup. The evidence page lists sources, sample sizes and what can be rechecked offline (make reproduce).

Install

Each path ends the same way: say "Try TOMC Memory" in a new chat, and run tomc doctor if something looks wrong. The Claude Code and Codex plugins need uv. Running from source needs Python 3.10 or newer (python3 --version; the macOS system Python 3.9 is too old).

Claude Code

text
/plugin marketplace add ZipengWu365/TOMC/plugin install tomc-memory@tomc

Start a new session, check /mcp for plugin:tomc-memory:tomc, then say "Try TOMC Memory" or run /tomc-memory:try. More Claude Code notes

Codex

Download tomc-memory-codex-0.3.1.zip, unzip it into a folder you will keep, and run there:

bash
uv run --no-project --python 3.12 install.py --checkuv run --no-project --python 3.12 install.py

The installer starts the server once to check it. Open a new Codex session and say "Try TOMC Memory". Full Codex steps

Any MCP client (Cursor, Claude Desktop, WorkBuddy, TRAE …)

bash
git clone https://github.com/ZipengWu365/TOMC.git && cd TOMCpython3 -m venv .venv && .venv/bin/python -m pip install -e '.[mcp]'.venv/bin/tomc setup --client cursor --write   # or claude-desktop, claude-code, codex, workbuddy.venv/bin/tomc doctor

--write backs up the client's config file first and keeps your other servers. For TRAE or a project file, add --config path/to/mcp.json. Restart the client and say "Try TOMC Memory". On Windows use py -3.12 -m venv .venv and .venv\Scripts\. Per-client guides

Python API

python
from tomc import prepare_context  # pip install -e . from a clone; no dependencies
prepared = prepare_context(history, task)response = client.chat.completions.create(model=model, messages=prepared.messages)

Send prepared.messages in place of the old history; appending it adds input. .venv/bin/tomc try shows a worked example offline. API guide

Mainland China network

If GitHub or PyPI downloads stall, use a mirror for pip and uv:

bash
python3 -m pip install --user uv -i https://pypi.tuna.tsinghua.edu.cn/simpleexport UV_DEFAULT_INDEX=https://pypi.tuna.tsinghua.edu.cn/simpleexport UV_PYTHON_INSTALL_MIRROR=https://registry.npmmirror.com/-/binary/python-build-standalonepython3 -m uv run --no-project --python 3.12 install.py   # Codex installer, run in the unzipped folder

For a source install, add -i https://pypi.tuna.tsinghua.edu.cn/simple to the pip install line. In PowerShell, set the variables with $env:UV_DEFAULT_INDEX="…".

Go deeper

Community, citation and license

Try, compare, contribute: First-run reports · Context-compression evaluation note · Contribution guide

Follow Zipeng Wu for work across time-series research software and AI task memory. Star this repository to save TOMC; use Watch settings for project notifications. Following or starring is optional and is never required for help.

[GitHub Stars] [Cumulative recorded clones]

Cumulative clones · recorded since 2026-10-02 · updated 2026-11-05 UTC. Method and updates

MIT License: free to use, change and ship, including commercially; keep the copyright and license notice. If TOMC Memory helps your research, please cite it with CITATION.cff (GitHub's "Cite this repository" button). Examples are synthetic; the repository holds numeric benchmark aggregates only, without question text, answers or API payloads. Data provenance · Data and licensing

来源:README.md,提交 14b09be

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.1最新Oct 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Memory 集成