Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Neutral tie-breaks between AI agents and sealed review of an agent's output, with signed 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.
AGENT_REFEREE_PRIVATE_KEY, AGENT_REFEREE_DAILY_LIMIT_USDValues marked secret are keys to your account. Never share them or paste them into a chat.
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": {
"agent-referee": {
"command": "npx",
"args": [
"-y",
"agent-referee-mcp"
],
"env": {
"AGENT_REFEREE_PRIVATE_KEY": "your-value",
"AGENT_REFEREE_DAILY_LIMIT_USD": "your-value"
}
}
}
}Run this in your terminal
claude mcp add agent-referee --env AGENT_REFEREE_PRIVATE_KEY=your-value --env AGENT_REFEREE_DAILY_LIMIT_USD=your-value -- npx -y agent-referee-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"agent-referee": {
"command": "npx",
"args": [
"-y",
"agent-referee-mcp"
],
"env": {
"AGENT_REFEREE_PRIVATE_KEY": "your-value",
"AGENT_REFEREE_DAILY_LIMIT_USD": "your-value"
}
}
}
}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": {
"agent-referee": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"agent-referee-mcp"
],
"env": {
"AGENT_REFEREE_PRIVATE_KEY": "your-value",
"AGENT_REFEREE_DAILY_LIMIT_USD": "your-value"
}
}
}
}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.
AGENT_REFEREE_DAILY_LIMIT_USD envThese 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 ccheez34, 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.
You need to fill in: AGENT_REFEREE_PRIVATE_KEY
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.4.0) reached the registry 8 days 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, FlyDocs
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.
Spec-driven development workflow: your agent works issues, sessions and the status lifecycle.
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.
Let any MCP-capable agent use [Agent Referee](https://agentreferee.ai): a neutral tie-breaker between agents from different owners, and sealed review of one agent's own work, with Ed25519-signed receipts.
Works with Claude Desktop, Claude Code, Cursor, and any other client that runs MCP servers over stdio. The free tools need no wallet and no account.
| Tool | What it does | Cost |
|---|---|---|
demo_match | Runs a complete tie-break in one call, playing both seats, so you can see how it works. | Free |
tiebreak | Settles a deadlock with another agent. Both agents call it with the same key and settings; neither side nor the service can steer the result. | Free demo for now (paid tiers next) |
sealed_review | Independent AI reviewers check your agent's output against its task, and return a verdict plus a signed receipt you can hand to whoever receives the work. | Free: 3 reviews and 1 review-3 a day per address (no wallet). Then $0.05, or $0.20 for review-3 (three reviewers from three AI companies). Work in 2 or 3 pieces: $0.60 (review-3x2) or $0.70 (review-3x3), paid only |
verify_receipt | Checks any Agent Referee receipt offline against the pinned signing key. Pass the task and output (or the pieces, for a multi-part review or judge match) to confirm a receipt is about exactly that work. | Free |
review_result | Returns a sealed_review that was still running when its call came back (status: "running", a job_id). | Free |
saved_receipts | Lists the review receipts this server saved on your machine, and today's spend. | Free |
You need Node.js 18 or newer.
Open Settings → Developer → Edit Config and add this to claude_desktop_config.json, then restart Claude Desktop:
{
"mcpServers": { "agent-referee": { "command": "npx", "args": ["-y", "agent-referee-mcp"] } } }
On Windows, if Claude Desktop can't start it, use "command": "cmd" and "args": ["/c", "npx", "-y", "agent-referee-mcp"].
claude mcp add agent-referee -- npx -y agent-referee-mcp
On Windows: claude mcp add agent-referee -- cmd /c npx -y agent-referee-mcp
grok mcp add agent-referee -- npx -y agent-referee-mcp
Restart the Grok session so it loads the server. The first call can take a few extra seconds while npx downloads the package.
Any client that runs local (stdio) MCP servers works the same way: the command is npx with the arguments -y agent-referee-mcp.
Ask your agent: *"Use demo_match to run a free Agent Referee demo."* It returns the winner, the signed receipt (marked demo), and the checks: the signature, each side's own seed, and the math.
With no wallet set up, sealed_review uses the free daily allowance: 3 single-reviewer reviews and 1 `review-3` per day from each address (IP address, or /64 block for IPv6), reset at 00:00 UTC. The operator pays for these, and one daily budget is shared by everyone, so free reviews can run out before the day ends. When they do, the tool says so.
"funding": "free", with no payer.free: true.sealed_review pays per review in USDC on Base over x402, from a wallet you configure. It's charged only if the review completes.
env in your MCP client settings. Never paste a private key into a chat.-p x402-fetch, as below). The free setup leaves it out to keep the install small; without it, sealed_review says so and charges nothing.{
"mcpServers": { "agent-referee": { "command": "npx", "args": ["-y", "-p", "agent-referee-mcp", "-p", "x402-fetch", "agent-referee-mcp"], "env": { "AGENT_REFEREE_PRIVATE_KEY": "0x…your dedicated wallet's key…", "AGENT_REFEREE_DAILY_LIMIT_USD": "1.00" } } } }
Safeguards:
AGENT_REFEREE_DAILY_LIMIT_USD per UTC day (default $1.00, and 0 turns paid calls off).sealed_review tells the agent how long to wait, and nothing is charged or counted against the cap.~/.agent-referee/receipts/. The service keeps no copy of a review, so this file may be the only record. The receipt is saved even if your client stops waiting before the review finishes; find it with saved_receipts.review-3 can take a few minutes, and some links between an agent and this server give up after 60 seconds. So sealed_review waits at most wait_seconds (default 45), then answers status: "running" with a job_id; the review carries on, and review_result with that job_id returns it (again waiting up to 45 seconds per call; nothing more is charged). Before anything is sent, a pending- .json record (the tier, the time, and SHA-256 fingerprints of the task and output, not the text) is saved next to the receipts and marked done with the review_id when the receipt lands, so a server stopped mid-review still leaves a trace in saved_receipts.review-3x2, review-3x3)For work in parts that belong together (code and its tests, a spec and its implementation), sealed_review takes pieces instead of output: 2 pieces with tier: "review-3x2" ($0.60) or 3 with "review-3x3" ($0.70), each {name?, text} of up to 12,000 characters (36,000 in all). Three reviewers from three companies each read every piece in one call.
output, or a piece that's too long is refused before any payment is set up.receipt_format: "review-multi-v1") has a fingerprint of each piece and its name. To check it with verify_receipt, pass the task and every piece, with the names, in the same order.Your agent's tool-approval prompts still apply: most clients ask before running a tool. The sealed_review description starts with FREE OR PAID and explains both, so the cost is visible at that moment.
A review receipt proves that these models gave these verdicts about this exact task and output. The receipt holds SHA-256 fingerprints of the task and output, not the text.
It is not a guarantee the output is correct:
The task and output are sent to the AI companies running the reviewers, so leave secrets and personal data out. Details: PRIVACY.md.
This repo is also a Claude Code plugin. It installs the MCP server and six skills together:
| Skill | What it's for |
|---|---|
independent-check | Get a piece of work checked by AI reviewers from three companies, with a signed receipt: when a sealed review is worth it, how to write a neutral request, multi-part checks, runs planned ahead, a team allowance, and how to report and rate the verdict honestly. |
handoff | Pick the right size of handoff, write it, tell the user how to hand it over, and get it checked before anyone relies on it; check a handoff you received; settle two versions that disagree. |
team-autonomy | Work as one of several AI sessions on one project while the owner is mostly away: timers, a shared messages folder, ownership, fair turn-taking, and what still needs the owner's yes. |
code-review-panel | Get code reviewed by a panel from three AI companies before merging, with multi-part review for changes that span files. |
fair-tiebreak | Settle a deadlock between two agents from different owners with a fair, verifiable pick. |
agent-dispute | Settle a disagreement between two agents with an AI judge match under rules both accept. |
Claude Code:
/plugin marketplace add ccheez34/agent-referee-mcp
/plugin install agent-referee@agent-referee
Then run /reload-plugins (or restart Claude Code). Add the wallet settings described above if you want paid reviews; the free tools work without them.
Claude apps (skills only): download the skill's zip (independent-check.zip, handoff.zip, code-review-panel.zip, fair-tiebreak.zip, agent-dispute.zip or team-autonomy.zip) from the latest release and upload it under Customize → Skills. Add this MCP server as well (see "Set it up"), since the skills call its tools.
remote/ holds a hosted version of this server for clients that can only connect to a URL, such as ChatGPT. It offers free reviews only, using start-and-check-back tools (start_review, then get_review), because ChatGPT stops waiting for a tool after about a minute. It's live at https://mcp.agentreferee.ai/mcp (no sign-in). Adding it in ChatGPT needs a workspace that allows custom connectors; see remote/README.md.
Both agents need this server (or the JavaScript client). First, agree on the settings: a key (for example task-912-who-drafts), the two seat names, the tier, and the odds. Then each agent calls tiebreak
Only the beginning is shown; read the rest in the repo