Tests an AI agent's purchase against the task it was given. Paid per call in USDC via x402.
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.
Decide whether a proposed agent payment should proceed. Settled per call in USDC over x402. Called without ``payment`` it returns the price list rather than a decision; call it again with the signed payload to receive one. The task and the two allow-lists are the principal's constraints, not the agent's: they are what the purchase is tested against, so an agent that writes its own ``task`` is grading its own homework. Safe4 records every field it was given in the audit entry and marks the task context as request-supplied, so a substituted constraint is visible afterwards. Args: task: The task the agent was given, as stated by its principal. purchase: What is being bought. purchase_purpose: Why this purchase serves the task. amount: Decimal amount as a string, for example "25.00". currency: Currency of the proposed payment, for example "USDC". counterparty: Who would receive the payment. service_category: Category of the thing being bought. allowed_service_categories: Categories the principal permits. allowed_counterparties: Optional payees the principal permits. When supplied, payment to anyone else is denied. task_id: Optional caller-side task identifier, echoed into the audit. payment: An x402 payment payload for this call. Omit to receive the price list instead of a decision.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Decide whether a proposed agent payment should proceed. Settled per call in USDC over x402. Called without ``payment`` it returns the price list rather than a decision; call it again with the signed payload to receive one. The task and the two allow-lists are the principal's constraints, not the agent's: they are what the purchase is tested against, so an agent that writes its own ``task`` is grading its own homework. Safe4 records every field it was given in the audit entry and marks the task context as request-supplied, so a substituted constraint is visible afterwards. Args: task: The task the agent was given, as stated by its principal. purchase: What is being bought. purchase_purpose: Why this purchase serves the task. amount: Decimal amount as a string, for example "25.00". currency: Currency of the proposed payment, for example "USDC". counterparty: Who would receive the payment. service_category: Category of the thing being bought. allowed_service_categories: Categories the principal permits. allowed_counterparties: Optional payees the principal permits. When supplied, payment to anyone else is denied. task_id: Optional caller-side task identifier, echoed into the audit. payment: An x402 payment payload for this call. Omit to receive the price list instead of a decision.
| Argument | Type | Description |
|---|---|---|
| task* | string | |
| amount* | string | |
| payment | any | |
| task_id | any | |
| currency* | string | |
| purchase* | string | |
| counterparty* | string | |
| purchase_purpose* | string | |
| service_category* | string | |
| allowed_counterparties | any | |
| allowed_service_categories* | array |
{
"type": "object",
"title": "safe4_authorizeArguments",
"required": [
"task",
"purchase",
"purchase_purpose",
"amount",
"currency",
"counterparty",
"service_category",
"allowed_service_categories"
],
"properties": {
"task": {
"type": "string",
"title": "Task"
},
"amount": {
"type": "string",
"title": "Amount"
},
"payment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Payment",
"default": null
},
"task_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Task Id",
"default": null
},
"currency": {
"type": "string",
"title": "Currency"
},
"purchase": {
"type": "string",
"title": "Purchase"
},
"counterparty": {
"type": "string",
"title": "Counterparty"
},
"purchase_purpose": {
"type": "string",
"title": "Purchase Purpose"
},
"service_category": {
"type": "string",
"title": "Service Category"
},
"allowed_counterparties": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Allowed Counterparties",
"default": null
},
"allowed_service_categories": {
"type": "array",
"items": {
"type": "string"
},
"title": "Allowed Service Categories"
}
}
}Price and accepted payment networks for one Safe4 decision. Free to call. Returns the same x402 terms the HTTP endpoint advertises, so an agent can see the cost before committing to a paid call.
No arguments.
{
"type": "object",
"title": "safe4_priceArguments",
"properties": {}
}