Preloop — Claude Code MCP server: govern agent tool calls
Sits between your agent and its tools, allowing, denying or holding each call for approval. Adds budgets and per-model spend tracking.
claude mcp add --transport http preloop https://preloop.ai/mcp/v1What Preloop does
Preloop is a self-hostable service with two halves. The control plane is an MCP firewall: it lets a tool call through, blocks it, or parks it until a human approves, and a model gateway counts tokens and money against the agent, session and API key. Policies are written as code in YAML and CEL. The software factory half starts agents on its own — a flow fires on a tracker event, webhook or CI job, runs in a hosted container or on your runner, and lands the work as a pull request.
Local agents come under governance through the CLI. preloop agents discover finds their configs and reports what each adapter supports; preloop agents onboard routes calls through the managed MCP entry. Steering a running agent needs the runtime plugin, installed with preloop agents install-plugin, or preloop claude for Claude.
The MCP server itself lives at https://preloop.ai/mcp/v1, and Claude needs one add command. What happens next depends on where you point it: Preloop Cloud or your own instance on localhost. Without a reachable control plane there is nothing to enforce, because policies and budgets are stored there.
What it helps with
- block a dangerous tool call before the agent runs it
- send a call to a human for approval over Slack or phone
- break down spend by model and session
- start an agent from a Jira or GitHub event
- get one timeline of tool calls, policies and cost
Example prompts for the agent
- Add the Preloop MCP server and show me which local agents it finds
- Set a policy so
Bashcalls need approval - How much did this session spend, and on which models
How to install Preloop
Platform CLI: remote server
claude mcp add --transport http preloop https://preloop.ai/mcp/v1Platform CLI: remote server
codex mcp add preloop --url https://preloop.ai/mcp/v1Config file
{
"mcpServers": {
"preloop": {
"url": "https://preloop.ai/mcp/v1"
}
}
}Config file
{
"servers": {
"preloop": {
"type": "http",
"url": "https://preloop.ai/mcp/v1"
}
}
}Platform CLI: remote server
gemini mcp add -t http preloop https://preloop.ai/mcp/v1Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Preloop
How do I install Preloop in Claude Code?
Run claude mcp add --transport http preloop https://preloop.ai/mcp/v1. The server then shows up in your Claude MCP list.
What does Preloop do?
It sits between an agent and its tools: calls pass, get blocked, or wait for approval, while model spend is tracked and a session timeline is built. It can also start agents from tracker and CI events.
What does Preloop need to run?
A control plane to connect to: Preloop Cloud via preloop signup, or your own instance at a URL such as http://localhost:3000. Policies and budgets live there, so the server has nothing to enforce without it.