AegisAI
Paid pre-execution risk verification for AI agents over MCP and x402.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (3)
- LOWin create_monitor_a2a_endpoint_challenge
- LOWin create_monitor_a2a_dns_txt_challenge
- LOWin verify_monitor_a2a_dns_txt_challenge
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"aegis-ai": {
"url": "https://aegis-api.kadopi.workers.dev/mcp"
}
}
}Remote-Endpunkte
https://aegis-api.kadopi.workers.dev/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (17)
🟢get_aegis_capabilities
Returns machine-readable discovery links and x402 testnet payment information. This tool is free and does not perform risk verification.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢evaluate_agent_commerce_policy(seller, offer, purchase)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"seller": {
"type": "object",
"properties": {
"serviceId": {
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"serviceId"
],
"additionalProperties": false
},
"offer": {
"type": "object",
"properties": {
"contractVersion": {
"type": "string",
"const": "1.0"
},
"kind": {
"type": "string",
"const": "machine_offer"
},
"offerId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"service": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"plan": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"route": {
"type": "string"
},
"price": {
"type": "object",
"properties": {
"protocol": {
"type": "string",
"const": "x402"
},
"version": {
"type": "number",
"const": 2
},
"currency": {
"type": "string",
"minLength": 1,
"maxLength": 16
},
"amount": {
"type": "string"
},
"amountDecimal": {
"type": "string"
},
"network": {
"type": "string"
},
"asset": {
"type": "string"
},
"payTo": {
"type": "string"
}
},
"required": [
"protocol",
"version",
"currency",
"amount",
"amountDecimal",
"network",
"asset",
"payTo"
],
"additionalProperties": false
},
"policy": {
"anyOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "public_price"
},
"automaticPurchaseAllowed": {
"type": "boolean",
"const": true
}
},
"required": [
"kind",
"automaticPurchaseAllowed"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "exception"
},
"automaticPurchaseAllowed": {
"type": "boolean",
"const": false
}
},
"required": [
"kind",
"automaticPurchaseAllowed"
],
"additionalProperties": false
}
]
},
"issuedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"expiresAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"termsDigest": {
"type": "string"
},
"retryPolicy": {
"type": "object",
"properties": {
"beforeSettlement": {
"type": "string",
"const": "new_authorization_only"
},
"unknownOutcome": {
"type": "string",
"const": "never"
}
},
"required": [
"beforeSettlement",
"unknownOutcome"
],
"additionalProperties": false
}
},
"required": [
"contractVersion",
"kind",
"offerId",
"service",
"plan",
"route",
"price",
"policy",
"issuedAt",
"expiresAt",
"termsDigest",
"retryPolicy"
],
"additionalProperties": false
},
"purchase": {
"type": "object",
"properties": {
"contractVersion": {
"type": "string",
"const": "1.0"
},
"kind": {
"type": "string",
"const": "purchase_request"
},
"transactionId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"offerId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"idempotencyKey": {
"type": "string"
},
"nonce": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"requestedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"expiresAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"plan": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"route": {
"type": "string"
},
"price": {
"type": "object",
"properties": {
"protocol": {
"type": "string",
"const": "x402"
},
"version": {
"type": "number",
"const": 2
},
"currency": {
"type": "string",
"minLength": 1,
"maxLength": 16
},
"amount": {
"type": "string"
},
"amountDecimal": {
"type": "string"
},
"network": {
"type": "string"
},
"asset": {
"type": "string"
},
"payTo": {
"type": "string"
}
},
"required": [
"protocol",
"version",
"currency",
"amount",
"amountDecimal",
"network",
"asset",
"payTo"
],
"additionalProperties": false
},
"inputDigest": {
"type": "string"
},
"termsDigest": {
"type": "string"
}
},
"required": [
"contractVersion",
"kind",
"transactionId",
"offerId",
"idempotencyKey",
"nonce",
"requestedAt",
"expiresAt",
"plan",
"route",
"price",
"inputDigest",
"termsDigest"
],
"additionalProperties": false
}
},
"required": [
"seller",
"offer",
"purchase"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_monitor_alerts(severity, caseStatus, walletAddress, limit)
Lists structured alerts belonging only to the authenticated monitor account. This tool never sends notifications or performs wallet actions.
Eingabe-Schema
{
"type": "object",
"properties": {
"severity": {
"type": "string",
"enum": [
"warning",
"critical"
]
},
"caseStatus": {
"type": "string",
"enum": [
"new",
"investigating",
"resolved",
"false_positive"
]
},
"walletAddress": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$"
},
"limit": {
"default": 50,
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_monitor_alert(alertId)
Returns one structured alert and its bounded evidence for the authenticated monitor account.
Eingabe-Schema
{
"type": "object",
"properties": {
"alertId": {
"type": "string",
"minLength": 1,
"maxLength": 300
}
},
"required": [
"alertId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟡update_monitor_alert_status(alertId, caseStatus, note)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"alertId": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"caseStatus": {
"type": "string",
"enum": [
"new",
"investigating",
"resolved",
"false_positive"
]
},
"note": {
"type": "string",
"maxLength": 1000
}
},
"required": [
"alertId",
"caseStatus"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_monitor_subscriptions
Lists account-scoped Base Sepolia monitor subscriptions without changing monitoring or payment state.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_monitor_subscription(subscriptionId)
Returns one account-owned subscription and its current policy and scan state.
Eingabe-Schema
{
"type": "object",
"properties": {
"subscriptionId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"subscriptionId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}⚪register_monitor_subscription(chainId, walletAddress, label, policy)
Registers a Base Sepolia wallet and validated policy in stopped state. Payment and operator approval are still required before activation.
Eingabe-Schema
{
"type": "object",
"properties": {
"chainId": {
"type": "string",
"const": "eip155:84532"
},
"walletAddress": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$"
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"policy": {
"type": "object",
"properties": {
"nativeLargeTransferAtomic": {
"type": "string",
"pattern": "^(0|[1-9][0-9]*)$"
},
"tokenLargeTransferAtomic": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string",
"pattern": "^(0|[1-9][0-9]*)$"
}
},
"allowedCounterparties": {
"maxItems": 500,
"type": "array",
"items": {
"type": "string"
}
},
"allowedContracts": {
"maxItems": 500,
"type": "array",
"items": {
"type": "string"
}
},
"burstWindowSeconds": {
"type": "integer",
"minimum": 1,
"maximum": 86400
},
"burstTransactionCount": {
"type": "integer",
"minimum": 2,
"maximum": 1000
},
"failureWindowSize": {
"type": "integer",
"minimum": 2,
"maximum": 1000
},
"failureRateThreshold": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"nativeLargeTransferAtomic",
"tokenLargeTransferAtomic",
"allowedCounterparties",
"allowedContracts",
"burstWindowSeconds",
"burstTransactionCount",
"failureWindowSize",
"failureRateThreshold"
],
"additionalProperties": false
}
},
"required": [
"chainId",
"walletAddress",
"policy"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟡update_monitor_subscription(subscriptionId, label, policy)
Idempotently updates label or policy. It never activates monitoring, pays, or changes networks.
Eingabe-Schema
{
"type": "object",
"properties": {
"subscriptionId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"label": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 100
},
{
"type": "null"
}
]
},
"policy": {
"type": "object",
"properties": {
"nativeLargeTransferAtomic": {
"type": "string",
"pattern": "^(0|[1-9][0-9]*)$"
},
"tokenLargeTransferAtomic": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string",
"pattern": "^(0|[1-9][0-9]*)$"
}
},
"allowedCounterparties": {
"maxItems": 500,
"type": "array",
"items": {
"type": "string"
}
},
"allowedContracts": {
"maxItems": 500,
"type": "array",
"items": {
"type": "string"
}
},
"burstWindowSeconds": {
"type": "integer",
"minimum": 1,
"maximum": 86400
},
"burstTransactionCount": {
"type": "integer",
"minimum": 2,
"maximum": 1000
},
"failureWindowSize": {
"type": "integer",
"minimum": 2,
"maximum": 1000
},
"failureRateThreshold": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"nativeLargeTransferAtomic",
"tokenLargeTransferAtomic",
"allowedCounterparties",
"allowedContracts",
"burstWindowSeconds",
"burstTransactionCount",
"failureWindowSize",
"failureRateThreshold"
],
"additionalProperties": false
}
},
"required": [
"subscriptionId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🔴stop_monitor_subscription(subscriptionId)
Idempotently disables monitoring for one account-owned subscription without deleting its audit history.
Eingabe-Schema
{
"type": "object",
"properties": {
"subscriptionId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"subscriptionId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}⚪register_monitor_a2a_endpoint(endpointUrl, transport, protocolVersion, minSeverity, maxPerHour)
Registers an account-scoped endpoint in pending-verification state. Registration never contacts the endpoint and delivery remains disabled.
Eingabe-Schema
{
"type": "object",
"properties": {
"endpointUrl": {
"type": "string",
"maxLength": 2048,
"format": "uri"
},
"transport": {
"type": "string",
"enum": [
"jsonrpc",
"http_json"
]
},
"protocolVersion": {
"type": "string",
"pattern": "^[0-9]{1,3}\\.[0-9]{1,3}(?:\\.[0-9]{1,3})?$"
},
"minSeverity": {
"default": "warning",
"type": "string",
"enum": [
"warning",
"critical"
]
},
"maxPerHour": {
"default": 6,
"type": "integer",
"minimum": 1,
"maximum": 60
}
},
"required": [
"endpointUrl",
"transport",
"protocolVersion"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_monitor_a2a_endpoints
Lists the authenticated account's A2A notification endpoints and delivery-disabled state.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡create_monitor_a2a_endpoint_challenge(endpointId)
Creates a one-time 15-minute challenge for a pending endpoint. It does not contact or verify the endpoint and never enables delivery.
Eingabe-Schema
{
"type": "object",
"properties": {
"endpointId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"endpointId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟡create_monitor_a2a_dns_txt_challenge(endpointId)
Creates a one-time DNS TXT ownership challenge without contacting the customer endpoint. Verification and delivery remain disabled.
Eingabe-Schema
{
"type": "object",
"properties": {
"endpointId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"endpointId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}⚪verify_monitor_a2a_dns_txt_challenge(endpointId, challengeId)
Checks only Cloudflare's fixed DNS resolver when DNS verification is enabled. It never contacts the customer endpoint and never enables delivery.
Eingabe-Schema
{
"type": "object",
"properties": {
"endpointId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"challengeId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"endpointId",
"challengeId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}⚪stop_monitor_a2a_endpoint(endpointId)
Idempotently stops an account-owned endpoint and cancels only its unsent deliveries.
Eingabe-Schema
{
"type": "object",
"properties": {
"endpointId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"endpointId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢verify_risk(plan, content, context, sources, requestedChecks)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"plan": {
"default": "basic",
"description": "Product plan. Evidence is advertised but not yet available.",
"type": "string",
"enum": [
"basic",
"pro",
"evidence"
]
},
"content": {
"type": "string",
"minLength": 1,
"maxLength": 12000,
"description": "Text to assess before an external action."
},
"context": {
"type": "object",
"properties": {
"intendedAction": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"riskTolerance": {
"type": "string",
"enum": [
"low",
"medium",
"high"
]
}
},
"additionalProperties": false
},
"sources": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "url"
},
"value": {
"type": "string",
"maxLength": 2048,
"format": "uri"
}
},
"required": [
"type",
"value"
],
"additionalProperties": false
}
},
"requestedChecks": {
"maxItems": 4,
"type": "array",
"items": {
"type": "string",
"enum": [
"prompt_injection",
"contradiction",
"unsupported_claims",
"source_availability"
]
}
}
},
"required": [
"content"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Community
Nachweis