MCP (Model Context Protocol)
Scan MCP tool calls via interven-mcp-guard โ works with Claude Desktop, Cursor, Cline, and any MCP client.
@interven/mcp-guard is an MCP server that scans every tools/call through
Interven before it executes. Drop it into your MCP client configuration and
every tool call gets policy + risk evaluation.
Install
npm install -g @interven/mcp-guardOr run directly:
npx @interven/mcp-guardConfigure with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"interven-guard": {
"command": "npx",
"args": ["@interven/mcp-guard"],
"env": {
"INTERVEN_API_KEY": "iv_live_YOUR_KEY"
}
}
}
}Configure with Cursor / Cline
Same pattern โ add the MCP server to your IDE's MCP configuration with the
INTERVEN_API_KEY environment variable.
Proxy Mode
For full interception of an existing MCP server's tool calls, use proxy mode:
npx @interven/mcp-guard proxy -- npx @your-org/your-mcp-serverThis spawns your MCP server as a child process and intercepts every tools/call
JSON-RPC message. The agent sees the same tools, but each call is scanned
before execution.
{
"mcpServers": {
"guarded-server": {
"command": "npx",
"args": ["@interven/mcp-guard", "proxy", "--", "npx", "@your-org/your-mcp-server"],
"env": {
"INTERVEN_API_KEY": "iv_live_YOUR_KEY"
}
}
}
}Environment Variables
| Variable | Default | Description |
|---|---|---|
INTERVEN_API_KEY | โ | API key (required) |
INTERVEN_GATEWAY_URL | https://api.intervensecurity.com | Cloud endpoint |
INTERVEN_FAIL_OPEN | 0 | Set to 1 to forward on scan error |
Exposed MCP Tools
The guard exposes two tools to the LLM:
interven_scanโ manually scan a tool call before executioninterven_scan_responseโ scan a response body for exfiltration correlation
Exposed MCP Resources
interven://aboutโ context about Interven for the LLM to understand the guard
Decisions
| Decision | MCP behavior |
|---|---|
| ALLOW | Tool call proceeds normally |
| DENY | Returns error content with reason codes |
| SANITIZE | Rewrites tool arguments with redacted values |
| REQUIRE_APPROVAL | Returns message with approval ID; blocks until approved |