withHuman — Claude Code MCP server: human approval for agent calls
Pauses an AI agent's tool calls until a person signs off. Useful once the agent can issue refunds, roll back deploys or merge code.
claude mcp add --transport http withhuman https://app.withhuman.ai/api/mcp/v1What withHuman does
withHuman sits in front of tool execution as an approval layer. You write the rules once: routine calls go through, blocked ones are refused, and the risky ones wait for someone to decide. Every connected agent obeys the same policies.
An adapter, either a runtime hook or an SDK wrapper, forwards each call over the Agent Approval Protocol. A pipeline then looks at the tool name and its arguments — for instance, small refunds pass and larger ones get escalated. Escalation paths pick the reviewer by team, level and working hours. That person gets email, Slack or Discord, then approves or denies in the web app with the arguments and the agent's reasoning on screen.
The server ships as a Docker image: docker run -d --name withhuman -p 8080:8080 -v withhuman-data:/data quay.io/withhuman/bundle:latest, with the bootstrap secret read from /data/bootstrap-secret. Building from source needs Go and Node 25. Before exposing it beyond your own machine, put it behind HTTPS, set WITHHUMAN_PUBLIC_ORIGIN, restrict WITHHUMAN_TRUSTED_PROXIES to your proxy addresses and keep WITHHUMAN_SECRETS_KEY safe; without SMTP, invitations and password resets never reach anyone.
What it helps with
- gate a refund behind a human before it is issued
- route tool calls by a threshold in their arguments
- pick a reviewer from team and working hours
- auto-deny tool calls your agent must not make
- keep pending requests in one review queue
Example prompts for the agent
- Connect this agent to withHuman and set the pipeline so refunds under 20 dollars auto-approve and anything larger asks me
- Add an escalation path for the payments team during working hours and send the rest to the on-call reviewer
- Show me which tool calls are waiting for my approval right now
How to install withHuman
Platform CLI: remote server
claude mcp add --transport http withhuman https://app.withhuman.ai/api/mcp/v1Platform CLI: remote server
codex mcp add withhuman --url https://app.withhuman.ai/api/mcp/v1Config file
{
"mcpServers": {
"withhuman": {
"url": "https://app.withhuman.ai/api/mcp/v1"
}
}
}Config file
{
"servers": {
"withhuman": {
"type": "http",
"url": "https://app.withhuman.ai/api/mcp/v1"
}
}
}Platform CLI: remote server
gemini mcp add -t http withhuman https://app.withhuman.ai/api/mcp/v1Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about withHuman
How do I install withHuman in Claude Code?
Run claude mcp add --transport http withhuman https://app.withhuman.ai/api/mcp/v1.
What does withHuman do?
It inspects each agent tool call before it runs, then approves, denies or holds it for a person according to your rules. Reviewers decide in the web app or from the email, Slack and Discord message.
What do I need to run withHuman myself?
Docker for the prebuilt container, or Go and Node 25 to build from source. Going past your local machine also takes HTTPS, SMTP and a WITHHUMAN_SECRETS_KEY.