Consentgate Mcp

io.github.jessepetersondevPublished by GitHub account jessepetersondevv0.1.1Updated Oct 24, 2026

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

Overview

AI-generated overview

A local MCP server that lets an AI agent check its planned actions against a ConsentGate consent policy and request human approval via Telegram before acting.

What you can do
Check a planned action against your consent rules and get allow, deny, or ask when no rule matches, without blocking the agent. Request explicit human approval for high-stakes actions by sending an Approve/Deny prompt to a linked Telegram account and waiting up to about 120 seconds for a tap. Both tools fail closed: anything other than an explicit allow means the agent should not proceed.
When to use it
Use it when you want an agent to ask before sending messages, spending money, deleting data, posting publicly, or otherwise changing external state, and you want a human decision point delivered to Telegram.
Requirements
Runs locally over stdio, typically via npx consentgate-mcp, so Node.js is needed. Requires a ConsentGate account and an API key supplied in the CONSENTGATE_API_KEY environment variable. Interactive approvals need the Pro plan and a linked Telegram account; check_action works on any plan. CONSENTGATE_BASE_URL can point at a self-hosted instance.
Before you install
The API key in CONSENTGATE_API_KEY is a secret and should be kept out of shared configs. Approval prompts and action details are sent to ConsentGate and Telegram, so action metadata leaves your machine. Interactive approvals require a paid Pro plan. The server only returns decisions; whether the agent actually stops on deny depends on the agent following the fail-closed policy.

Installation

In SourceWeft

  1. Open Consentgate Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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):

jsonc
{  "mcpServers": {    "consentgate": {      "command": "npx",      "args": ["-y", "consentgate-mcp"],      "env": { "CONSENTGATE_API_KEY": "cg_your_key_here" }    }  }}

Claude Code

bash
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.

bash
cd mcpnpm install        # also builds via the `prepare` scriptnpm run build      # -> dist/index.jsCONSENTGATE_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):

jsonc
{  "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

Source: README.md at commit 3d74d50

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts