Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Checks if an AI agent may pay: duplicate invoices, totals, evidence. 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.
AuthorizationValues 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 …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Run this in your terminal
claude mcp add --transport http screwtape https://screwtape.ai/mcp --header 'Authorization: your-value'Fill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"screwtape": {
"url": "https://screwtape.ai/mcp",
"headers": {
"Authorization": "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": {
"screwtape": {
"type": "http",
"url": "https://screwtape.ai/mcp",
"headers": {
"Authorization": "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 address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
Authorization secret HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.
judgeA pass/fail/retry verdict on ONE agent output, from a service outside your agent, used as the go/no-go before an agent spends money or acts on that output. Call it before you pay on, return, store or act on a draft answer, especially when you have the evidence the answer should b
check_duplicate_invoiceSpend gate for invoices: decides whether an agent may pay this invoice, with a signed receipt as proof. Same as judge with one duplicate check: it compares this invoice with the invoices this caller recorded earlier and also judges it. Call it before an agent pays or approves an
consensusFalse-consensus check for 2 to 16 answers to the same task, so a group of agents does not approve a spend just because they copied each other. It scores how the answers agree and flags agreement that looks copied or too thin to trust. Screwtape is not tied to the agent framework
get_api_keyCreate a free Screwtape.ai API key (10 calls per UTC day) with no human approval. Call it only when no Screwtape key is configured and you can compute SHA-256 with a code tool, because the proof of work must be computed exactly, not guessed. Do NOT call it when a key already exis
publish_receiptPublish a signed receipt you own so a public page and a Screwtape Verified badge can link to that one verdict. Call it when you want to show that a specific output received a specific verdict. Do NOT call it to certify an agent in general: the page says this output received this
try_checkSee what a spend check returns before you have a key. Runs ONE sample check on a fixed demo invoice: a duplicate match against an invoice paid earlier, required fields, and a sum check that the line items add up to the total. Call it once to learn the response shape. Do NOT call
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 6, 2026
The registry name was verified against the domain screwtape.ai (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 310 ms (HTTP 200)
No sign-in needed
Read 6 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 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: Authorization
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 (1.2.1) reached the registry 3 days 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, HotCodePush
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.
Manage over-the-air (OTA) updates for React Native, Expo, Capacitor and Cordova apps.
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.
Copy-paste examples that stop an AI agent from paying the wrong invoice. Each one calls the public Screwtape.ai API with an API key and does two things before money moves:
The agent pays only when next_step.action is pass. Anything else (retry or escalate) means do not pay.
| Folder | Stack | Run |
|---|---|---|
curl/ | curl + jq | ./curl/check_payment.sh |
python/ | Python 3.9+, standard library only | python python/check_payment.py |
typescript/ | Node 18+, built-in fetch | cd typescript && npm i && npm start |
langchain/ | LangChain tool | python langchain/spend_tool.py |
crewai/ | CrewAI tool | python crewai/spend_tool.py |
openai-agents/ | OpenAI Agents SDK, guarded payment tool | python openai-agents/spend_guard.py |
export SCREWTAPE_API_KEY=... # free key: https://screwtape.ai/signup/
python python/check_payment.py
Expected output (receipt ids differ per run):
first: verdict=pass action=pass reason=none duplicate=unique receipt=...
-> PAY second: verdict=... action=escalate reason=duplicate_invoice duplicate=duplicate receipt=... -> DO NOT PAY wrong total: verdict=fail action=... reason=sum_mismatch duplicate=... receipt=... -> DO NOT PAY
result = check_payment(invoice, evidence) # POST https://screwtape.ai/v1/duplicate
if result"next_step" != "pass": stop_and_escalate(result) # do not pay
Put the check inside the payment tool itself (see openai-agents/), so the model cannot skip it.
POST /v1/duplicate: spend check plus duplicate-invoice check (used by every example here).POST /v1/judge: verdict on any agent output, with deterministic checks (sum, required_fields, json_schema, regex, equals, ...). See checks.POST /v1/consensus: compare 2 to 16 agent answers before acting on them.POST /v1/receipts/verify: verify a signed receipt.Authorization: Bearer $SCREWTAPE_API_KEY. Add an Idempotency-Key header to make retries safe.Agents that speak MCP can connect directly: https://screwtape.ai/mcp (Streamable HTTP, Bearer key). Tools: judge, check_duplicate_invoice, consensus.
Details: screwtape.ai/pricing.
MIT