Skip to content
Documentation menu

Integrations · 08

MCP

Keydris governs MCP tool calls and resource reads under the same identity, policy, and evidence model as everything else, in both stateless and stateful modes.

Two modes, one governance model#

Stateless MCPgoverns independent tool calls and resource reads that don't require retained server-session continuity. Stateful MCPgoverns related exchanges that depend on continued session context across a multi-step interaction. Both carry the same expectations: the agent's identity, your selected resources, the assigned policy, revocation, credential isolation, and evidence.

mcp.tool_call → search_customers { segment: active }

tool enrolled · scope granted · policy permits

ALLOW

mcp.tool_call → export_dataset { table: all }

tool not enrolled · not routed through Keydris · ungoverned and unrecorded

not routed

Both sides of the request#

Your agents' outbound MCP calls are governed by the broker. What your own MCP servers accept can be governed by the KIT Reader, optional middleware that checks each inbound agent request and its KIT before your server acts. Run either or both.

First integration steps#

  1. Connect the MCP server in the console and select the tools and resources you want governable. Enrollment is per-resource.
  2. Add rules for those tools to your policy (or start a new one) with the decisions you want.
  3. Run the Quickstart to connect your agent, and assign it that policy in Keydris. Outbound MCP calls are governed from the next session.
  4. Optionally add the KIT Reader to your own MCP server to govern what it accepts.

Boundaries#

Verified behavior

Stateful support does not mean unlimited session lifetime, unrestricted tools, or every MCP transport and optional protocol feature. If your integration depends on a specific transport, reconnect behavior, streaming mode, or persistence guarantee, confirm the exact capability for the deployed release before building on it.

Note

Enrollment is per-resource: MCP tools and resources you select in the console become governable. Unenrolled tools are outside the boundary: not governed, not recorded.