Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
AAIF-verified modern MCP setup optimised to the 2026-07-28 model (BETTER textbook).
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": {
"better": {
"command": "npx",
"args": [
"-y",
"mcp-better"
]
}
}
}Run this in your terminal
claude mcp add better -- npx -y mcp-betterPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"better": {
"command": "npx",
"args": [
"-y",
"mcp-better"
]
}
}
}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": {
"better": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-better"
]
}
}
}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 Wolfe-Jam, 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.0) reached the registry 3 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Rust, Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Draugr
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.
Security scanning for AI agents: SAST, SCA, secrets, IaC, DAST, ranked by real risk.
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.
NONE | GOOD | [BETTER] | BEST
Textbook for AGENTS.md on that scale — honest modern MCP at the BETTER step. *(protocol 2026-07-28 — the modern MCP release)*
the book is the app is the book
AAIF-verified modern MCP textbook that runs. Rust · rmcp 3.0.x (lock 3.0.1, Tier 1 assessed) · Discover · stamped list cache. Book: textbook/ — what · why · how · doctrine. App: this binary + smokes. Lesson after lesson, version after version — knowledge compounds.
BEST (BETTER plus
project.fafthat is resident and used: persistent project context that authors the agent files) lives at [faf.one/agents](https://faf.one/agents), one hop up from this textbook.
We are Cargo. Install is cargo install. npx is a try path. We do not offer npm install as an option.
→ Why dual-package — positioning + FAQ → Full guide (how) — lockstep, publish order, OIDC, score + wire
One Agent Skill (mcp-better-lab) on the same process as tools:
→ docs/SKILLS-OVER-MCP.md — extension · skills/list · skills/get · digests
| Name | What it is |
|---|---|
| 7/28 | The era name — speakable, brandable. “Built for 7/28.” |
| 2026-07-28 | The protocol version — the date string on the wire / in SDKs. |
7/28 is a great name. 2026-07-28 is a date. Humans say 7/28. Machines negotiate `2026-07-28`.
rmcp 3.0.x / Tier-1 assessed cut).| Version | Lesson (the version *is* the lesson) |
|---|---|
| v0.1 | 7/28 over stdio — Discover, stamped ttlMs / cacheScope, stable order, health + echo |
| v0.2 | Same 7/28 era + Streamable HTTP road + routing headers (Mcp-Method / Mcp-Name) |
| v0.3 | Same era + deeper correctness — multi-list + restart-order smokes · mcp-worse contrast |
| v0.4 | Same era + dual package — cargo + npm shim · npx mcp-better with no Rust toolchain |
| v0.4.3 | Same era + `confirm_echo` MRTR (SEP-2322) + Agent Skills (mcp-better-lab) — see docs/MRTR-CONFIRM-ECHO.md · docs/SKILLS-OVER-MCP.md |
| v0.4.4 | Same era + book matches 0.4.3 wire — no new tool · catalogs named health → echo → confirm_echo |
| v0.5 | Same era + matching client completes MRTR — mrtr-client finishes confirm_echo |
2026-07-28 only for surfaces you implement and test.ClientLifecycleMode::Discover (or Auto → 7/28), not only legacy initialize.tools/list returns positive ttlMs and cacheScope (static catalog → public). SDK defaults are unstamped.--http) in the same 7/28 era.| Path | What it is |
|---|---|
| `cargo install mcp-better` | The install — we are Cargo. crates.io, native binary on PATH. |
| `npx mcp-better` | Suggested try — no Rust, no compile. Not the install. |
| npm | A published shim so npx / some hosts can start the same binary. We do not offer npm install / npm i -g. |
npx# No Rust toolchain. Downloads the native binary from GitHub Releases.
npx mcp-better --help npx mcp-better
git clone https://github.com/Wolfe-Jam/mcp-better.git
cd mcp-better cargo build --bins cargo test cargo run --example stdio-client
MCP_BETTER_BIN="$(pwd)/target/debug/mcp-better" cargo run --example order-restart-smoke MCP_BETTER_BIN="$(pwd)/target/debug/mcp-better" \ MCP_WORSE_BIN="$(pwd)/target/debug/mcp-worse" \ cargo run --example contrast-smoke MCP_BETTER_BIN="$(pwd)/target/debug/mcp-better" cargo run --example http-smoke
MCP_BETTER_BIN="$(pwd)/target/debug/mcp-better" cargo run --example mrtr-client
Install (crates.io) — stdio default (Cursor / Claude Desktop):
First `cargo install` compiles Rust deps once (often 100+ units — rmcp / tokio / …, not 100 tools of ours). One-time; then the binary is instant. To skip that compile, try with npx mcp-better (above) — that is not the install.
cargo run --release
cargo install mcp-better --version 0.5.0 mcp-better --help
Streamable HTTP (local demo only — see SECURITY.md):
cargo run --release -- --http
Transport selection (CLI wins over env):
| How | Value | |
|---|---|---|
| CLI | mcp-better (stdio) · mcp-better --http · mcp-better --stdio | |
| Bare args | http / stdio (same meaning as flags) | |
| Env | MCP_TRANSPORT or MCP_BETTER_TRANSPORT → stdio \ | http (`MCP_TRANSPORT` first if both set) |
| HTTP bind | MCP_BETTER_HTTP_ADDR — default `127.0.0.1:8787`. Do not use 0.0.0.0 unless you accept an unauthenticated open endpoint. |
| Tool | Purpose |
|---|---|
health | Liveness — status, version, protocol. No side effects. Not a k8s probe contract. |
echo | Pure demo — returns message unchanged. |
confirm_echo | Textbook MRTR (SEP-2322) — echo after mid-call confirm · sealed requestState. |
| Surface | Status |
|---|---|
| Era / protocol | 7/28 · negotiated `2026-07-28` (Discover preferred) |
| Transport | stdio (default) · Streamable HTTP (--http) |
| HTTP mode | Stateless for 7/28 · json_response · local Host guards |
| Routing headers | Streamable HTTP POSTs use `Mcp-Method` and `Mcp-Name` when naming a tool (SEP-2243); http-smoke asserts this happy path |
| Capabilities | tools · resources (skill docs) · experimental skills extension |
| List cache | `ttlMs=60000`, `cacheScope=public`, order `health`→`echo`→`confirm_echo` (restart-stable) |
| MRTR (optional) | `confirm_echo` — mid-call confirm · sealed requestState · matching client `mrtr-client` · docs/MRTR-CONFIRM-ECHO.md | Skills (optional) | `mcp-better-lab` · skills/list · digests · docs/SKILLS-OVER-MCP.md | | Lying companion | `mcp-worse` — unstamped + reversed order (contrast-smoke only) | | OAuth / tasks | out of hero |
The book is the app is the book — textbook/ (Season 1 · doctrine).
Start: textbook/README.md → lab Ch 09.
project.faf or any BEST tooling on this repo’s main branchmcp-name: io.github.Wolfe-Jam/mcp-betterregistryType: cargo · identifier: mcp-better · crates.ioregistryType: npm · identifier: mcp-better · registry.npmjs.org (Node shim downloads the native binary from GitHub Releases — no Rust on the host)cargo install / npx mcp-better on stdio. Streamable HTTP (--http) is an opt-in local demo in the same binary and the same 7/28 era; it is not a Registry remote package. Discover it in this README and --help.See server.json. Not one.faf/*.
Ship process: `/pubbetter` (skill) · short form docs/PUBBETTER.md · local ship bar:
export PATH="$HOME/.cargo/bin:$PATH"
bash scripts/ci.sh
For persistent, versionable AI project context beyond a protocol textbook:
https://faf.one/agents
serve vs Discover honestyMIT — see LICENSE.