Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Proof primitive for AI agents on MultiversX. Anchor file hashes on-chain as verifiable proofs.
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 xproof https://xproof.app/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": {
"xproof": {
"url": "https://xproof.app/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": {
"xproof": {
"type": "http",
"url": "https://xproof.app/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.
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 jasonxkensei, 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.
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.0) reached the registry 9 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, Agent Data Tools: Utilities
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.
103 tools: JSON repair, CSV, hashes, cron, dates, units, validators. 25 free calls.
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.
Prove Before Act
Trust primitive for AI agents & humans on MultiversX
Live App • Quick Start • API • Agent Integration • Trust Leaderboard • Architecture • Acquisition guide (FR) • Changelog
Trust is programmable.
Prove Before Act anchors verifiable proofs of existence, authorship, and agent output on the MultiversX blockchain -- composable, API-first, built for both humans and autonomous agents.
The Prove Before Act README is certified on the MultiversX blockchain.
This is not a demo. A real payment, a real hash, a real immutable proof.
Prove Before Act is a trust primitive. It records SHA-256 file hashes on the MultiversX blockchain, producing tamper-proof, publicly verifiable proofs of existence and ownership.
Jason Petitfourg — AI Product Builder is the founder of Prove Before Act. Prove Before Act is the accountability pattern for autonomous agents; xProof is its reference implementation. Before acting, an agent commits and proves a declared decision basis (WHY), then proves WHAT happened. WHY is not a request for internal chain-of-thought. See the founder story and the public production proof.
Historical xproof identifiers remain supported where compatibility requires them, including legacy package imports, agent IDs, and protocol records. They are not a separate public product brand.
/api/mx8004/status for whether it is active; the current production status is not_configured.MultiversX is a European, carbon-negative blockchain with 6-second finality, negligible fees ($0.001/tx), and a growing ecosystem of AI-native protocols. Prove Before Act leverages its security and efficiency to deliver enterprise-grade certification at minimal cost.
AI agents are already writing code, drafting contracts, generating reports,
and making decisions. But when something goes wrong -- who proves what was
produced, when, and by whom?
Prove Before Act is the answer layer.
"My agent delivered this report" A LangChain agent generates a financial analysis for a client. Prove Before Act certifies the output before delivery. If the client disputes the content later, the blockchain timestamp is the proof. Irrefutable. No he-said-she-said.
"This build was not tampered with" Your CI/CD pipeline compiles and ships. Prove Before Act's GitHub Action certifies every artifact automatically. Six months later, a security audit asks: *"Is this binary what you deployed?"* -- one hash check, case closed.
"I can trust what Agent B gave me" Multi-agent pipelines have no native trust layer. When Agent A certifies its output before handing off to Agent B, the chain of custody becomes verifiable. Agents can prove they did their job. Pipelines become auditable end-to-end.
"Agent identity can be verified on-chain" MX-8004 (Trustless Agents Standard) support is optional. When the integration is active, eligible certifications can enter its identity, validation, and reputation flow. Check /api/mx8004/status before relying on MX-8004 identity or reputation data; production currently reports not_configured.
"We are compliant" Regulated industries need timestamped evidence of AI-generated decisions. Prove Before Act turns every agent action into a blockchain-anchored record -- ready for audit, litigation, or regulatory review. Zero extra work.
"My trust score speaks for itself" An autonomous agent builds reputation by certifying its outputs consistently over time. Every confirmed certification contributes to its on-chain trust score -- visible on the public Trust Leaderboard at /leaderboard. Clients and peer agents query /api/trust/{wallet} before engaging. Trust becomes mathematical, not reputational.
Historical benchmark: the agent identifier
xproof_agent_verifyis a legacy
compatibility name. Its prior beta timings and leaderboard values are not current
production metrics. Use a public agent profile and proof response for live status.
The pattern is always the same: *Agent produces output -> Prove Before Act anchors it -> anyone can verify, forever.*
Low flat rate per certification. No tiers, no subscriptions, no monthly fees. Current price is served live at https://provebeforeact.com/api/pricing.
Current pricing: https://provebeforeact.com/api/pricing
| Payment Method | Currency | Account Required |
|---|---|---|
| x402 (HTTP 402) | USDC on Base | No |
| ACP | EGLD | Yes (API key) |
Agents can pay per-proof via x402 with zero onboarding -- send a request, receive payment requirements, sign, resend.
# Certify a file in one call
curl -X POST https://provebeforeact.com/api/proof \ -H "Authorization: Bearer pm_your_api_key" \ -H "Content-Type: application/json" \ -d '{ "file_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "filename": "report.pdf", "author_name": "Your Name" }'
Response:
{
"proof_id": "uuid", "status": "certified", "file_hash": "e3b0c44...", "verify_url": "https://provebeforeact.com/proof/uuid", "certificate_url": "https://provebeforeact.com/api/certificates/uuid.pdf", "proof_json_url": "https://provebeforeact.com/proof/uuid.json", "blockchain": { "network": "MultiversX", "transaction_hash": "txhash...", "explorer_url": "https://explorer.multiversx.com/transactions/txhash..." } }
Go to provebeforeact.com, connect your MultiversX wallet, drop a file, certify. Done.
git clone https://github.com/jasonxkensei/prove-before-act.git
cd prove-before-act npm install cp .env.example .env # configure your environment npm run db:push # initialize database npm run dev # starts on http://localhost:5000
Prerequisites: Node.js 20+, PostgreSQL (or Neon), MultiversX wallet.
See docs/environment-variables.md for configuration details.
Certify one file hash on-chain in a single API call.
curl -X POST https://provebeforeact.com/api/proof \
-H "Authorization: Bearer pm_your_api_key" \ -H "Content-Type: application/json" \ -d '{ "file_hash": "<64-char-sha256-hex>", "filename": "output.txt", "author_name": "Agent Name", "webhook_url": "https://your-server.com/webhook" }'
| Field | Type | Required | Description |
|---|---|---|---|
file_hash | string | Yes | SHA-256 hex hash (exactly 64 characters) |
filename | string | Yes | Original filename |
author_name | string | No | Defaults to "AI Agent" |
webhook_url | string | No | HTTPS URL for on-chain confirmation callback |
Certify up to 50 files in a single call. The same limit applies to API-key and x402 batch requests; x402 payment authorization still covers only one new certification per payment.
curl -X POST https://provebeforeact.com/api/batch \
-H "Authorization: Bearer pm_your_api_key" \ -H "Content-Type: application/json" \ -d '{ "files": [\ {"file_hash": " ", "filename": "file1.txt"},\ {"file_hash": " ", "filename": "file2.py"}\ ], "author_name": "Agent Name" }'
| Endpoint | Returns |
|---|---|
GET /api/proof/:id | Full certification record (JSON) |
GET /proof/:id.json | Structured proof document (JSON) |
GET /proof/:id | Human-readable proof page (HTML) |
GET /api/certificates/:id.pdf | PDF certificate with QR code |
GET /badge/:id | Dynamic SVG badge (shields.io style) |
When a proof is confirmed on-chain, Prove Before Act sends a POST to your webhook_url. Treat delivery as at-least-once, not exactly-once: a receiver may process an event and still see it again if the sender does not record the response. The sender makes up to three attempts per delivery round with backoff. If a delivery fails, an operator may retry it in a new round; delivery is not guaranteed if the attempts fail.
For ready-to-adapt Python and Java receivers, see the partner webhook guide.
Verify X-ProveBeforeAct-Signature using your per-proof webhook secret and the raw request body: it is the hex HMAC-SHA256 of X-ProveBeforeAct-Timestamp + "." + rawBody. The timestamp is Unix epoch seconds. Each attempt is signed separately, so the timestamp and signature may change on a retry. X-ProveBeforeAct-Event identifies the event, and X-ProveBeforeAct-Delivery is the certification ID and remains the same across retries and operator-initiated rounds. The legacy X-xProof-* headers are also sent with identical values. Verify the signature and timestamp before trusting the delivery ID.
Persist delivery IDs and make recording the ID atomic with applying the event. For example, with Express and PostgreSQL, after signature verification:
CREATE TABLE webhook_deliveries (
delivery_id text PRIMARY KEY );
app.post("/webhook", async (req, res) => {
const deliveryId = req.get("X-ProveBeforeAct-Delivery"); if (!deliveryId) return res.sendStatus(400);
const client = await pool.connect(); try { await client.query("BEGIN"); const { rowCount } = await client.query( "INSERT INTO webhook_deliveries (delivery_id) VALUES ($1) ON CONFLICT DO NOTHING", [deliveryId], ); if (rowCount) await applyEvent(client, req.body); // sa
Only the beginning is shown; read the rest in the repo