MandateGuard
MandateGuard
Política de pagos determinista y auditable para agentes de IA autónomos.
MandateGuard es una capa de aplicación de políticas previa a la acción que se sitúa entre un agente y sus herramientas/monedero. Cada llamada a una herramienta que mueve dinero se evalúa mediante un motor puro y determinista — presupuestos, listas permitidas, listas denegadas, límites de tasa y mandatos firmados — antes de que se ejecute nada. Ningún LLM participa jamás en la ruta de decisión, que es precisamente lo que hace que cada veredicto sea reproducible y cada entrada del libro de contabilidad sea verificable.
Se distribuye con un servidor MCP para que cualquier agente (Claude, Cursor o tu propio harness) pueda montarlo como salvaguarda en cuestión de minutos.
Por qué
La realidad de la economía agéntica en 2026:
OWASP LLM08 — Excessive Agency es uno de los principales riesgos de las aplicaciones LLM. Los agentes con monederos están siendo vaciados: el SoK sobre comercio agéntico documenta más de 40 millones de dólares en pérdidas reales (ataques de vaciado, envenenamiento de memoria, abuso de herramientas).
Los estándares de pago (mandatos Intent/Cart/Payment de Google AP2, x402 de Coinbase, ERC-8004) definen qué es un mandato — pero ninguno incluye la capa de aplicación que realmente bloquea a un agente en pleno vuelo.
Gartner: el 40 % de las aplicaciones empresariales incorporarán agentes a finales de 2026. Esos agentes moverán dinero. Necesitan vías.
El hueco de mercado: un motor de políticas determinista (no LLM) + registro de auditoría + distribución MCP. Eso es este repositorio.
Related MCP server: gov-mcp
Características
Motor determinista — mismas entradas, mismo veredicto, siempre. Auditable mediante reproducción, sin muestreo de modelos en la decisión.
Ámbitos por actor — herramientas permitidas, destinos permitidos, máximo por llamada, moneda, límites de llamadas por ventana.
Salvaguardas globales — topes de presupuesto total, lista permitida/denegada de destinos.
Mandatos firmados (Ed25519) — autorizaciones de corta duración, vinculadas a nonce y firmadas por el emisor, al estilo AP2 / x402. Un agente no puede ampliar su propio ámbito.
Libro de contabilidad a prueba de manipulaciones — cada decisión es de solo añadido y está encadenada con SHA-256. Cualquier edición, reordenación o eliminación se detecta mediante un escaneo lineal.
Servidor MCP — móntalo como salvaguarda; herramientas para políticas, autorización, emisión de mandatos y estado del libro de contabilidad.
Cero dependencias en la ruta de decisión —
cryptographysolo para mandatos; las reglas principales se ejecutan únicamente con la stdlib.
Instalación
# from this repo (works today; also on the official MCP Registry)
git clone https://github.com/ezequiellich44-cmd/MandateGuard.git
cd MandateGuard
python -m pip install -e .
# or directly from the source:
python -m pip install "git+https://github.com/ezequiellich44-cmd/MandateGuard.git"Nota:
mandateguarden PyPI está pendiente de la configuración de Trusted Publisher; hasta entonces, la URL del repositorio es la ruta de instalación canónica. El paquete MCP está disponible en el registro oficial de MCP (io.github.ezequiellich44-cmd/mandateguard), por lo que los clientes compatibles con MCP pueden instalarlo sin ningún paso de Python.
Inicio rápido
from mandateguard import Intent, Policy, PolicyEngine, Scope
policy = Policy(
scopes={
"wallet-agent": Scope(
tools=("pay",),
destinations=("0xGOOD",),
max_amount=1000, # per call
currency="usd",
max_calls_per_window=5,
)
},
global_max_amount=2000, # per actor
allowlist=("0xGOOD",),
denylist=("0xSCAM",),
)
engine = PolicyEngine(policy)
decision = engine.authorize(
Intent(tool="pay", destination="0xGOOD", amount=800, actor="wallet-agent")
)
print(decision.status) # DecisionStatus.APPROVEDLas llamadas denegadas se bloquean con motivos estructurados; el estado (gasto/tasa) solo se confirma tras la aprobación, por lo que las reproducciones son deterministas.
Servidor MCP
El paquete incluye un punto de entrada de servidor MCP instalable:
python -m pip install -e ".[mcp]"
mandateguard-mcp # stdio server, ready for Claude/Cursor/harnessPara Claude Code:
claude mcp add mandateguard -- mandateguard-mcpMandateGuard está publicado en el registro oficial de MCP: io.github.ezequiellich44-cmd/mandateguard (versión 1.0.0, paquete mcpb, activo). Los clientes compatibles con MCP que sincronicen el registro pueden descubrirlo e instalarlo directamente. El paquete incluye el mismo servidor stdio y la misma superficie de 14 herramientas.
Herramientas expuestas: set_scope, set_global_policy, authorize, init_ledger, ledger_status, create_mandate_signer, issue_mandate, check_mandate, activate_license, license_status, reset_state, más revoke_mandate y persist_state restringidas a Pro detrás de una licencia Pro firmada (compra con USDT — consulta la sección de compra).
Mandatos
from mandateguard import Mandate, MandateSigner, verify_mandate
issuer = MandateSigner()
m = Mandate(actor="wallet-agent", max_amount=500, currency="usd",
tools=("pay",), destinations=("0xGOOD",),
not_before="2026-01-01T00:00:00+00:00",
not_after="2099-01-01T00:00:00+00:00", nonce="abc", issuer="you")
sig = issuer.sign(m)
verify_mandate(issuer.public_key_bytes, m, sig) # TrueArquitectura
Consulta docs/ARCHITECTURE.md para el flujo de decisión y el modelo de estado, docs/THREAT_MODEL.md para saber contra qué protege y contra qué no, y docs/LAUNCH.md para el discurso comercial y el kit de salida al mercado.
Agent intent ──> authorize(intent) ──> PolicyEngine
│ scope? allowlist? denylist?
│ budget? rate limit? mandate?
▼
APPROVED / DENIED / REQUIRES_APPROVAL
│
▼
append-only SHA-256 ledger (audit)Pruebas
python -m pytest -qLicencia
MIT. Consulta LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityAmaintenanceBudget & cost control for AI agents: hard per-agent spend caps, rate limits, idempotency, and human-in-the-loop approval — enforced before each LLM call, not after the invoice. One hosted MCP endpoint (no proxy or self-hosting), settled via x402 (USDC on Base).MIT
- Alicense-qualityCmaintenanceAn MCP server that enforces runtime governance on AI agent actions — file access, command execution, delegation chains, and permission escalation.MIT
- Alicense-qualityBmaintenanceMCP server that enables AI agents to propose USDC payments on the Soroban blockchain with deterministic policy enforcement and injection protection, while providing payment status and attestation tools.MIT
- Flicense-qualityBmaintenanceAn MCP server that enables AI agents to safely interact with a double-entry payments ledger, enforcing idempotency, policy-based access control, and human-in-the-loop approval for high-value actions.
Related MCP Connectors
MCP-native Trust Infrastructure for AI Agents. Persistent encrypted memory with Trust Quotient.
Paid remote MCP for agent design system guard MCP, structured receipts, audit logs, and reviewer-rea
Attribution and settlement infrastructure for AI agent content access over HTTP 402 and MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ezequiellich44-cmd/MandateGuard'
If you have feedback or need assistance with the MCP directory API, please join our Discord server