# Govern MCP tools

> Put a policy check between an MCP client and external tool execution.

Source: https://docs.atensecurity.com/docs/mcp

The [Model Context Protocol](https://modelcontextprotocol.io) connects clients
such as Claude Desktop to tool servers. The Thoth MCP proxy checks `tools/call`
requests before forwarding permitted actions to the upstream MCP server.

## Choose your integration

- [Single-machine proxy setup](https://docs.atensecurity.com/docs/mcp/proxy): Install and verify thoth, then govern Claude Desktop MCP tool calls.
- [Managed fleet rollout](https://docs.atensecurity.com/docs/mcp/fleet-deployment): Distribute governed configurations using the endpoint deployment runbooks.

The proxy needs a configured environment, authenticated identity, and server
policy. It is separate from the developer SDK trial. Its endpoint registration
and routing contract is documented in the [proxy guide](https://docs.atensecurity.com/docs/mcp/proxy).

## Build a custom MCP client

If your application calls MCP tools itself, use the [Python](https://docs.atensecurity.com/docs/sdks/python),
[TypeScript](https://docs.atensecurity.com/docs/sdks/typescript), or [Go](https://docs.atensecurity.com/docs/sdks/go) SDK to wrap the callback
that actually sends the tool call. Dispatch through the governed function;
calling the raw MCP session directly bypasses that wrapper.

Start with [Your first governed agent](https://docs.atensecurity.com/docs/getting-started/quickstart) before
connecting a real server. Then [instrument your own
agent](https://docs.atensecurity.com/docs/getting-started/your-agent) with stable tool names, actor context,
and a policy agreed with your administrator. The model's choice of tool is
request input, not permission to execute it.

## Handle decisions and evidence

`ALLOW` permits forwarding. `STEP_UP` pauses for configured approval.
`BLOCK` refuses the call. Verify each required outcome in your environment,
including denial and expiry for approvals. Collect and correlate available
decision records and behavioral events separately; event delivery does not
by itself verify a signed receipt.

## Configure Thoth itself

The MCP proxy governs external MCP traffic. It does **not** expose tools that
configure Thoth. Use [Terraform](https://docs.atensecurity.com/docs/terraform-provider),
[Pulumi](https://docs.atensecurity.com/docs/pulumi-provider), or supported [control-plane CLI/API
workflows](https://docs.atensecurity.com/docs/headless-gitops) to manage governance settings.
