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. 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.

The approval email Sarah Chen receives — Claims Agent needs your approval: refund €1,240.00 to Northwind Ltd, medium risk, with a Review and decide button — and the approval page it opens on her phone, with the key factors, the refund's details and Reject and Approve buttons.
A report with a sentence highlighted and three open comments beside it — one with an attached chart, one from a guest, one the agent has replied to — under a Build next version button.
The ask is one tool call from Claude Code: 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.