icme-preflight
Jailbreak-proof AI guardrails. Automated Reasoning SMT solver, not an LLM. ZK proofs included.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"icme-preflight": {
"url": "https://api.icme.io/mcp"
}
}
}リモートエンドポイント
https://api.icme.io/mcpstreamable-httpできること
ツール一覧
ツール(14)
🟢check_logic(reasoning, show_smt)
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.
入力スキーマ
{
"type": "object",
"properties": {
"reasoning": {
"description": "The reasoning, plan, or chain of thought to check. Be specific — include numbers, conditions, and constraints for the best results (max 2000 chars)",
"type": "string"
},
"show_smt": {
"description": "Include the generated SMT-LIB2 formula in the response for inspection (default: false)",
"type": "boolean"
}
},
"required": [
"reasoning"
]
}🟢check_relevance(action, api_key, policy_id, threshold)
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.
入力スキーマ
{
"type": "object",
"properties": {
"action": {
"description": "The agent action to screen (max 2000 chars)",
"type": "string"
},
"api_key": {
"description": "Your ICME API key",
"type": "string"
},
"policy_id": {
"description": "Policy ID from make_rules",
"format": "uuid",
"type": "string"
},
"threshold": {
"description": "Relevance threshold (0.0 to 1.0). Default 0.0 — any match triggers should_check. Optional.",
"type": "number"
}
},
"required": [
"policy_id",
"action",
"api_key"
]
}🟡make_rules(api_key, policy)
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.
入力スキーマ
{
"type": "object",
"properties": {
"api_key": {
"description": "Your ICME API key (from create_account or create_account_card)",
"type": "string"
},
"policy": {
"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.",
"type": "string"
}
},
"required": [
"policy",
"api_key"
]
}🟢check_action(action, api_key, policy_id)
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.
入力スキーマ
{
"type": "object",
"properties": {
"action": {
"description": "The agent action to verify against the policy (max 2000 chars)",
"type": "string"
},
"api_key": {
"description": "Your ICME API key",
"type": "string"
},
"policy_id": {
"description": "Policy ID from make_rules",
"format": "uuid",
"type": "string"
}
},
"required": [
"policy_id",
"action",
"api_key"
]
}🟢check_action_paid(action, policy_id)
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.
入力スキーマ
{
"type": "object",
"properties": {
"action": {
"description": "The agent action to verify against the policy (max 2000 chars)",
"type": "string"
},
"policy_id": {
"description": "Policy ID from make_rules",
"format": "uuid",
"type": "string"
}
},
"required": [
"policy_id",
"action"
]
}🟢quick_check(action, api_key, policy_id)
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.
入力スキーマ
{
"type": "object",
"properties": {
"action": {
"description": "The agent action to check (max 2000 chars)",
"type": "string"
},
"api_key": {
"description": "Your ICME API key",
"type": "string"
},
"policy_id": {
"description": "Policy ID from make_rules",
"format": "uuid",
"type": "string"
}
},
"required": [
"policy_id",
"action",
"api_key"
]
}🟢verify_proof(proof_id)
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.
入力スキーマ
{
"type": "object",
"properties": {
"proof_id": {
"description": "The proof_id returned by a prior check_action or check_action_paid call",
"format": "uuid",
"type": "string"
}
},
"required": [
"proof_id"
]
}🟢get_scenarios(api_key, policy_id)
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.
入力スキーマ
{
"type": "object",
"properties": {
"api_key": {
"description": "Your ICME API key",
"type": "string"
},
"policy_id": {
"description": "Policy ID from make_rules",
"format": "uuid",
"type": "string"
}
},
"required": [
"policy_id",
"api_key"
]
}⚪run_tests(api_key, policy_id)
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.
入力スキーマ
{
"type": "object",
"properties": {
"api_key": {
"description": "Your ICME API key",
"type": "string"
},
"policy_id": {
"description": "Policy ID to test",
"format": "uuid",
"type": "string"
}
},
"required": [
"policy_id",
"api_key"
]
}🟡create_account(username)
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.
入力スキーマ
{
"type": "object",
"properties": {
"username": {
"description": "Unique username (1-32 chars, alphanumeric + hyphens/underscores)",
"pattern": "^[a-zA-Z0-9_-]{1,32}$",
"type": "string"
}
},
"required": [
"username"
]
}🟡create_account_card(username)
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.
入力スキーマ
{
"type": "object",
"properties": {
"username": {
"description": "Unique username (1-32 chars, alphanumeric + hyphens/underscores)",
"type": "string"
}
},
"required": [
"username"
]
}🟡top_up(api_key)
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.
入力スキーマ
{
"type": "object",
"properties": {
"api_key": {
"description": "Your ICME API key",
"type": "string"
}
},
"required": [
"api_key"
]
}🟡top_up_card(amount_usd, 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.
入力スキーマ
{
"type": "object",
"properties": {
"amount_usd": {
"description": "Top-up amount in USD: 5, 10, 25, 50, or 100",
"type": "integer"
},
"api_key": {
"description": "Your ICME API key",
"type": "string"
}
},
"required": [
"amount_usd",
"api_key"
]
}🟡poll_session(session_id)
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.
入力スキーマ
{
"type": "object",
"properties": {
"session_id": {
"description": "The session_id returned by create_account_card or top_up_card",
"type": "string"
}
},
"required": [
"session_id"
]
}コミュニティ
エビデンス