Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Ed25519-signed receipts for every AI agent action. Local-first, verifiable, no server required.
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 …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"agent-receipts": {
"command": "npx",
"args": [
"-y",
"@agent-receipts/mcp-server"
]
}
}
}Run this in your terminal
claude mcp add agent-receipts -- npx -y @agent-receipts/mcp-serverPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"agent-receipts": {
"command": "npx",
"args": [
"-y",
"@agent-receipts/mcp-server"
]
}
}
}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-receipts": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@agent-receipts/mcp-server"
]
}
}
}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.
These 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 8, 2026
The registry name was verified with the GitHub account webaesbyamin, 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.
The registry does not list a required key, though some servers ask you to sign in on first use.
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.6.0) reached the registry 6 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, MyGroceryPal
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.
UK supermarket prices: compare products and baskets across 13 stores, see price history, set alerts.
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.
Your agent says it's done. Prove it.
Agent Receipts gives the work your AI agent does a signed receipt: what went in, what came out, which model ran, how long it took and what it cost. Each receipt is signed with Ed25519 and linked to the one before it, so anyone can check it offline with your public key, without trusting you, your server or the agent. Change one byte and it no longer verifies.
claude mcp add agent-receipts -- npx @agent-receipts/mcp-server
receipts.webaes.com (what it is, install, and a page that signs itself) · demo.receipts.webaes.com (the dashboard with sample data) · verify.webaes.com (a real issuer's verify page) · by Webaes
Automatic receipts · Get started · Magic Folder · Memory · How it's different
Get a signed receipt for everything your agent does, without changing how you work.
Claude Code: one command. Every file edit, file write, notebook edit and shell command gets its own signed receipt, chained per session, and the session ends with a summary (actions, files touched, duration):
npx @agent-receipts/cli hooks install # or --scope project / --scope local
It shows the change to Claude Code's settings.json and asks first; hooks uninstall takes it out again. Or install it as a Claude Code plugin:
claude plugin marketplace add webaesbyamin/agent-receipts
claude plugin install agent-receipts@agent-receipts
Any MCP server: the proxy. Put it in front of a stdio MCP server and every tool call through it is signed (mcp. . ), while every message passes through unchanged:
claude mcp add fs-receipted -- npx -y @agent-receipts/cli proxy --name fs -- npx -y @modelcontextprotocol/server-filesystem ~/Documents
Receipts hold hashes only (inputs, outputs, and each changed file), never commands, file contents or results. See them in the dashboard's Sessions view (npx @agent-receipts/dashboard) or check one with agent-receipts verify-chain . Setup for Claude Desktop and Cursor: CLI README.
What these receipts do and don't prove:
~/.agent-receipts on your machine. They show the record wasn't changed after signing; someone who controls that machine could sign a false one. To show others, publish your public key so they know which key to trust.Every memory observation and every action your agent tracks produces a receipt — a signed JSON document with:
This isn't logging. Logs are mutable text files the agent writes about itself. Receipts are cryptographic proof that a third party can verify without trusting you, your server, or the agent.
npx @agent-receipts/mcp-server
That's it. No API key. No account. No cloud. No monthly fee. No data leaving your machine. SQLite database in ~/.agent-receipts/. Works offline. Needs Node.js 22.16 or later.
Needs Node.js 22.16 or later.
Claude Code:
claude mcp add agent-receipts -- npx @agent-receipts/mcp-server
Claude Desktop (claude_desktop_config.json) / Cursor (.cursor/mcp.json):
{
"mcpServers": { "agent-receipts": { "command": "npx", "args": ["@agent-receipts/mcp-server"] } } }
This tells your agent when to observe memories, recall context, and track actions — so it works automatically:
npx @agent-receipts/cli prompts claude-code
Copy the output into your project instructions or system prompt.
Your agent will now:
memory_context at the start of sessions to load what it knows about youmemory_observe when it learns something worth rememberingtrack_action when it performs significant actionsnpx @agent-receipts/dashboard # Web UI at localhost:3274
npx @agent-receipts/cli stats # Terminal overview npx @agent-receipts/cli memory entities # See what your agent remembers
Run the interactive demo → — experience memory, verification, and bundle export in 60 seconds. No install required.
Drop a file into a folder named after a job ("Write product descriptions", "Fix typos"). An agent does the work, and the result comes back in Done/ with your untouched original and a one-page receipt.html that anyone can check, plus an approval step for anything client-facing.
npm install -g @agent-receipts/magic-folder
magic-folder init ~/"Magic Folder" magic-folder run ~/"Magic Folder" --engine ollama --issuer "Your Studio"
Needs Node 22.16 or later and, for free local jobs, Ollama. Step-by-step for Mac, Windows and Linux: receipts.webaes.com/install.
The runner writes the receipt, not the agent: it hashes the real files and records the model, time and cost itself (on Claude, the cost is the Agent SDK's own estimate and is marked as one; on Ollama it's $0). See packages/magic-folder and the static verify page.
Your agent gets structured, persistent memory across sessions — people, projects, tools, preferences, facts. Not a flat key-value store. An entity-observation graph where every fact links to the conversation that created it.
# Your agent learns something
memory_observe → "User prefers TypeScript, uses Neovim, building a SaaS called ModQuote"
memory_context → loads everything: entities, observations, relationships, preferences
memory_recall → "what tech stack does the user prefer?" → structured results
memory_forget → soft delete with audit trail
The agent handles this automatically when you add the system prompt. You don't manage memory manually.
Export your agent's entire memory as a single verifiable file:
npx @agent-receipts/cli memory export > my-project.bundle.json
The bundle includes every entity, observation, relationship, the receipts that created them, and the public key needed to verify everything. Hand it to another agent, another team, or another Agent Receipts instance — they can verify every fact without trusting you.
You're building with AI agents. Claude Code refactors your auth module and says "done, all tests pass." Your agent generates a customer quote and says it applied the right pricing. Your assistant remembers your preferences from last week — but you can't see why it thinks that, or whether it's right.
Three things are broken:
The idea came from building ModQuote, a multi-tenant SaaS for automotive protection and detailing shops: PPF, ceramic coatings, window tint.
AI-drafted quotes are on ModQuote's roadmap, and designing that feature raised a question I couldn't answer with the tools I had. If an agent drafts a $2,400 PPF quote and the customer disputes the price, how do I show what vehicle data it received and which pricing rules it applied? Not with a log entry the agent wrote about itself, but with proof that someone outside my system can check.
Memory tools could tell me what an agent remembered, and observability tools could tell me what happened inside my own pipeline. Neither gave me a record that a customer, a client or an auditor could verify without trusting me.
So I built Agent Receipts first, as its own open-source project. When AI quoting ships in ModQuote, every quote will come with a signed receipt. Until then, Agent Receipts stands on its own: any agent, any client, any workflow.
Most AI tooling answers one of two questions. Memory tools answer *"What does my agent remember?"* Observability tools answer *"What happened in my pipeline?"* Agent Receipts answers a third: "Can you prove it?"
verify-chain detects edited, removed or forked receipts.npx and done. Keys and receipts stay in ~/.agent-receipts. MIT licensed.any in package source@noble/ed25519 (pure JS, no native code); receipt fOnly the beginning is shown; read the rest in the repo