MCP.so
Sign In
Servers

Claude MCP Approval Server

@adstastic

MCP server with Whatsapp integration (Twilio) to remote approve Claude Code tool use

Overview

What is Claude MCP Approval Server?

A Model Context Protocol (MCP) server that provides approval prompts via WhatsApp before executing potentially sensitive commands. Built with FastMCP and Twilio, it is designed for users of Claude who want a security layer on tool execution.

How to use Claude MCP Approval Server?

Install dependencies with uv install, set up a Twilio account, configure environment variables in .env, create a WhatsApp template, expose your local server via ngrok or Tailscale, configure the Twilio webhook, start the server with uv run approval_server.py, then launch Claude with --mcp-config mcp-servers.json and --permission-prompt-tool mcp__approval-server__permissions__approve. Approve or deny commands by tapping WhatsApp quick-reply buttons.

Key features of Claude MCP Approval Server

  • Intercepts tool executions and requests approval via WhatsApp
  • Uses Twilio to send requests with quick‑reply buttons
  • Built on FastMCP for easy Claude integration
  • Requests automatically expire after 5 minutes
  • SQLite database tracks approval request history
  • Only accepts responses from the configured phone number

Use cases of Claude MCP Approval Server

  • Approve bash commands or file operations from anywhere via WhatsApp
  • Add a security review step before Claude executes sensitive tools
  • Enable remote teams to control infrastructure actions with two‑factor approval
  • Maintain an audit trail of which commands were allowed or denied

FAQ from Claude MCP Approval Server

How does the approval process work?

When Claude attempts to execute a tool, the permissions__approve function sends a WhatsApp message with formatted command details and quick‑reply buttons. Your tap approves or denies execution.

What happens if I don’t respond to an approval request?

The request expires after 5 minutes for security. If no response is received, Claude does not execute the command.

Does the approval server work in interactive Claude mode?

No. Non‑interactive mode (without the -p flag) does not use the --permission-prompt-tool flag, so approval prompts are not triggered in that mode.

Which phone number receives the approval messages?

The phone number set in the APPROVAL_PHONE environment variable. This must be the same number that joined the Twilio WhatsApp sandbox.

Does using the -p prompt mode affect network access for the server?

The -p (prompt) mode itself has no network access, but the MCP server runs as a separate process and can still send WhatsApp requests if it has network connectivity.

Tags

More from AI & Agents