AegisAI
by kadopi · remote · no sign-in to list tools · v0.6.0 · published by GitHub user kadopi
Paid pre-execution risk verification for AI agents over MCP and x402.
17 tools: 1 can delete or cancel things, 1 do something that can't be undone, 9 change things and 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels1Claude Code: deny: see these tools
- Can't be undone1Claude Code: ask: see these tools
- Changes things9Claude Code: ask: see these tools
- Only reads6Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http aegis-ai https://aegis-api.kadopi.workers.dev/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "evaluate_agent_commerce_policy" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "evaluate_agent_commerce_policy" says "evaluate": a word for a change.
- Warnverify_risk
The server marks "verify_risk" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "run": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
17 tools
Deletes or cancels 1Claude Code: deny
stop_monitor_subscriptionIdempotently disables monitoring for one account-owned subscription without deleting its audit history.No findings
Why it is in this group
- The name "stop_monitor_subscription" says "stop": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Idempotently disables monitoring for one account-owned subscription without deleting its audit history.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
Can't be undone 1Claude Code: ask
evaluate_agent_commerce_policyDeterministically pre-evaluates a public-price sale without sending, paying, settling, or changing stored state.1 finding
Why it is in this group
- The name "evaluate_agent_commerce_policy" says "evaluate": a word for a change.
- The input carries an amount (input.offer.price.amount) and a currency, so it moves money.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "evaluate_agent_commerce_policy" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "evaluate_agent_commerce_policy" says "evaluate": a word for a change.
Description, as the server wrote it Deterministically pre-evaluates a public-price sale without sending, paying, settling, or changing stored state. Signed Basic and Pro public terms may be allowed; verified-payer velocity is reserved atomically after facilitator verification and before settlement.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Changes things 9Claude Code: ask
create_monitor_a2a_dns_txt_challengeCreates a one-time DNS TXT ownership challenge without contacting the customer endpoint.No findings
Why it is in this group
- The name "create_monitor_a2a_dns_txt_challenge" says "create": a word for a change.
Description, as the server wrote it Creates a one-time DNS TXT ownership challenge without contacting the customer endpoint. Verification and delivery remain disabled.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
create_monitor_a2a_endpoint_challengeCreates a one-time 15-minute challenge for a pending endpoint.No findings
Why it is in this group
- The name "create_monitor_a2a_endpoint_challenge" says "create": a word for a change.
Description, as the server wrote it Creates a one-time 15-minute challenge for a pending endpoint. It does not contact or verify the endpoint and never enables delivery.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
register_monitor_a2a_endpointRegisters an account-scoped endpoint in pending-verification state.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Registers an account-scoped endpoint in pending-verification state. Registration never contacts the endpoint and delivery remains disabled.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
register_monitor_subscriptionRegisters a Base Sepolia wallet and validated policy in stopped state.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Registers a Base Sepolia wallet and validated policy in stopped state. Payment and operator approval are still required before activation.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
stop_monitor_a2a_endpointIdempotently stops an account-owned endpoint and cancels only its unsent deliveries.No findings
Why it is in this group
- The name "stop_monitor_a2a_endpoint" says "stop": a word for a change.
Description, as the server wrote it Idempotently stops an account-owned endpoint and cancels only its unsent deliveries.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
update_monitor_alert_statusIdempotently updates only the case status and note for an alert owned by the authenticated monitor account.No findings
Why it is in this group
- The name "update_monitor_alert_status" says "update": a word for a change.
Description, as the server wrote it Idempotently updates only the case status and note for an alert owned by the authenticated monitor account. It never changes notification state or performs wallet actions.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
update_monitor_subscriptionIdempotently updates label or policy.No findings
Why it is in this group
- The name "update_monitor_subscription" says "update": a word for a change.
Description, as the server wrote it Idempotently updates label or policy. It never activates monitoring, pays, or changes networks.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
verify_monitor_a2a_dns_txt_challengeChecks only Cloudflare's fixed DNS resolver when DNS verification is enabled.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Checks only Cloudflare's fixed DNS resolver when DNS verification is enabled. It never contacts the customer endpoint and never enables delivery.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
verify_riskRuns paid AegisAI risk verification and never runs verification for free.1 finding
Why it is in this group
- The description's first verb is "run": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "verify_risk" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "run": a word for a change.
Description, as the server wrote it Runs paid AegisAI risk verification and never runs verification for free. An x402-aware MCP client can pay and retry this tool automatically; unpaid calls return the canonical payment challenge.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
Only reads 6Claude Code: allow
get_aegis_capabilitiesReturns machine-readable discovery links and x402 testnet payment information.No findings
Why it is in this group
- The name "get_aegis_capabilities" says "get": a word for reading.
Description, as the server wrote it Returns machine-readable discovery links and x402 testnet payment information. This tool is free and does not perform risk verification.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_monitor_alertReturns one structured alert and its bounded evidence for the authenticated monitor account.No findings
Why it is in this group
- The name "get_monitor_alert" says "get": a word for reading.
Description, as the server wrote it Returns one structured alert and its bounded evidence for the authenticated monitor account.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_monitor_subscriptionReturns one account-owned subscription and its current policy and scan state.No findings
Why it is in this group
- The name "get_monitor_subscription" says "get": a word for reading.
Description, as the server wrote it Returns one account-owned subscription and its current policy and scan state.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_monitor_a2a_endpointsLists the authenticated account's A2A notification endpoints and delivery-disabled state.No findings
Why it is in this group
- The name "list_monitor_a2a_endpoints" says "list": a word for reading.
Description, as the server wrote it Lists the authenticated account's A2A notification endpoints and delivery-disabled state.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_monitor_alertsLists structured alerts belonging only to the authenticated monitor account.No findings
Why it is in this group
- The name "list_monitor_alerts" says "list": a word for reading.
Description, as the server wrote it Lists structured alerts belonging only to the authenticated monitor account. This tool never sends notifications or performs wallet actions.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_monitor_subscriptionsLists account-scoped Base Sepolia monitor subscriptions without changing monitoring or payment state.No findings
Why it is in this group
- The name "list_monitor_subscriptions" says "list": a word for reading.
Description, as the server wrote it Lists account-scoped Base Sepolia monitor subscriptions without changing monitoring or payment state.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.6.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http aegis-ai https://aegis-api.kadopi.workers.dev/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__aegis-ai__get_aegis_capabilities",
"mcp__aegis-ai__list_monitor_alerts",
"mcp__aegis-ai__get_monitor_alert",
"mcp__aegis-ai__list_monitor_subscriptions",
"mcp__aegis-ai__get_monitor_subscription",
"mcp__aegis-ai__list_monitor_a2a_endpoints"
],
"ask": [
"mcp__aegis-ai__evaluate_agent_commerce_policy",
"mcp__aegis-ai__update_monitor_alert_status",
"mcp__aegis-ai__register_monitor_subscription",
"mcp__aegis-ai__update_monitor_subscription",
"mcp__aegis-ai__register_monitor_a2a_endpoint",
"mcp__aegis-ai__create_monitor_a2a_endpoint_challenge",
"mcp__aegis-ai__create_monitor_a2a_dns_txt_challenge",
"mcp__aegis-ai__verify_monitor_a2a_dns_txt_challenge",
"mcp__aegis-ai__stop_monitor_a2a_endpoint",
"mcp__aegis-ai__verify_risk"
],
"deny": [
"mcp__aegis-ai__stop_monitor_subscription"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as aegis-ai. Review it before you use it.
