Boundra — Payment Approval Gateway for AI Agents
Allow, ask, or veto — a policy decision point your agent consults before signing any payment
¿Debería usar esto?
Calidad y seguridad
Hallazgos (2)
- LOWen get_policy
- LOWen get_policy_versions
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": {
"boundra": {
"command": "uvx",
"args": [
"boundra-mcp"
]
}
}
}Paquetes ejecutables
0.1.1stdioPuntos de conexión remotos
https://api.boundra.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (11)
⚪evaluate_payment(amount, recipient, purpose, expected_amount, source_content, ...)
Evaluate a payment intent. MUST be called before executing any payment. ALLOW = you may pay; DENY = you must abandon; ASK = a challenge is returned — relay the reason to the user, then retry with approval_token once the user signs. An optional mandate parameter carries a user-issued single-task authorization.
Esquema de entrada
{
"type": "object",
"properties": {
"amount": {
"title": "Amount",
"type": "number"
},
"recipient": {
"title": "Recipient",
"type": "string"
},
"purpose": {
"title": "Purpose",
"type": "string"
},
"expected_amount": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Expected Amount"
},
"source_content": {
"default": "",
"title": "Source Content",
"type": "string"
},
"approval_token": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Approval Token"
},
"owner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Owner"
},
"agent_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Agent Id"
},
"mandate": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Mandate"
}
},
"required": [
"amount",
"recipient",
"purpose"
],
"title": "evaluate_paymentArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "evaluate_paymentOutput"
}🟡request_policy_change(agent_id, request, reason)
[For agents] Ask the user for a policy/budget change (e.g. 'raise daily budget from 50 to 80'). The request is queued for user approval; the user signs and publishes a new policy version. Agents can NEVER change policy directly.
Esquema de entrada
{
"type": "object",
"properties": {
"agent_id": {
"title": "Agent Id",
"type": "string"
},
"request": {
"title": "Request",
"type": "string"
},
"reason": {
"title": "Reason",
"type": "string"
}
},
"required": [
"agent_id",
"request",
"reason"
],
"title": "request_policy_changeArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "request_policy_changeOutput"
}🟢get_policy(owner, agent_id)
View the active signed payment policy for an owner (and optionally an agent scope)
Esquema de entrada
{
"type": "object",
"properties": {
"owner": {
"title": "Owner",
"type": "string"
},
"agent_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Agent Id"
}
},
"required": [
"owner"
],
"title": "get_policyArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_policyOutput"
}🟢get_spend_report(owner)
View today's spend summary for an owner
Esquema de entrada
{
"type": "object",
"properties": {
"owner": {
"title": "Owner",
"type": "string"
}
},
"required": [
"owner"
],
"title": "get_spend_reportArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_spend_reportOutput"
}🟢get_audit_trail(owner, limit)
View recent payment-approval audit records for an owner
Esquema de entrada
{
"type": "object",
"properties": {
"owner": {
"title": "Owner",
"type": "string"
},
"limit": {
"default": 10,
"title": "Limit",
"type": "integer"
}
},
"required": [
"owner"
],
"title": "get_audit_trailArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_audit_trailOutput"
}🟡set_policy(owner, scope, version, nl_rule, prev_hash, ...)
[USER ONLY] Submit a new policy version. Must carry the user's wallet EIP-191 signature over the policy document; accepted only after signature + version-chain checks pass. Agents MUST NOT call this tool.
Esquema de entrada
{
"type": "object",
"properties": {
"owner": {
"title": "Owner",
"type": "string"
},
"scope": {
"title": "Scope",
"type": "string"
},
"version": {
"title": "Version",
"type": "integer"
},
"nl_rule": {
"title": "Nl Rule",
"type": "string"
},
"prev_hash": {
"title": "Prev Hash",
"type": "string"
},
"created_at": {
"title": "Created At",
"type": "number"
},
"signature": {
"title": "Signature",
"type": "string"
},
"agent_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Agent Id"
}
},
"required": [
"owner",
"scope",
"version",
"nl_rule",
"prev_hash",
"created_at",
"signature"
],
"title": "set_policyArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "set_policyOutput"
}⚪revoke_policy(owner, scope, revoked_through, created_at, signature, ...)
[USER ONLY] Revoke a policy chain (takes effect immediately; subsequent payments default to DENY). Must carry the user's wallet signature over the revocation statement.
Esquema de entrada
{
"type": "object",
"properties": {
"owner": {
"title": "Owner",
"type": "string"
},
"scope": {
"title": "Scope",
"type": "string"
},
"revoked_through": {
"title": "Revoked Through",
"type": "integer"
},
"created_at": {
"title": "Created At",
"type": "number"
},
"signature": {
"title": "Signature",
"type": "string"
},
"agent_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Agent Id"
}
},
"required": [
"owner",
"scope",
"revoked_through",
"created_at",
"signature"
],
"title": "revoke_policyArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "revoke_policyOutput"
}🟢get_policy_versions(owner)
View a user's policy version history (version chain + hashes, verifiable against on-chain commitments)
Esquema de entrada
{
"type": "object",
"properties": {
"owner": {
"title": "Owner",
"type": "string"
}
},
"required": [
"owner"
],
"title": "get_policy_versionsArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_policy_versionsOutput"
}🟡list_policy_requests
List pending agent policy-change requests
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "list_policy_requestsArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "list_policy_requestsOutput"
}🟢list_templates
List policy templates (personal assistant / travel / dev API / procurement)
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "list_templatesArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "list_templatesOutput"
}⚪render_template(template_id, whitelist, daily, per_tx, ask_above)
Render a natural-language rule from a template + parameters (then compile, sign & publish)
Esquema de entrada
{
"type": "object",
"properties": {
"template_id": {
"title": "Template Id",
"type": "string"
},
"whitelist": {
"items": {
"type": "string"
},
"title": "Whitelist",
"type": "array"
},
"daily": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Daily"
},
"per_tx": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Per Tx"
},
"ask_above": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Ask Above"
}
},
"required": [
"template_id",
"whitelist"
],
"title": "render_templateArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "render_templateOutput"
}Comunidad
Evidencia