Cordon sits between your LLM client and MCP servers — enforcing policies, logging every tool call, and pausing dangerous operations for human approval.
MCP lets LLMs call real tools — query databases, write files, call APIs. That's powerful. But out of the box, there's nothing between the model and your production systems. No audit log. No way to block a class of operations. No human checkpoint before something irreversible runs.
You're just trusting the model. Cordon closes that gap.
Cordon is a transparent proxy. It requires no changes to your existing MCP servers
or Claude Desktop config — cordon init handles the wiring.
Block entire tool categories or specific tools by name. Reads pass, writes require approval — or block everything except an explicit allowlist.
Dangerous operations pause and wait. Approve or deny from the terminal or a Slack channel before anything runs.
Every tool call — args, result, policy decision, timestamp — logged to a file or shipped to the hosted dashboard.
Centralized audit logs across your team. Manage API keys, view call history, export for compliance.
npm install -g cordon-cli
cordon init
// cordon.config.ts
import { defineConfig } from 'cordon-sdk';
export default defineConfig({
servers: [
{
name: 'my-db',
transport: 'stdio',
command: 'npx',
args: ['-y', '@my-org/db-mcp'],
policy: 'approve-writes',
tools: {
drop_table: { action: 'block' },
},
},
],
});
cordon start
We're looking for a handful of teams to work closely with as we build out the enterprise features — centralized policy management, SSO, compliance exports. Early partners shape the roadmap and get priority support.
Get in touch →