GotoHuman MCP Server: Human-in-the-Loop Approvals
Streamline approvals with the GotoHuman MCP server, letting AI agents and automations send requests to your gotoHuman inbox for human-in-the-loop decisions.
npx -y @gotohuman/gotohuman-mcp-serverOverview
GotoHuman MCP Server implements a lightweight Model Context Protocol (MCP) endpoint that routes automated approval requests from AI agents, bots, and other automations into a human review workflow (your gotoHuman inbox). The server standardizes how models or agents ask for permission, context, or clarification, records the request, and forwards it to the right human inbox for an explicit allow/deny/clarify response.
This is useful when decisions must include human oversight — for example, when an LLM proposes a potentially risky action, when automation needs an auditor to approve a transaction, or when content moderation requires a human judgment. The server provides a small API, persistent storage for requests, and optional callbacks/webhooks so your agent can continue once a human responds.
Features
- Standardized MCP request endpoint for human-in-the-loop approvals
- Persistent storage of requests and responses (supports SQLite/Postgres)
- Webhook/callback support to notify agents when a decision is made
- Configurable timeout/expiry for requests
- Simple API key authentication for agents and system integrations
- Integration with gotoHuman inbox (inbox routing metadata)
- Docker and local development support
Installation / Configuration
Clone and run (basic):
# Install (if Node-based)
Run with Docker:
Example environment variables
| Variable | Purpose | Example |
|---|---|---|
| MCP_PORT | Server port | 3000 |
| MCP_API_KEY | API key for authentication | sk-mcp-XXXX |
| GOTOHUMAN_API_KEY | API key for forwarding to gotoHuman | sk-gh-XXXX |
| GOTOHUMAN_INBOX_ID | Default inbox id | inbox-123 |
| DATABASE_URL | DB connection string (sqlite:// or postgres://) | sqlite://./db.sqlite3 |
API examples
Create an approval request (curl):
Check request status:
Webhook payload (example delivered to callback_url):
Authentication
- The server accepts a bearer token in Authorization header. Protect the MCP_API_KEY and GOTOHUMAN_API_KEY like other service credentials.
Persistence
- Default local SQLite is suitable for development. For production, set DATABASE_URL to a managed Postgres instance.
Available Tools or Resources
- GitHub repository: https://github.com/gotohuman/gotohuman-mcp-server
- Example client snippets (JavaScript/Python) included in the repo to simplify integration
- Webhook / callback sample implementations showing how to resume agent workflows on human response
- Schema documentation for MCP request payload (title, description, choices, metadata, expire_at, callback_url)
- Dockerfile and sample docker-compose for quick local testing
Use Cases
- Deployment gating: Automation submits a deployment plan to the MCP server. A release engineer reviews and approves or requests changes before the CI/CD pipeline proceeds.
- High-value transaction approval: A payments bot flags transactions above a threshold and asks the finance team to approve or reject via gotoHuman. On approval the callback notifies the transaction service to finalize.
- Content moderation: An LLM categorizes user-submitted content as potentially policy-violating and forwards the item for human moderation. The moderator’s decision is posted back as the final moderation action.
- Security-sensitive actions: Privileged actions (e.g., granting access, rotating keys) are routed through human reviewers to ensure an auditor signs off.
- Clarification loop: An agent encountering ambiguous user intent asks a human for clarification; the human’s reply updates the agent’s context and the agent resumes.
If you’re integrating an AI agent or automation that must pause for human validation, the GotoHuman MCP Server provides a compact, auditable, and webhook-friendly way to hand off decisions to humans and resume automated workflows after a choice is made. For implementation details and examples, see the repo and included client examples on GitHub.