Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Check if a counterparty is safe to pay: trust/risk score for AI agents. Scam/phishing screen.
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://vouch.futuronoti.workers.dev/mcpRun this in your terminal
claude mcp add --transport http vouch https://vouch.futuronoti.workers.dev/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"vouch": {
"url": "https://vouch.futuronoti.workers.dev/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": {
"vouch": {
"type": "http",
"url": "https://vouch.futuronoti.workers.dev/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://vouch.futuronoti.workers.dev/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 with the GitHub account notifuturo, which owns the repo
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.1.1) reached the registry 6 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, Signoff
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.
Five gates that make an agent's 'done' provable: run them, read the verdict, audit the record.
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.
A per-call payment trust & reputation API for AI agents — monetized over [x402](https://x402.org).
When an autonomous agent is about to pay a merchant, API, or counterparty, it asks Vouch one question first: *is this safe to pay?* Vouch returns an explainable trust score, and charges a fraction of a cent per call in USDC — no accounts, no API keys, no Stripe. Billing is the x402 protocol itself.
The agentic-commerce rails (Coinbase x402, AWS, Visa, Mastercard, Agnic) are being built by giants. The governance layer — *should this agent trust this counterparty with money?* — is the named #1 blocker to autonomous spend and is wide open. Vouch is a thin, self-serve pick-and-shovel on top of those rails.
Every call makes the product better: checks and community reports accrete into a reputation dataset that compounds with usage — the moat a bootstrapped team can actually build.
agent ──POST /v1/check { target }──▶ x402 paywall (402 → pay USDC → retry)
│ ▼ ┌─────────── scoring engine ───────────┐ │ transport · domain heuristics · │ │ threat feed · reputation (D1) │ └───────────────────────────────────────┘ │ { score, risk, reasons[] }
Scoring is a weighted average of independent signals, with a safety override: any single hard-negative signal (e.g. a threat-feed hit) caps the overall score so one strong red flag can't be averaged away.
| Signal | Weight | Source |
|---|---|---|
threat_feed | 3 | URLhaus host list (THREAT_FEED_URL), cached, fails open |
reputation | 2 | Vouch's own accumulating D1 data (the moat) |
transport | 1.5 | HTTPS / valid host |
domain_heuristics | 1 | Punycode, raw IPs, abuse-prone TLDs, etc. |
Vouch is a real MCP server, an x402-paid HTTP API, and a tiny SDK — pick whichever fits your stack. Nothing needs an account or API key.
Point your client at the Streamable-HTTP endpoint — it exposes vouch_score and vouch_report, and ships model-facing instructions so the agent knows to check a counterparty before it pays:
{
"mcpServers": { "vouch": { "type": "streamable-http", "url": "https://vouch.futuronoti.workers.dev/mcp" } } }
For clients that only speak stdio, bridge it with npx mcp-remote https://vouch.futuronoti.workers.dev/mcp. Vouch is also listed in the official MCP registry as io.github.notifuturo/vouch.
curl -s https://vouch.futuronoti.workers.dev/v1/score \
-H 'content-type: application/json' -d '{"target":"https://some-merchant.com"}'
import { assertTrusted } from "vouch-sdk";
await assertTrusted("https://some-merchant.com", { minScore: 75 }); // free; throws if risky await payTheMerchant();
The paid POST /v1/check adds the explainable reasons, weighted signals, and a signed Ed25519 attestation (keep it as proof of due diligence). See examples/buyer.ts for the full x402 pay-and-retry loop and sdk/ for the client.
| Method & path | Cost | Description |
|---|---|---|
POST /v1/check | x402 (USDC) | Full verdict → { score, risk, reasons, signals, attestation } (signed Ed25519 receipt) |
POST /v1/score | free (rate-limited) | Score + risk only → { score, risk }. Pay /v1/check for the *reasons* |
GET /v1/attestation/pubkey | free | Ed25519 public key (JWK) to verify a /v1/check attestation |
POST /v1/report | free | Submit a flag or vouch for a host |
GET /v1/stats | free | Aggregate reputation totals (hosts, checks, flags, vouches) |
POST /mcp | free | MCP Streamable-HTTP server (vouch_score, vouch_report tools) |
GET /health | free | Liveness |
GET / | free | Service info (HTML landing for browsers) |
CORS is open (*) and the x402 payment headers are exposed, so browser-hosted agents can preflight and complete the pay/retry flow.
/v1/report (abuse model)POST /v1/report is free and unauthenticated by design — anyone can submit a flag or vouch for a host, so the raw flags/vouches counts are *community signals, not ground truth*. Abuse is contained by:
0.3, ramping to 1.0 only after ~7 days of sustained reporting. The scoring signal uses these weighted totals, so spinning up fresh sybil identities buys far less influence. A source can also move a given host's counter at most once per 24h (per-source de-dup); raw counts are still logged for audit.reputation is a *non-authoritative* signal: it can lower a score but cannot, on its own, force a `critical` verdict. Only objective signals (threat feeds, transport) can hard-cap the score. So a burst of anonymous flags can't unilaterally brand a legitimate counterparty as unsafe.target/reason/reporter are length-capped before storage.Treat /v1/stats and report counts as a crowd-sourced prior that *informs* the paid verdict, not as an authoritative blocklist.
TypeScript · Hono · Cloudflare Workers (free tier) · D1 (free SQLite) · @x402/* v2 · public facilitator at x402.org/facilitator.
Live on Base mainnet (X402_NETWORK=base, real USDC, $0.01/call). For local development, set X402_NETWORK=base-sepolia and fund a throwaway wallet from the free Circle faucet. The live network and price are authoritatively advertised at /.well-known/x402.
npm install
npm run typecheck npm test
cp .dev.vars.example .dev.vars # set PAY_TO_ADDRESS (your testnet wallet) wrangler d1 create vouch # paste database_id into wrangler.toml npm run db:init # apply schema locally npm run dev # local Worker
MIT — see LICENSE.