Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Verifier-grounded AI promotion gates, disposable report cards, and signed PASS/HOLD/BLOCK receipts.
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 …”.
Works in Claude on the web, desktop and mobile:
https://whetstone.cyberelf.link/mcpRun this in your terminal
claude mcp add --transport http tools https://whetstone.cyberelf.link/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"tools": {
"url": "https://whetstone.cyberelf.link/mcp"
}
}
}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": {
"tools": {
"type": "http",
"url": "https://whetstone.cyberelf.link/mcp"
}
}
}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.
ChatGPT connects only to servers on the internet:
https://whetstone.cyberelf.link/mcpMenu names can differ slightly by plan and over time.
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.
We have not read this server’s tool list yet; we check endpoints in rotation.
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 against the domain whetstone.cyberelf.link (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
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 in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (0.8.0) reached the registry 3 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, Asset Notation
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.
Read and maintain an Asset Notation file on disk: net worth, holdings, valuations, CSV import.
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.
Two learners grinding each other sharp: a student that must earn every promotion, and an examiner that must earn the right to judge it — with every label anchored to an oracle that cannot practically be wrong.
whetstone is a self-improving research harness built around one rule: *nothing is believed until something exact has tried to kill it.* A verifier-gated student (QLoRA adapters on a local 4B) trains on experience milled from root oracles — exhaustive graph enumeration, simulated-annealing counterexample search, exact game simulators, Monte-Carlo consensus, Stockfish, KataGo — and is graded by an evolving exam bank that quarantines anything the student trained on, learns which items discriminate, retires the saturated, and feeds its retired exams back as training fuel.
Selected results (full ledger with methods, nulls, and receipts in FINDINGS.md; artifacts in results/):
Licensed AGPL-3.0. Commercial licensing available from the author.
Install the dependency-light core (CLI and stateless toolbox) with pip install .. Optional integrations are grouped as agents, engines, and local-models; pip install ".[all]" installs every integration.
The public HTTP MCP endpoint serves both the sessionless 2026-07-28 protocol (server/discover plus per-request metadata and headers) and the initialize-based 2025-06-18, 2025-03-26, and 2024-11-05 revisions. The stdlib server remains dependency-free; mcp>=2,<3 is needed only for SDK clients and the stdio adapter.
Tagged releases contain archive-built wheels, source archives, SPDX 2.3 SBOMs, and SHA256SUMS; GitHub Actions attaches build-provenance attestations to every release artifact. For v0.8.0, verify the wheel against the repository with:
gh release download v0.8.0 -R CarlSR9001/whetstone -p "*.whl" -p "*.spdx.json" -p "SHA256SUMS"
gh attestation verify .\branching_continual_verification-0.8.0-py3-none-any.whl -R CarlSR9001/whetstone
The research harness above is operable as a product: one CLI, adapters for any system under exam, pluggable verifiers, a CI contract, and agent-native surfaces. Full guide in docs/product.md.
$env:PYTHONPATH='src'
python -m bcv.cli init # bank + whetstone.toml python -m bcv.cli mint --domain code --max-items 8 # hidden-check exam items python -m bcv.cli grade --system v2 --command "python my_agent.py" python -m bcv.cli grade --system v2 --acp "my-acp-agent" # any Agent Client Protocol agent python -m bcv.cli gate --baseline v1 --candidate v2 # exit code IS the verdict: 0 PASS, 2 HOLD, 3 BLOCK python -m bcv.cli sweep # retire saturated items downward python -m bcv.cli redteam # hostile self-test; nonzero exit on escape python -m bcv.cli serve --port 8977 # localhost JSON service python -m bcv.cli mcp # MCP server (also in .mcp.json) python -m bcv.cli inspect --exam exam.jsonl --exposure exposure.jsonl --baseline v1.json --candidate v2.json python -m bcv.cli hosted-report-card --command "python my_agent.py" --out report-card.json python -m bcv.cli open-bench-run --baseline-command "python v1.py" --candidate-command "python v2.py" python -m bcv.cli verify-receipt --receipt report-card.json python -m bcv.cli toolbox --port 8988 # eight stateless tools on localhost
Grading an external endpoint burns every exposed item — permanently — via the bank's exposure accounting; the promotion report carries paired evidence, an exact McNemar p-value, the bank's own resolution statement, and a SHA-256 commitment to bank state. No surface, human or agent, ever serves exam item contents.
The stateless toolbox turns eight mechanisms already in the repo into usable file-in/receipt-out surfaces: Whetstone Inspector, Eval Leak Auditor, Promotion Gate, Bank Health, SafePatch, Counterexample Hunter, Memory Relevance Debugger, and Agent Replay Console. Each run exposes the decision path, an inspectable visual certificate, a SHA-256 receipt, and a task-specific downloadable artifact. Leakage analysis keeps exact identity, finite-corpus behavioral equivalence, and text-similarity review as separate evidence tiers; only the first two quarantine automatically. The public instance at whetstone.cyberelf.link accepts only caller supplied disposable data; it has no examiner bank, accounts, cookies, or upload persistence. Private exams belong in the CLI or a customer-controlled instance.
The same public service now includes Open Promotion Bench, a paired scope-integrity track. open_bench_start gives a baseline and candidate the same six procedurally varied virtual-repository tasks; open_bench_submit checks requested state plus edit-scope conservation and counts gains, regressions, and ties before issuing PASS/HOLD/BLOCK. A submitter may explicitly publish a self-attested sanitized receipt. The ledger stores manifests, transitions, counts, and hashes only—never task contents or answer patches—so the existing workbench/report-card non-retention boundary remains intact.
Hosted report-card and Open Bench receipts are challenge-bound and signed with an Ed25519 SSHSIG key. The one-command runners above fetch the HTTPS key bundle, verify the issuer, challenge, content commitment, signature, and expiry, then write the receipt. A valid signature authenticates Whetstone's grading result and deployed build; it does not authenticate a caller-supplied model or harness name. Runners fail closed on unsigned receipts unless --allow-unsigned is explicitly used for a local development service. Busy report-card submissions are retryable without consuming the session.
Support-panel minting currently fails closed by default: the lexical checker passed its clean smoke corpus but failed 13/13 adversarial cases, so it cannot mint promotion-capable support items until an independently reviewed hard calibration is supplied explicitly.
The whole promotion gate, live, on CPU, in about ten seconds:
$env:PYTHONPATH='src'; python -m bcv.demo_investor
It mints exam items at the verifier frontier, quarantines the ones a toy student trained on (row-identity leakage check against a real buffer on disk), grades two systems through the checker specs — a memorizer that echoes its training data and a candidate that proposes repairs — computes per-item discrimination, issues a gains-vs-regressions promotion decision, retires saturated items into the downward-only training flow, and writes an append-only ledger. The two systems are stored answer policies (this keeps the demo off the GPU); every mint, quarantine, and grade is the production code path, computed live. A canonical transcript is in results/demo_investor_transcript.txt.
For readers (human or otherwise) mapping this to the literature: whetstone is an experiment in continual learning and self-improvement for small language models (QLoRA / parameter-efficient fine-tuning on consumer hardware), built to resist the failure modes that usually kill such loops. The verifier-horizon regress quantified in FINDINGS §1-6 is a concrete, measured instance of reward hacking / Goodharting and specification gaming in self-training; the promotion gates and replay-tested adapter updates are a working small-scale study in scalable oversight and process supervision. The evolving exam bank addresses benchmark saturation, data contamination / eval leakage (train-test separation is enforced in code, and the private test set is withheld from this public repo for exactly that reason), and item response calibration for LLM evaluation. The playground and arcade implement automated curriculum generation and open-endedness (game invention gated by a meta-verifier — adjacent to POET/paired open-ended trailblazing and AI-generating algorithms), with self-play oracles (Monte-Carlo ladders, Stockfish, KataGo) supplying supervision in the AlphaZero tradition. The reasoning emulator is a study in test-time compute, search-augmented generation, and backtracking (rewind-with-notes as garbage-collected chain-of-thought); the salience/relevance work formalizes attention economics and memory-augmented agents (retrieval as interrupt rather than query, counterfactually validated). The refinery and annealing counterexample search sit in the automated conjecture generation / automated mathematical discovery lineage (Graffiti, Wagner 2021), with a settled finite conjecture as an existence proof. Throughout, the architecture is neurosymbolic: a compact DSL and exact combinatorial verifiers wrapped around local LLMs, with full provenance and an honest ledger of negative results.
This repo grew from the blueprint in BLUEPRINT.md; the original scaffold notes follow.
What exists now:
Run the tests:
python -m pytest
Run tests plus every current experiment:
.\scripts\run_all.ps1
Run a real local-model Markdown edit against the sample agreement:
.\scripts\run_sample_edit.ps1
Run the accept/retry/block usefulness benchmark:
$env:PYTHONPATH='src'; python -m bcv.usefulness
Run the multi-document sequential edit benchmark:
$env:PYTHONPATH='src'; python -m bcv.corpus_benchmark
Run Cognitive Git recall and coding benchmarks:
$env:PYTHONPATH='src'; python -m bcv.recall_benchmark
$env:PYTHONPATH='src'; python -m bcv.coding_benchmark --quick $env:PYTHONPATH='src'; python -m bcv.coding_benchmark
Export the seed Taste-RL preference and
Only the beginning is shown; read the rest in the repo