Server definition
- Hash
- sha256:b65365f5f9cf548cc99c121dc68e27d3e95de5909f1a69190da37fe3714f711c
- What it is
- What a remote MCP server returned when asked what it offers: 2 tools
The blob, as servednamed by its sha256
{
"instructions": "Safe4 decides whether an AI agent's proposed payment should be allowed, by\ntesting the purchase against the task the agent was actually given.\n\nThe distinguishing case is a payment that is inside every budget, in an allowed\ncategory, and to an approved counterparty, and is still denied because it does\nnot serve the task.\n\nsafe4_price is free. safe4_authorize is settled per call in USDC over x402: call\nit without a payment to receive the price list, then again with a payment\npayload.",
"tools": [
{
"description": "Decide whether a proposed agent payment should proceed.\n\nSettled per call in USDC over x402. Called without ``payment`` it\nreturns the price list rather than a decision; call it again with the\nsigned payload to receive one.\n\nThe task and the two allow-lists are the principal's constraints, not\nthe agent's: they are what the purchase is tested against, so an agent\nthat writes its own ``task`` is grading its own homework. Safe4 records\nevery field it was given in the audit entry and marks the task context\nas request-supplied, so a substituted constraint is visible afterwards.\n\nArgs:\n task: The task the agent was given, as stated by its principal.\n purchase: What is being bought.\n purchase_purpose: Why this purchase serves the task.\n amount: Decimal amount as a string, for example \"25.00\".\n currency: Currency of the proposed payment, for example \"USDC\".\n counterparty: Who would receive the payment.\n service_category: Category of the thing being bought.\n allowed_service_categories: Categories the principal permits.\n allowed_counterparties: Optional payees the principal permits. When\n supplied, payment to anyone else is denied.\n task_id: Optional caller-side task identifier, echoed into the audit.\n payment: An x402 payment payload for this call. Omit to receive the\n price list instead of a decision.\n",
"inputSchema": {
"properties": {
"allowed_counterparties": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Allowed Counterparties"
},
"allowed_service_categories": {
"items": {
"type": "string"
},
"title": "Allowed Service Categories",
"type": "array"
},
"amount": {
"title": "Amount",
"type": "string"
},
"counterparty": {
"title": "Counterparty",
"type": "string"
},
"currency": {
"title": "Currency",
"type": "string"
},
"payment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Payment"
},
"purchase": {
"title": "Purchase",
"type": "string"
},
"purchase_purpose": {
"title": "Purchase Purpose",
"type": "string"
},
"service_category": {
"title": "Service Category",
"type": "string"
},
"task": {
"title": "Task",
"type": "string"
},
"task_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Task Id"
}
},
"required": [
"task",
"purchase",
"purchase_purpose",
"amount",
"currency",
"counterparty",
"service_category",
"allowed_service_categories"
],
"title": "safe4_authorizeArguments",
"type": "object"
},
"name": "safe4_authorize",
"outputSchema": {
"additionalProperties": true,
"title": "safe4_authorizeDictOutput",
"type": "object"
}
},
{
"description": "Price and accepted payment networks for one Safe4 decision.\n\nFree to call. Returns the same x402 terms the HTTP endpoint advertises,\nso an agent can see the cost before committing to a paid call.\n",
"inputSchema": {
"properties": {},
"title": "safe4_priceArguments",
"type": "object"
},
"name": "safe4_price",
"outputSchema": {
"additionalProperties": true,
"title": "safe4_priceDictOutput",
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:b65365f5f9cf548cc99c121dc68e27d3e95de5909f1a69190da37fe3714f711c | sha256sum