io.github.wyattbenno777/icme-preflight
https://api.icme.io/mcpskills: {'id': 'check_logic', 'name': 'check_logic', 'description': '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.', 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}, {'id': 'check_relevance', 'name': 'check_relevance', 'description': '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.', 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}, {'id': 'make_rules', 'name': 'make_rules', 'description': "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.", 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}, {'id': 'check_action', 'name': 'check_action', 'description': "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.", 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}, {'id': 'check_action_paid', 'name': 'check_action_paid', 'description': '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.', 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}, {'id': 'quick_check', 'name': 'quick_check', 'description': "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.", 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}, {'id': 'verify_proof', 'name': 'verify_proof', 'description': '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.', 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}, {'id': 'get_scenarios', 'name': 'get_scenarios', 'description': '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.', 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}; uptime_30d 1.0%; p95 109.1ms; conformance: pass
How to connect
https://api.icme.io/mcp
curl -X POST https://api.icme.io/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'