consentgate-mcp
Sends Approve/Deny prompts to Telegram for human approval, blocking the agent until the user responds.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@consentgate-mcp Request approval to transfer $500 to Acme Corp"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
consentgate-mcp
A Model Context Protocol server that lets any MCP-capable agent (Claude Desktop, Claude Code, Cursor, custom agents, …) gate its own actions behind a human's consent policy via ConsentGate.
The agent asks before it acts; you stay in control. High-stakes actions can block on an explicit Approve / Deny tap delivered to your Telegram.
Tools
Tool | Blocks? | What it does |
| no | Evaluates an action against your consent rules. Returns |
| yes (≤120s) | Sends an Approve/Deny prompt to your Telegram and blocks until you tap or it times out. Returns |
Both fail closed: anything other than an explicit allow means do not proceed.
Related MCP server: Relay
Prerequisites
A ConsentGate account and an API key → https://consentgate.fyi/dashboard/keys (
cg_…).For
request_approval(interactive approvals): the Pro plan and a linked Telegram account (Dashboard → Telegram → Connect).check_actionworks on any plan.
Configuration
Environment variables:
Var | Required | Default | Notes |
| ✅ | — | Your |
| — |
| Override for self-hosted instances. |
Claude Desktop
Add to claude_desktop_config.json (Settings → Developer → Edit Config):
{
"mcpServers": {
"consentgate": {
"command": "npx",
"args": ["-y", "consentgate-mcp"],
"env": { "CONSENTGATE_API_KEY": "cg_your_key_here" }
}
}
}Claude Code
claude mcp add consentgate --env CONSENTGATE_API_KEY=cg_your_key_here -- npx -y consentgate-mcpGeneric MCP client
Run npx -y consentgate-mcp (stdio transport) with CONSENTGATE_API_KEY in the environment.
Run from source
Until the package is published to npm, point your client at the built file (
node /abs/path/to/mcp/dist/index.js) instead ofnpx consentgate-mcp.
cd mcp
npm install # also builds via the `prepare` script
npm run build # -> dist/index.js
CONSENTGATE_API_KEY=cg_… npm run smoke # lists tools + a live check_actionHow an agent should use it
A good agent policy:
Before performing any action that sends messages, spends money, deletes data, posts publicly, or changes external state, call
check_action. If the result isallow, proceed. Ifdeny, stop. Ifask(or the action is high-stakes), callrequest_approvaland proceed only on an explicitallow.
Example (request_approval):
{
"action": "transfer_funds",
"category": "spending",
"metadata": { "amount": "$500", "to": "Acme Corp" },
"wait_seconds": 90
}
// -> blocks; you tap Approve in Telegram -> { "decision": "allow", "resolved_by": "human" }License
MIT
Available Tools
2 toolscheck_actionCheck an action against the consent policyARead-only
Check whether an action is permitted by the ConsentGate owner's consent policy BEFORE you perform it. Call this for any potentially sensitive, irreversible, or high-impact action — e.g. sending email or messages, posting publicly, spending money, deleting or overwriting files, calling external/destructive APIs, or changing system state. Returns a decision: "allow" (you may proceed), "deny" (do NOT proceed), or "ask" (no rule matched — not approval; use request_approval to get a human decision, or ask the user). This call does not block. FAIL CLOSED: if the result is anything other than "allow", do not perform the action.
Inputs: action (required), category (required), metadata.
request_approvalRequest explicit human approval (blocks)A
Request a human's explicit approval for an action and BLOCK until they decide or the timeout elapses. Use for high-stakes actions, or whenever check_action returned "ask". The owner gets an Approve/Deny prompt on Telegram. Returns "allow" ONLY if a human tapped Approve. Returns "deny" on tap-deny, on timeout (fail-closed), or when interactive approvals are unavailable (owner not on Pro, or Telegram not linked — see upgrade_required / telegram_linked). NEVER treat a non-"allow" result as permission.
Inputs: action (required), category (required), metadata, wait_seconds.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
check_action and request_approval have clearly distinct purposes: one performs a policy check, the other requests human approval. There is no overlap or ambiguity between them.
Both tools follow the same verb_noun pattern with snake_case: check_action and request_approval. The naming is consistent, descriptive, and predictable.
With only two tools, the set feels minimal but not unreasonable for a focused consent gate. It is borderline according to the calibration, as 1-2 tools tends to be thin, but here the two tools cover the core consent workflow.
The core consent flow is covered: check_action for policy evaluation and request_approval for handling 'ask' results or high-stakes actions. There is no dead end, though a gap exists for managing or viewing the consent policy itself, which is likely configured outside the tool surface.
Related MCP Connectors
MCP enforcement layer that intercepts AI agent actions and blocks rule violations before execution.
Pre-execution policy gate for consequential agent actions with durable trust receipts.
Add human approval to AI agent workflows through cQnce authorization tools.
Set up human approval for your AI agents' tool calls.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceHuman-in-the-Loop authorization gateway for AI Agents. Securely pause MCP workflows and route high-risk actions to human approvers via Slack or Email.52 npm1MIT
- AlicenseNot gradedqualityDmaintenanceAdds a human-in-the-loop checkpoint to MCP-capable AI coding agents, enabling them to pause and request user feedback before executing actions.16 npm72MIT
- AlicenseAqualityAmaintenanceAn MCP server that enables AI agents to pause and request human approval or information via Slack, Telegram, or macOS dialogs before proceeding with actions.215Apache 2.0
- AlicenseNot gradedqualityDmaintenanceAn MCP approval gate that ensures agents execute only human-approved, hash-verified actions, providing fail-closed consent for consequential operations.MIT