AegisAI
Paid pre-execution risk verification for AI agents over MCP and x402.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (3)
- LOWen create_monitor_a2a_endpoint_challenge
- LOWen create_monitor_a2a_dns_txt_challenge
- LOWen verify_monitor_a2a_dns_txt_challenge
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"aegis-ai": {
"url": "https://aegis-api.kadopi.workers.dev/mcp"
}
}
}Puntos de conexión remotos
https://aegis-api.kadopi.workers.dev/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (17)
🟢get_aegis_capabilities
Returns machine-readable discovery links and x402 testnet payment information. This tool is free and does not perform risk verification.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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
}Comunidad
Evidencia