safe4
Tests an AI agent's purchase against the task it was given. Paid per call in USDC via x402.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"safe4": {
"url": "https://api.safe4.ai/mcp/"
}
}
}원격 엔드포인트
https://api.safe4.ai/mcp/streamable-http할 수 있는 일
도구 목록
도구 (2)
⚪safe4_price
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.
입력 스키마
{
"type": "object",
"properties": {},
"title": "safe4_priceArguments"
}출력 스키마
{
"type": "object",
"additionalProperties": true,
"title": "safe4_priceDictOutput"
}🟢safe4_authorize(task, purchase, purchase_purpose, amount, currency, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"task": {
"title": "Task",
"type": "string"
},
"purchase": {
"title": "Purchase",
"type": "string"
},
"purchase_purpose": {
"title": "Purchase Purpose",
"type": "string"
},
"amount": {
"title": "Amount",
"type": "string"
},
"currency": {
"title": "Currency",
"type": "string"
},
"counterparty": {
"title": "Counterparty",
"type": "string"
},
"service_category": {
"title": "Service Category",
"type": "string"
},
"allowed_service_categories": {
"items": {
"type": "string"
},
"title": "Allowed Service Categories",
"type": "array"
},
"allowed_counterparties": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Allowed Counterparties"
},
"task_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Task Id"
},
"payment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Payment"
}
},
"required": [
"task",
"purchase",
"purchase_purpose",
"amount",
"currency",
"counterparty",
"service_category",
"allowed_service_categories"
],
"title": "safe4_authorizeArguments"
}출력 스키마
{
"type": "object",
"additionalProperties": true,
"title": "safe4_authorizeDictOutput"
}커뮤니티
증거