Claude Code · MCP
Claude Code does the work.
A person signs it off.
Get a decision from the person who owns it — the finance lead, the client, the engineer on call — before Claude Code does something that matters, and keep a record of who allowed it. The permission prompt in your terminal asks whoever is at the keyboard and keeps nothing; connect Deliverd once and Claude Code asks the person who should decide, wherever they are, and carries on when they answer.
No card required · Approvals on every plan · No token to paste
The situation
What happens when Claude Code needs a person today
The permission prompt asks whoever is at the keyboard
Claude Code stops before a consequential tool call and asks you. That is the right instinct and the wrong person when the decision belongs to a finance lead, a client or the engineer on call — none of whom can see your terminal.
“Accept all” is the default by Friday
Prompt after prompt, every one answered by the same person, and the pause becomes a reflex. A decision nobody weighed is not oversight, and nothing records that it was skipped.
The transcript says what ran, not who allowed it
When one call turns out to matter, the question is who said it could run and what they were shown. A session log was never built to answer that.
Setup
Connect Claude Code
Ask Claude to do the work, and have it ask you — or Finance — before anything consequential, from the terminal. It can publish what it builds the same way.
claude mcp add --transport http deliverd https://deliverd.dev/api/mcp
- 1
Add the server
claude mcp add --transport http deliverd https://deliverd.dev/api/mcp
Claude Code opens a browser the first time it is used, so you can pick the organisation and approve access.
No token is written anywhere. Deliverd implements the MCP authorization spec, so the client registers itself and you approve it in a browser — and removing someone from your organisation cuts their connection off at once, rather than whenever a token happens to expire.
Or paste this into Claude Code
It runs the installer, tells you what it connected, and proves the connection by asking you to approve something. One step is yours: approving the connection in your browser.
Set up Deliverd so you can ask me for approval and publish work for me. 1. Run: npx deliverd setup --url https://deliverd.dev It looks for Claude Code, Codex, Claude Desktop, Cursor and Muse Code on this machine and adds the Deliverd MCP server to each one it finds. There is no API key to paste. 2. Tell me exactly what it connected and what it says to do next. Some tools need a restart, Codex needs "codex mcp login deliverd" and Muse Code needs "muse mcp login deliverd" before the connection is live. 3. Once you can see the Deliverd tools, prove the connection by asking me for an approval with the request_approval tool. Title it "Hello from Deliverd", say in the description that it is a test of the connection, and leave the approvers out so it comes to me. 4. Give me the URL it returns, then poll get_approval until I have decided and tell me what I said. From then on, ask me the same way before anything consequential; when there is a report to share, publish it with publish_report. If npx is unavailable, install the CLI first with: npm install -g deliverd
Teach it when to ask, and how to build
Open-source skills Claude Code reads from disk. The approval skill teaches it when to stop and ask a person, and how to act on the answer; the ethics skill, when work could harm someone and that concern belongs in front of whoever decides; the artifact skill, how to build a page that holds up once published; the tasks skill, how to keep long work on its objective; the compliance skill, how to work under an organisation's AI governance and leave evidence an auditor can check.
npx skills add deliverd-dev/deliverd-skills --skill approval
npx skills add deliverd-dev/deliverd-skills --skill ethics
npx skills add deliverd-dev/deliverd-skills --skill artifact
npx skills add deliverd-dev/deliverd-skills --skill tasks
npx skills add deliverd-dev/deliverd-skills --skill compliance
Or add the plugin marketplace, then install the plugin it lists from /plugin: the server and all six skills at once.
claude plugin marketplace add deliverd-dev/deliverd-skills
What you get
Once it is connected
Everything below is one call from Claude Code, over the connection you just made — the ask first, and publishing last.
One call to ask a person
request_approval, request_review or request_information over the connection above. The agent says what it wants to do, why, and what it affects, and the question goes to a named person — not to whoever is at the keyboard.
Decided wherever they are
They approve, correct a figure the agent marked as correctable, reject with a reason or ask the agent a question — on a page built for a phone, from an email link, or from a Slack or Teams card. A colleague can cover while they are away.
The agent carries on
The decision comes back as something the agent can branch on: poll get_approval, wait on a callback URL, or let the SDK block. Approved, it does the action. Rejected, it stops and knows why.
A check before it acts
Before a payment, a deployment or a message to a customer, check_gate declares the action. With no rules a named person decides every one; with rules, the routine cases are settled and the rest go to a person.
A record of who allowed what
Who was asked, what they were shown, what they decided and when — kept as the work happens, and exported as an evidence pack in JSON, CSV or PDF with a digest so an altered copy can be told apart.
And when there is a report, a URL instead of a file
publish_report puts the HTML the agent writes on an address behind your organisation's sign-in, versioned, with comments anchored to the passage they are about. One capability among the rest, over the same connection.


request_approval over the connection above, answered on a page that works on a phone, with the decision back in Claude Code as soon as it is made. See how approvals work →Questions
Claude Code and Deliverd.
Do I need an API token?
No. The server implements the MCP authorization spec, so Claude Code registers itself and opens a browser for you to approve the connection. Nothing writes a credential to disk.
Does this work with Claude Desktop and the web app too?
Yes — add the same address under Settings → Connectors. It is the same server and the same tools.
What can Claude actually do once it is connected?
Ask a named person for approval, a review or information it is missing, check a gate before a consequential action, and keep a task's objective and state across sessions — all over the same connection. It can also publish a report, update it in place, read reader comments and resolve them.
Who decides, and can Claude approve its own request?
A named person, or your organisation's rules for the routine cases. The requester is removed from the approvers and an agent may not be an approver of anything — refused at the service, not hidden in the interface.
Can it publish something publicly by accident?
An agent identity can never grant public access — that is refused at the service, not just hidden in the UI. Everything else runs through your organisation's publishing policy.
Let Claude Code act. Know who said it could.
One call to ask a person, answered where they are, and a record of who allowed what — from the tool you already have open.