Jailbreak-proof AI guardrails. Automated Reasoning SMT solver, not an LLM. ZK proofs included.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Enforce a guardrail: verify an agent action against a compiled policy using formal verification. An SMT solver — not an LLM — determines whether the action satisfies every rule. Returns SAT (allowed) or UNSAT (blocked) with extracted values and a cryptographic ZK proof that the check was performed correctly. Cannot be jailbroken. 1 credit ($0.01). Requires api_key. Tip: end the action with an explicit claim like 'I assert this complies with the policy' for best extraction.
The agent action to verify against the policy (max 2000 chars)
Your ICME API key
Policy ID from make_rules
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Enforce a guardrail: verify an agent action against a compiled policy using formal verification. An SMT solver — not an LLM — determines whether the action satisfies every rule. Returns SAT (allowed) or UNSAT (blocked) with extracted values and a cryptographic ZK proof that the check was performed correctly. Cannot be jailbroken. 1 credit ($0.01). Requires api_key. Tip: end the action with an explicit claim like 'I assert this complies with the policy' for best extraction.
| Argument | Type | Description |
|---|---|---|
| action* | string | The agent action to verify against the policy (max 2000 chars) |
| api_key* | string | Your ICME API key |
| policy_id* | string | Policy ID from make_rules |
{
"type": "object",
"required": [
"policy_id",
"action",
"api_key"
],
"properties": {
"action": {
"type": "string",
"description": "The agent action to verify against the policy (max 2000 chars)"
},
"api_key": {
"type": "string",
"description": "Your ICME API key"
},
"policy_id": {
"type": "string",
"format": "uuid",
"description": "Policy ID from make_rules"
}
}
}Same formal verification as check_action, but pay per call with x402 ($0.10 USDC on Base) instead of using credits. No API key or account needed — any agent with a wallet can verify actions on the fly. Returns SAT (allowed) or UNSAT (blocked) with extracted values and optional ZK proof.
| Argument | Type | Description |
|---|---|---|
| action* | string | The agent action to verify against the policy (max 2000 chars) |
| policy_id* | string | Policy ID from make_rules |
{
"type": "object",
"required": [
"policy_id",
"action"
],
"properties": {
"action": {
"type": "string",
"description": "The agent action to verify against the policy (max 2000 chars)"
},
"policy_id": {
"type": "string",
"format": "uuid",
"description": "Policy ID from make_rules"
}
}
}Catch contradictions in reasoning before acting on it. FREE — no account needed. Extracts quantitative and logical claims from any plan, calculation, or chain of thought, then uses a Z3 SAT solver to mathematically prove whether they contradict each other. This is formal verification, not an LLM second-guessing itself. Returns CONSISTENT, CONTRADICTION, or UNKNOWN with the extracted claims.
| Argument | Type | Description |
|---|---|---|
| show_smt | boolean | Include the generated SMT-LIB2 formula in the response for inspection (default: false) |
| reasoning* | string | The reasoning, plan, or chain of thought to check. Be specific — include numbers, conditions, and constraints for the best results (max 2000 chars) |
{
"type": "object",
"required": [
"reasoning"
],
"properties": {
"show_smt": {
"type": "boolean",
"description": "Include the generated SMT-LIB2 formula in the response for inspection (default: false)"
},
"reasoning": {
"type": "string",
"description": "The reasoning, plan, or chain of thought to check. Be specific — include numbers, conditions, and constraints for the best results (max 2000 chars)"
}
}
}Free relevance screen — checks whether an action touches any of your policy variables before running a paid check. Returns a relevance score and which variables matched. If should_check is true, run check_action. If false, the action is unrelated to your policy — skip the paid check. No credits charged. Requires api_key.
| Argument | Type | Description |
|---|---|---|
| action* | string | The agent action to screen (max 2000 chars) |
| api_key* | string | Your ICME API key |
| policy_id* | string | Policy ID from make_rules |
| threshold | number | Relevance threshold (0.0 to 1.0). Default 0.0 — any match triggers should_check. Optional. |
{
"type": "object",
"required": [
"policy_id",
"action",
"api_key"
],
"properties": {
"action": {
"type": "string",
"description": "The agent action to screen (max 2000 chars)"
},
"api_key": {
"type": "string",
"description": "Your ICME API key"
},
"policy_id": {
"type": "string",
"format": "uuid",
"description": "Policy ID from make_rules"
},
"threshold": {
"type": "number",
"description": "Relevance threshold (0.0 to 1.0). Default 0.0 — any match triggers should_check. Optional."
}
}
}Create an ICME Preflight account with x402 USDC payment ($5.00 on Base). Returns an API key and 325 starting credits immediately. Save the api_key — it is shown only once. Use create_account_card instead if paying by credit card.
| Argument | Type | Description |
|---|---|---|
| username* | string | Unique username (1-32 chars, alphanumeric + hyphens/underscores) |
{
"type": "object",
"required": [
"username"
],
"properties": {
"username": {
"type": "string",
"pattern": "^[a-zA-Z0-9_-]{1,32}$",
"description": "Unique username (1-32 chars, alphanumeric + hyphens/underscores)"
}
}
}Create an ICME Preflight account with a credit card ($5.00 via Stripe). Returns a checkout_url — open it in a browser to pay. After payment completes, call poll_session with the session_id to retrieve your API key.
| Argument | Type | Description |
|---|---|---|
| username* | string | Unique username (1-32 chars, alphanumeric + hyphens/underscores) |
{
"type": "object",
"required": [
"username"
],
"properties": {
"username": {
"type": "string",
"description": "Unique username (1-32 chars, alphanumeric + hyphens/underscores)"
}
}
}Review auto-generated test scenarios for a compiled policy. Shows example actions that should pass and fail, so you can verify the policy behaves as intended before deploying it. Requires api_key.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | Your ICME API key |
| policy_id* | string | Policy ID from make_rules |
{
"type": "object",
"required": [
"policy_id",
"api_key"
],
"properties": {
"api_key": {
"type": "string",
"description": "Your ICME API key"
},
"policy_id": {
"type": "string",
"format": "uuid",
"description": "Policy ID from make_rules"
}
}
}Turn a plain-English policy into a jailbreak-proof guardrail. Write rules the way you would explain them to a colleague — ICME compiles them into formal logic (SMT-LIB) that a mathematical solver enforces. No prompt engineering. No LLM judges. The solver either proves an action complies or it doesn't. Returns a policy_id and test scenarios for review. Costs 300 credits. Requires api_key.
| Argument | Type | Description |
|---|---|---|
| policy* | string | Your policy in plain English, e.g. 'No action may access user data without explicit consent. External API calls require approval above $100.' Up to 50 rules. |
| api_key* | string | Your ICME API key (from create_account or create_account_card) |
{
"type": "object",
"required": [
"policy",
"api_key"
],
"properties": {
"policy": {
"type": "string",
"description": "Your policy in plain English, e.g. 'No action may access user data without explicit consent. External API calls require approval above $100.' Up to 50 rules."
},
"api_key": {
"type": "string",
"description": "Your ICME API key (from create_account or create_account_card)"
}
}
}Check the status of a Stripe card payment. Returns pending or complete. On completion after signup, returns the api_key. Call this after create_account_card or top_up_card once the user has paid.
| Argument | Type | Description |
|---|---|---|
| session_id* | string | The session_id returned by create_account_card or top_up_card |
{
"type": "object",
"required": [
"session_id"
],
"properties": {
"session_id": {
"type": "string",
"description": "The session_id returned by create_account_card or top_up_card"
}
}
}Fast yes/no guardrail verdict — returns only ALLOWED or BLOCKED with no proof details. Use when you need a lightweight gate and don't need the full SAT/UNSAT report or ZK proof. Same formal verification under the hood, just a minimal response. 1 credit. Requires api_key.
| Argument | Type | Description |
|---|---|---|
| action* | string | The agent action to check (max 2000 chars) |
| api_key* | string | Your ICME API key |
| policy_id* | string | Policy ID from make_rules |
{
"type": "object",
"required": [
"policy_id",
"action",
"api_key"
],
"properties": {
"action": {
"type": "string",
"description": "The agent action to check (max 2000 chars)"
},
"api_key": {
"type": "string",
"description": "Your ICME API key"
},
"policy_id": {
"type": "string",
"format": "uuid",
"description": "Policy ID from make_rules"
}
}
}Run saved test cases against a policy to confirm it blocks what it should block and allows what it should allow. Run this after make_rules and before using the policy in production. Requires api_key.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | Your ICME API key |
| policy_id* | string | Policy ID to test |
{
"type": "object",
"required": [
"policy_id",
"api_key"
],
"properties": {
"api_key": {
"type": "string",
"description": "Your ICME API key"
},
"policy_id": {
"type": "string",
"format": "uuid",
"description": "Policy ID to test"
}
}
}Add 500 credits to your account via x402 USDC payment ($5.00 on Base). Use top_up_card instead for credit card payment with volume discounts. Requires api_key.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | Your ICME API key |
{
"type": "object",
"required": [
"api_key"
],
"properties": {
"api_key": {
"type": "string",
"description": "Your ICME API key"
}
}
}Add credits via credit card with volume bonuses. Returns a checkout_url. Tiers: $5 = 500 credits, $10 = 1,050 (+5%), $25 = 2,750 (+10%), $50 = 5,750 (+15%), $100 = 12,000 (+20%). Credits never expire. Requires api_key.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | Your ICME API key |
| amount_usd* | integer | Top-up amount in USD: 5, 10, 25, 50, or 100 |
{
"type": "object",
"required": [
"amount_usd",
"api_key"
],
"properties": {
"api_key": {
"type": "string",
"description": "Your ICME API key"
},
"amount_usd": {
"type": "integer",
"description": "Top-up amount in USD: 5, 10, 25, 50, or 100"
}
}
}Independently verify a ZK proof from a prior check_action call. Confirms the guardrail check was performed correctly without re-running it — any third party or monitoring agent can verify in under one second. No additional cost. Wait a few minutes after the check for the proof to be generated. Single-use per proof.
| Argument | Type | Description |
|---|---|---|
| proof_id* | string | The proof_id returned by a prior check_action or check_action_paid call |
{
"type": "object",
"required": [
"proof_id"
],
"properties": {
"proof_id": {
"type": "string",
"format": "uuid",
"description": "The proof_id returned by a prior check_action or check_action_paid call"
}
}
}