Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Honest token economics for MCP agents. 68% tokens saved, zero-ML Rust binary.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"sophon": {
"command": "npx",
"args": [
"-y",
"mcp-sophon"
]
}
}
}Run this in your terminal
claude mcp add sophon -- npx -y mcp-sophonPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"sophon": {
"command": "npx",
"args": [
"-y",
"mcp-sophon"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"sophon": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-sophon"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account lacausecrypto, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.5.4) reached the registry 6 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Detailing Manager
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Connect your auto detailing studio's tasks, cars, clients and revenue to Claude or ChatGPT.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Deterministic context compression for MCP agents. One Rust binary. Zero ML at query time. Reproducible benchmarks, real-data measurements.
Sophon is a deterministic context layer for agents speaking the Model Context Protocol. It compresses prompts, conversation memory, code digests, file deltas, and shell output — without an embedding model at query time, without a GPU, and without API keys.
Single 5.2 MB Rust binary. MCP-native. cl100k_base-accurate. Default build pulls no Python, no ML weights, no network.
| Tool | What it solves |
|---|---|
compress_prompt | Long structured prompt → keep only sections relevant to the query |
compress_history | Growing conversation → summary + facts + recent window + optional retrieval |
compress_output | Shell stdout/stderr → 21 domain-aware filters (git, cargo, docker, kubectl, JSON, …) |
read_file_delta / write_file_delta | Re-reads + edits → diffs only, never the whole file |
encode_fragments | Repeated boilerplate → single token reference |
update_memory | Append turn → JSONL persist + incremental rolling summary |
navigate_codebase | Repo digest with tree-sitter / regex + PageRank, ranked by query |
11 MCP tools total (full table below).
We built four independent benches that each capture a different chunk of an agent's tool traffic. All four run against this repo's actual git history + working tree on the operator's machine. Reproducible byte-for-byte by anyone with cargo build --release.
| Dimension | What it measures | Saved | Bench |
|---|---|---|---|
| history | compress_history over real commits | 94.6 % | real_session_capture.py |
| shell | compress_output on real git/cargo/gh/ls stdout | 84.4 % | real_session_shell.py |
| filereads | compress_prompt on real Rust / Python / Markdown / TOML files | 71.7 % | real_session_filereads.py |
| search | compress_output on real grep/find patterns | 79.5 % | real_session_search.py |
| 🎯 Weighted blend (35/30/20/15) | typical agent session estimate | 84.7 % | real_session_holistic.py |
real_session_holistic.py runs all four sub-benches with --json, parses them, and produces the weighted blend. Default weights reflect this repo's observed shape; pass --weights "history=0.4,..." to model your own workload.
| Saved per session | |
|---|---|
| Naive input pricing ($15/MT) | $2.03 |
| With prompt caching (25-turn reads at $1.50/MT) | $3.24 |
Pass
--model sonnetor--model haikutoreal_session_deep_dive.pyif you're re-pricing for a cheaper tier.
git captures (commits + diffs) — typically ~5-10 % of a real session's *tool traffic*. The 94.6 % is the upper bound, not the typical case.git diff 95 %) with commands that don't (gh repo view --json *adds* tokens, −9 %). 84.4 % is a real-world average, not a curated highlight.compress_prompt on raw source files compresses by budget cap, not by query routing — same file with 3 different queries → identical output. Section detection only fires on structured input (Markdown headers, XML tags). Documented inline in the bench.grep TODO.The blended 84.7 % is napkin-math from a linear weighted average across four real measurements. Not a cherry-picked synthetic. Run the benches yourself to verify.
| Test | Result | Bench |
|---|---|---|
compress_output across 18 command families | 90.1 % weighted aggregate | compress_output_per_command.py |
| 25-turn synthetic Claude Code session | 68.1 % session tokens saved | session_token_economics.py |
compress_prompt across 22 prompt shapes | 70.2 % mean, 36 ms mean latency | prompt_compression_extended.py |
| Code retrieval on "where is X?" questions | recall@3 = 70 % (vs grep 10 %, FULL 20 %) | repo_qa.py |
| vs LLMLingua-2 on structured prompts | +8.9 pt accuracy at 35× lower latency | llmlingua_compare.py |
| Sophon + Anthropic prompt caching | +24 % tokens / +49 % $ on top of caching | sophon_plus_prompt_caching.py |
| Sophon + mem0 | Additional savings on retrieved memories | sophon_plus_mem0.py |
Sophon is not a memory platform, a recall system, an OCR stack, or a replacement for provider-side caching. It's a deterministic compressor that slots in front of whatever memory / cache / code-nav layer you already use, and attacks the tokens those layers can't.
Provider caching handles the static half of a request — system prompt, tool definitions, reused documents. It doesn't touch the dynamic half (growing conversation history, tool outputs). Sophon compresses exactly that half. The two stack cleanly.
+24 % tokens / +49 % $ saved on top of prompt caching on a 25-turn Claude session — because the uncached dynamic block is billed at 10× the cached rate. See
sophon_plus_prompt_caching.py.
Memory systems retrieve the right memories. Sophon shrinks what gets sent to the LLM after retrieval. If mem0 returns 2 kB of raw memories, compress_prompt keeps only the sections the query actually references.
Honest caveat: on very short retrieved blocks (< ~200 tokens) Sophon's wrapper adds overhead and you should pass through. The bench reports this directly.
Primary use case. Every repeat file read becomes a read_file_delta; every shell command output goes through compress_output; every repeated boilerplate block gets a fragment_cache token. Install transparently with sophon hook install --agent claude --global.
navigate_codebase produces a PageRanked repo digest that a RAG retriever would otherwise spend expensive embedding calls to build. Tree-sitter / regex symbol extraction over 11 languages, sub-second.
npm install -g mcp-sophon
sophon doctor # verify install + show config
The postinstall script downloads the right prebuilt binary for your platform from the GitHub Releases page. Supported: macOS arm64/x64, Linux arm64/x64, Windows x64.
git clone https://github.com/lacausecrypto/mcp-sophon
cd mcp-sophon/sophon cargo build --release -p mcp-integration # ~5.2 MB binary
Optional features:
# 11-language tree-sitter AST extraction (~25 MB):
cargo build --release -p mcp-integration --features codebase-navigator/tree-sitter
cargo build --release -p mcp-integration --features bge
cargo build --release -p mcp-integration --features "codebase-navigator/tree-sitter,bge"
Requires Rust 1.75+.
Most clients accept this snippet (Claude Desktop, Claude Code, Cursor, Cline, Continue):
{
"mcpServers": { "sophon": { "command": "sophon", "args": ["serve"] } } }
Run sophon doctor to print the right config path for your client.
# Persistent memory + on-disk retriever store + BM25+Hash hybrid
export SOPHON_MEMORY_PATH=~/.sophon/memory.jsonl export SOPHON_RETRIEVER_PATH=~/.sophon/retriever export SOPHON_HYBRID=1
sophon serve
sophon exec -- cargo test # run + compress combined output
sophon compress-prompt --prompt ./system.txt --query "rust errors" --max-tokens 500 sophon hook install --agent claude --global # transparent Claude Code integration sophon stats --period session # token savings rollup
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"compress_prompt","arguments":{"prompt":"<rust>?: operator</rust><web>fetch()</web>","query":"rust errors","max_tokens":500}}}' \
| sophon serve
11 MCP tools, all stdio:
| Tool | What it does |
|---|---|
compress_prompt | Keep query-relevant sections of a long prompt |
compress_history | Summary + facts + recent + optional retrieval over the conversation |
compress_output | Strip noise from command stdout/stderr (21 domain filters + JsonStructural) |
navigate_codebase | tree-sitter / regex digest of a repo, PageRanked by query |
update_memory | Append messages, JSONL persist, optional rolling summary |
read_file_delta | Version/hash-aware file read, unchanged → minimal payload |
write_file_delta | Send edits as diffs, not full files |
encode_fragments / decode_fragments | Detect repeated boilerplate, swap with tokens |
count_tokens | cl100k_base-accurate token count |
get_token_stats | Session-level savings rollup |
Binary sizes by feature set:
| Build | Size |
|---|---|
| Default (regex extractors, HashEmbedder) | 5.2 MB |
| + tree-sitter (11 languages) | ~25 MB |
| + BGE semantic embedder | ~34 MB |
| All features | ~42 MB |
MCP protocol: 2025-06-18. notifications/cancelled actually drops the response (since v0.5.4
Only the beginning is shown; read the rest in the repo