Allow, ask, or veto — a policy decision point your agent consults before signing any payment
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
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.
| Argument | Type | Description |
|---|---|---|
| owner | any | |
| amount* | number | |
| mandate | any | |
| purpose* | string | |
| agent_id | any | |
| recipient* | string | |
| approval_token | any | |
| source_content | string | |
| expected_amount | any |
{
"type": "object",
"title": "evaluate_paymentArguments",
"required": [
"amount",
"recipient",
"purpose"
],
"properties": {
"owner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Owner",
"default": null
},
"amount": {
"type": "number",
"title": "Amount"
},
"mandate": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Mandate",
"default": null
},
"purpose": {
"type": "string",
"title": "Purpose"
},
"agent_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Agent Id",
"default": null
},
"recipient": {
"type": "string",
"title": "Recipient"
},
"approval_token": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Approval Token",
"default": null
},
"source_content": {
"type": "string",
"title": "Source Content",
"default": ""
},
"expected_amount": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Expected Amount",
"default": null
}
}
}View recent payment-approval audit records for an owner
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| owner* | string |
{
"type": "object",
"title": "get_audit_trailArguments",
"required": [
"owner"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10
},
"owner": {
"type": "string",
"title": "Owner"
}
}
}View the active signed payment policy for an owner (and optionally an agent scope)
| Argument | Type | Description |
|---|---|---|
| owner* | string | |
| agent_id | any |
{
"type": "object",
"title": "get_policyArguments",
"required": [
"owner"
],
"properties": {
"owner": {
"type": "string",
"title": "Owner"
},
"agent_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Agent Id",
"default": null
}
}
}View a user's policy version history (version chain + hashes, verifiable against on-chain commitments)
| Argument | Type | Description |
|---|---|---|
| owner* | string |
{
"type": "object",
"title": "get_policy_versionsArguments",
"required": [
"owner"
],
"properties": {
"owner": {
"type": "string",
"title": "Owner"
}
}
}View today's spend summary for an owner
| Argument | Type | Description |
|---|---|---|
| owner* | string |
{
"type": "object",
"title": "get_spend_reportArguments",
"required": [
"owner"
],
"properties": {
"owner": {
"type": "string",
"title": "Owner"
}
}
}List pending agent policy-change requests
No arguments.
{
"type": "object",
"title": "list_policy_requestsArguments",
"properties": {}
}List policy templates (personal assistant / travel / dev API / procurement)
No arguments.
{
"type": "object",
"title": "list_templatesArguments",
"properties": {}
}Render a natural-language rule from a template + parameters (then compile, sign & publish)
| Argument | Type | Description |
|---|---|---|
| daily | any | |
| per_tx | any | |
| ask_above | any | |
| whitelist* | array | |
| template_id* | string |
{
"type": "object",
"title": "render_templateArguments",
"required": [
"template_id",
"whitelist"
],
"properties": {
"daily": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Daily",
"default": null
},
"per_tx": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Per Tx",
"default": null
},
"ask_above": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Ask Above",
"default": null
},
"whitelist": {
"type": "array",
"items": {
"type": "string"
},
"title": "Whitelist"
},
"template_id": {
"type": "string",
"title": "Template Id"
}
}
}[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.
| Argument | Type | Description |
|---|---|---|
| reason* | string | |
| request* | string | |
| agent_id* | string |
{
"type": "object",
"title": "request_policy_changeArguments",
"required": [
"agent_id",
"request",
"reason"
],
"properties": {
"reason": {
"type": "string",
"title": "Reason"
},
"request": {
"type": "string",
"title": "Request"
},
"agent_id": {
"type": "string",
"title": "Agent Id"
}
}
}[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.
| Argument | Type | Description |
|---|---|---|
| owner* | string | |
| scope* | string | |
| agent_id | any | |
| signature* | string | |
| created_at* | number | |
| revoked_through* | integer |
{
"type": "object",
"title": "revoke_policyArguments",
"required": [
"owner",
"scope",
"revoked_through",
"created_at",
"signature"
],
"properties": {
"owner": {
"type": "string",
"title": "Owner"
},
"scope": {
"type": "string",
"title": "Scope"
},
"agent_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Agent Id",
"default": null
},
"signature": {
"type": "string",
"title": "Signature"
},
"created_at": {
"type": "number",
"title": "Created At"
},
"revoked_through": {
"type": "integer",
"title": "Revoked Through"
}
}
}[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.
| Argument | Type | Description |
|---|---|---|
| owner* | string | |
| scope* | string | |
| nl_rule* | string | |
| version* | integer | |
| agent_id | any | |
| prev_hash* | string | |
| signature* | string | |
| created_at* | number |
{
"type": "object",
"title": "set_policyArguments",
"required": [
"owner",
"scope",
"version",
"nl_rule",
"prev_hash",
"created_at",
"signature"
],
"properties": {
"owner": {
"type": "string",
"title": "Owner"
},
"scope": {
"type": "string",
"title": "Scope"
},
"nl_rule": {
"type": "string",
"title": "Nl Rule"
},
"version": {
"type": "integer",
"title": "Version"
},
"agent_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Agent Id",
"default": null
},
"prev_hash": {
"type": "string",
"title": "Prev Hash"
},
"signature": {
"type": "string",
"title": "Signature"
},
"created_at": {
"type": "number",
"title": "Created At"
}
}
}