io.github.jessepetersondev/consentgate-mcp

Official registry AI and agents

Gate AI agent actions behind a consent policy with human approval via Telegram. Fail-closed.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package consentgate-mcp
Claude Code
claude mcp add consentgate-mcp -e 'CONSENTGATE_API_KEY=<your consentgate_api_key>' -e 'CONSENTGATE_BASE_URL=<CONSENTGATE_BASE_URL>' -- npx -y consentgate-mcp@0.1.1
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "consentgate-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "consentgate-mcp@0.1.1"
            ],
            "env": {
                "CONSENTGATE_API_KEY": "<your consentgate_api_key>",
                "CONSENTGATE_BASE_URL": "<CONSENTGATE_BASE_URL>"
            }
        }
    }
}

Environment variables

  • CONSENTGATE_API_KEY required secret ConsentGate API key (cg_…) from https://consentgate.fyi/dashboard/keys
  • CONSENTGATE_BASE_URL Override the API base URL (defaults to https://consentgate.fyi)

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. consentgate-mcp
  2. Tools
  3. Prerequisites
  4. Configuration
  5. Run from source
  6. How an agent should use it
  7. License

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

ToolBlocks?What it does
check_actionnoEvaluates an action against your consent rules. Returns allow, deny, or ask (no rule matched). Use it before any sensitive/irreversible action.
request_approvalyes (≤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.

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:

VarRequiredDefaultNotes
CONSENTGATE_API_KEY✅—Your cg_… key.
CONSENTGATE_BASE_URL—https://consentgate.fyiOverride 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

Frequently asked questions

What is io.github.jessepetersondev/consentgate-mcp?

Gate AI agent actions behind a consent policy with human approval via Telegram. Fail-closed.

How do I install io.github.jessepetersondev/consentgate-mcp?

It runs on your machine. In Claude Code: claude mcp add consentgate-mcp -e 'CONSENTGATE_API_KEY=<your consentgate_api_key>' -e 'CONSENTGATE_BASE_URL=<CONSENTGATE_BASE_URL>' -- npx -y consentgate-mcp@0.1.1. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.jessepetersondev/consentgate-mcp need an API key?

Yes. It expects CONSENTGATE_API_KEY, which you set in its configuration.

Is io.github.jessepetersondev/consentgate-mcp open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.jessepetersondev/consentgate-mcp?

It is published by jessepetersondev. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.