High Risk →

check_invariants

Run YAML invariants deterministically against a unified diff (no LLM).

How to control check_invariants ↓

What check_invariants does on Context Engine MCP Server

AI agents invoke check_invariants to trigger actions in Context Engine MCP Server. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call — builds kicked off, notifications sent, workflows started.

High Risk

Why check_invariants needs a policy

The tool executes deterministic static analysis (invariant checks) against a diff. While it performs no writes or destructive actions, it actively runs a processing/analysis engine against provided input, placing it in the Execute category. Severity is medium because misuse could trigger unintended analysis pipelines or be used to probe code structure, though blast radius is limited compared to shell execution.

From the tool's definition "Run YAML invariants deterministically against a unified diff" — actively runs/executes static analysis checks against code

Documented attack patterns abuse exactly the kind of access check_invariants gives an agent:

How to control check_invariants

PolicyLayer is an MCP gateway — it sits between your AI agents and Context Engine MCP Server, and nothing reaches the server without passing your rules. This is the rule we recommend for check_invariants:

policy.json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "check_invariants": {
      "limits": [
        {
          "counter": "check_invariants_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}

check_invariants stays usable, but rate-capped — a runaway agent can't fire it dozens of times a minute. Everything else on the server is denied unless you say otherwise.

  1. Create a free account and register Context Engine MCP Server — nothing to install.
  2. Add this policy — paste it, or build it visually.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
RATE-LIMIT THIS TOOL →

Free to start. No card required.

Related tools and policies

Go deeper

Questions about check_invariants

What does the check_invariants tool do? +

Run YAML invariants deterministically against a unified diff (no LLM). It is categorised as a Execute tool in the Context Engine MCP Server MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.

How do I enforce a policy on check_invariants? +

Register the Context Engine MCP Server MCP server in PolicyLayer and add a rule for check_invariants: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Context Engine MCP Server. Nothing to install.

What risk level is check_invariants? +

check_invariants is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.

Can I rate-limit check_invariants? +

Yes. Add a rate_limit block to the check_invariants rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block check_invariants completely? +

Set action: deny in the PolicyLayer policy for check_invariants. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides check_invariants? +

check_invariants is provided by the Context Engine MCP Server MCP server (kirachon/context-engine). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policy on every Context Engine MCP Server tool call.

Start from Context Engine MCP Server, add the rest of your stack, and see everything your agents can call. Then put policy on all of it.

Free to start. No card required.

50 Context Engine MCP Server tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.