mild run
OfficialAllows sending Gmail messages after a human approval step.
Allows posting Slack messages after a human approval step.
Allows issuing Stripe refunds, cancelling subscriptions, deleting customers, and creating payouts, all gated behind human approval.
Sends approval notifications and receives approve or block decisions via Telegram.
mild.run — Human Approval Gate for AI Agents
Before your AI agent does anything irreversible — your tap required.
mild.run is an MCP server that intercepts sensitive AI agent actions (Stripe refunds, email sends, data deletes) and sends you a notification (Telegram or email) to approve or block before anything happens. Your agent has no credentials — the gate is enforced at the infrastructure level.
The Problem
You're running AI agents that touch real money, real emails, and real data. When the agent misunderstands your intent or hallucinates a parameter, the damage is immediate and irreversible.
"My agent issued a $1,500 refund. I said $150."
"My agent emailed my entire CRM with a test message."
"My agent cancelled a subscription I didn't mean to cancel."
Telling the agent to "ask before acting" doesn't work — you're asking a non-deterministic system to police itself. mild.run enforces the gate at the infrastructure level. No approval → no action. The agent cannot bypass it.
Related MCP server: Openterms-mcp
How It Works
Sign up at mild.run — free
Connect Stripe (paste your restricted API key —
charges:Read+refunds:Writeonly)Connect Telegram (click a bot link → send one message → verified) or use email approval
Paste your MCP URL into your agent platform:
https://mcp.mild.run/mcp?mcp_token=YOUR_TOKENThat's it. Every sensitive action now requires your tap before it fires.
What It Gates
Action | Stakes | Status |
Stripe refund | Money | ✅ Live |
Stripe subscription cancel | Revenue | ✅ Live |
Stripe customer delete | Data | ✅ Live |
Stripe payout | Cash | ✅ Live |
Gmail send email | Reputation | ✅ Live |
Slack message | Communication | ✅ Live |
Compatible Platforms
Works with any MCP-compatible agent platform:
base44 — paste the URL in one chat message
Claude Desktop — add to
claude_desktop_config.jsonChatGPT — requires Developer Mode (Settings → Connectors), then add as a connector with no auth
n8n — add as an MCP node
Cursor / Windsurf — add to MCP settings
Any MCP client — Streamable HTTP transport (
/mcp)
A legacy SSE endpoint (/sse) is still available for any client that hasn't
moved to Streamable HTTP yet, but it's deprecated — new integrations should
use the /mcp URL above.
The Approval Flow
When your agent tries a gated action:
Agent calls the tool (e.g.
stripe_refund)mild.run logs the request and immediately returns a confirmation to the agent
You receive a notification (Telegram tap or email link) to approve or block:
🌊 mild.run — Approval Required
Action: Stripe Refund
Charge: ch_3abc...
Amount: $150.00
Reason: Customer request
[✅ Approve] [🚫 Block]Tap Approve → refund fires. Tap Block → nothing happens.
No decision within 24 hours → auto-blocked.
Every decision is logged in your dashboard at mild.run.
Why Not Just Prompt the Agent to Ask?
Prompts are advisory — the agent can ignore them, especially under prompt injection. mild.run holds your Stripe restricted key. The agent has no credentials. There is no path from agent to Stripe except through mild.run.
Prompt-based | mild.run | |
Enforced by | The agent itself | Infrastructure |
Bypassable? | Yes | No |
Credential bypass path? | Yes | No |
Audit trail? | No | Yes |
Pricing
Plan | Price | Included |
Free | $0/month | 30 approvals/month, Stripe + Gmail, Telegram |
Solo | $12/month | Unlimited approvals, all integrations, 90-day audit log |
Sign up free at mild.run.
MCP Tools
mild.run exposes the following MCP tools. All require mcp_token as a parameter (your personal token from mild.run/dashboard).
Tool | Description |
| Issue a Stripe refund after human approval |
| Cancel a Stripe subscription after human approval |
| Delete a Stripe customer after human approval |
| Create a Stripe payout after human approval |
| Send a Gmail message after human approval |
| Post a Slack message after human approval |
| Check the status of a pending approval request |
Security
Stripe restricted keys are stored encrypted — never in plaintext
Your
mcp_tokenis a UUID — no email or personal data in the URLTelegram webhook validated with secret token
Every approval decision is logged with timestamp and stored server-side
mild.run never stores your email content beyond the approval request
Links
Website & signup: mild.run
Dashboard: mild.run/dashboard
This server cannot be deployed
Maintenance
Related MCP Connectors
Security gateway for AI agents: policy, approval, and audited execution, no secrets shared.
Zero-secret MCP gateway for AI agents: risk-scored, audited calls with human-in-the-loop approval.
Deterministic runtime safety for AI agents: scan PII, gate tool actions, verify LLM output.
Give your AI agent a spending limit: approval controls and single-use virtual cards.
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.851MIT
- AlicenseAqualityCmaintenanceCryptographic proof of consent for AI agents. Sign before you act. Policy engine enforces spending caps, action whitelists, and escalation rules. Independently verifiable by anyone.102Apache 2.0
- AlicenseAqualityAmaintenanceLocal zero-trust permission gateway for AI agents. Enforces policy-based tool authorization, human approvals, scoped permissions, and cryptographically verifiable audit logs.45Apache 2.0
- AlicenseNot gradedqualityDmaintenanceAgentPay is the authorization layer between an AI agent and real spending. You define the rules — spending caps, allowed merchants, time windows — and every purchase attempt the agent makes is checked against them in real time. Approved transactions go through. Anything outside the mandate is blocked and logged. No more babysitting every agent action. No more runaway charges.MIT