Skip to content

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.

Deletes · 1Final · 1Changes · 9

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

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/mcp

Findings

Matches of fixed checks, with the text they matched.

2 warn
  • The server marks "evaluate_agent_commerce_policy" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "evaluate_agent_commerce_policy" says "evaluate": a word for a change.

    What this check looks for
  • The server marks "verify_risk" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "run": a word for a change.

    What this check looks for

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".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "evaluate_agent_commerce_policy" says "evaluate": a word for a change.

      What this check looks for
    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".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "run": a word for a change.

      What this check looks for
    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/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.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.