Hi, thanks for building claw-code-agent. The pure-Python, zero-dependency angle is the part I keep coming back to.
I maintain Vestige (github samvallad33, Sam Valladares), so this is my own project, but I wanted to flag it because your MCP runtime already does the hard part. I read src/mcp_runtime.py and saw that you parse the standard mcpServers object out of .mcp.json / .claw-mcp.json and run stdio servers directly, so Vestige plugs in with config only and no code change on your side.
Vestige - Local-first cognitive memory MCP server for AI coding agents. FSRS-6 retention, prediction-error gating, active forgetting, spreading activation, 3D dashboard. Single Rust binary. npm install -g vestige-mcp-server.
To be clear about fit, this is complementary to what you already have, not a replacement. Your CLAUDE.md discovery, session persistence, and file-history replay (and the Session Memory Compact work) cover in-session and per-project memory well. Vestige sits next to that and handles cross-session memory: durable decisions, corrections, and failure-mode fixes that should survive across many sessions and projects, retrieved by relevance instead of replayed from a transcript. It runs locally and stores data on the user's machine, so it stays in line with the local-first, full-control posture of the repo.
It registers like any other stdio MCP server you already support:
{
"mcpServers": {
"vestige": {
"command": "vestige-mcp-server",
"args": [],
"transport": "stdio"
}
}
}
Drop that in .mcp.json (or .claw-mcp.json) at the project root after npm install -g vestige-mcp-server, and it shows up under the MCP tab with its resources and tools, same as your existing stdio path. If a user prefers not to install globally, the command/args/env fields you already parse make it easy to point at a local binary instead.
Honest limits: it is a separate process and a Rust binary, so it is not the zero-dependency, single-language story your core has. That is a deliberate trade for the retention and forgetting model, and it is opt-in per project, so it does not touch anyone who does not add the config.
No action needed and feel free to close. If a short docs note about pairing an external memory MCP would be useful, I am happy to send a small PR in whatever shape you prefer. Thanks again.
Hi, thanks for building claw-code-agent. The pure-Python, zero-dependency angle is the part I keep coming back to.
I maintain Vestige (github samvallad33, Sam Valladares), so this is my own project, but I wanted to flag it because your MCP runtime already does the hard part. I read src/mcp_runtime.py and saw that you parse the standard
mcpServersobject out of.mcp.json/.claw-mcp.jsonand run stdio servers directly, so Vestige plugs in with config only and no code change on your side.Vestige - Local-first cognitive memory MCP server for AI coding agents. FSRS-6 retention, prediction-error gating, active forgetting, spreading activation, 3D dashboard. Single Rust binary. npm install -g vestige-mcp-server.
To be clear about fit, this is complementary to what you already have, not a replacement. Your CLAUDE.md discovery, session persistence, and file-history replay (and the Session Memory Compact work) cover in-session and per-project memory well. Vestige sits next to that and handles cross-session memory: durable decisions, corrections, and failure-mode fixes that should survive across many sessions and projects, retrieved by relevance instead of replayed from a transcript. It runs locally and stores data on the user's machine, so it stays in line with the local-first, full-control posture of the repo.
It registers like any other stdio MCP server you already support:
{ "mcpServers": { "vestige": { "command": "vestige-mcp-server", "args": [], "transport": "stdio" } } }Drop that in
.mcp.json(or.claw-mcp.json) at the project root afternpm install -g vestige-mcp-server, and it shows up under the MCP tab with its resources and tools, same as your existing stdio path. If a user prefers not to install globally, thecommand/args/envfields you already parse make it easy to point at a local binary instead.Honest limits: it is a separate process and a Rust binary, so it is not the zero-dependency, single-language story your core has. That is a deliberate trade for the retention and forgetting model, and it is opt-in per project, so it does not touch anyone who does not add the config.
No action needed and feel free to close. If a short docs note about pairing an external memory MCP would be useful, I am happy to send a small PR in whatever shape you prefer. Thanks again.