Skip to main content
Glama
consentgate-mcp

consentgate-mcp

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

check_action

no

Evaluates an action against your consent rules. Returns allow, deny, or ask (no rule matched). Use it before any sensitive/irreversible action.

request_approval

yes (≤120s)

Sends an Approve/Deny prompt to your Telegram and blocks until you tap or it times out. Returns allow only on an explicit human Approve; everything else (deny, timeout, not-available) is deny.

Both fail closed: anything other than an explicit allow means do not proceed.

Related MCP server: Relay

Prerequisites

  1. A ConsentGate account and an API key → https://consentgate.fyi/dashboard/keys (cg_…).

  2. For request_approval (interactive approvals): the Pro plan and a linked Telegram account (Dashboard → Telegram → Connect). check_action works on any plan.

Configuration

Environment variables:

Var

Required

Default

Notes

CONSENTGATE_API_KEY

✅

—

Your cg_… key.

CONSENTGATE_BASE_URL

—

https://consentgate.fyi

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

Generic 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 of npx 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_action

How 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 is allow, proceed. If deny, stop. If ask (or the action is high-stakes), call request_approval and proceed only on an explicit allow.

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 tools
check_actionCheck an action against the consent policyA
Read-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

    A4.6/5.0

    Scored across 2 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    Both tools follow the same verb_noun pattern with snake_case: check_action and request_approval. The naming is consistent, descriptive, and predictable.

    Tool Count3/5

    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.

    Completeness4/5

    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

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Human-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 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Adds a human-in-the-loop checkpoint to MCP-capable AI coding agents, enabling them to pause and request user feedback before executing actions.
      16 npm
      72
      MIT
    • A
      license
      A
      quality
      A
      maintenance
      An MCP server that enables AI agents to pause and request human approval or information via Slack, Telegram, or macOS dialogs before proceeding with actions.
      2
      15
      Apache 2.0
    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP approval gate that ensures agents execute only human-approved, hash-verified actions, providing fail-closed consent for consequential operations.
      MIT