agent-escrow
Trustless escrow & settlement for A2A transactions: exactly-once state machine, frozen fees, tamper-
사용해야 할까요
품질 및 안전성
발견 사항 (1)
- LOWdescribe_agent에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"agent-escrow": {
"url": "https://viridis-agent-stable.fly.dev/escrow/mcp"
}
}
}원격 엔드포인트
https://viridis-agent-stable.fly.dev/escrow/mcpstreamable-httphttps://mcp.viridisconservation.com/escrow/mcpstreamable-http할 수 있는 일
도구 목록
도구 (9)
⚪open_escrow(payer, payee, amount_minor, currency, terms, ...)
Open an escrow between payer and payee. amount_minor is a positive integer in minor units (cents). The platform fee is computed and FROZEN at open (ceil bps). Returns the escrow_id (state OPEN). RETRY-SAFE: pass open_ref=<your job id> and a replayed open returns the ORIGINAL escrow (duplicate=true) instead of minting another one (E10).
입력 스키마
{
"type": "object",
"properties": {
"payer": {
"title": "Payer",
"type": "string"
},
"payee": {
"title": "Payee",
"type": "string"
},
"amount_minor": {
"title": "Amount Minor",
"type": "integer"
},
"currency": {
"default": "USD",
"title": "Currency",
"type": "string"
},
"terms": {
"default": "",
"title": "Terms",
"type": "string"
},
"deadline": {
"default": "",
"title": "Deadline",
"type": "string"
},
"fee_bps": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Fee Bps"
},
"open_ref": {
"default": "",
"title": "Open Ref",
"type": "string"
}
},
"required": [
"payer",
"payee",
"amount_minor"
],
"title": "open_escrowArguments"
}출력 스키마
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "open_escrowOutput"
}⚪fund_escrow(escrow_id, payment_ref)
Mark an OPEN escrow as FUNDED (idempotent). payment_ref links the payment-rail transaction.
입력 스키마
{
"type": "object",
"properties": {
"escrow_id": {
"title": "Escrow Id",
"type": "string"
},
"payment_ref": {
"default": "",
"title": "Payment Ref",
"type": "string"
}
},
"required": [
"escrow_id"
],
"title": "fund_escrowArguments"
}출력 스키마
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "fund_escrowOutput"
}⚪release_escrow(escrow_id, delivery_proof)
Release a FUNDED/DISPUTED escrow to the payee (exactly-once — a repeat release returns the existing terminal record, never a double payout).
입력 스키마
{
"type": "object",
"properties": {
"escrow_id": {
"title": "Escrow Id",
"type": "string"
},
"delivery_proof": {
"default": "",
"title": "Delivery Proof",
"type": "string"
}
},
"required": [
"escrow_id"
],
"title": "release_escrowArguments"
}출력 스키마
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "release_escrowOutput"
}⚪refund_escrow(escrow_id, reason)
Refund an OPEN/FUNDED/DISPUTED escrow to the payer (exactly-once). Refunding an OPEN escrow is a cancel.
입력 스키마
{
"type": "object",
"properties": {
"escrow_id": {
"title": "Escrow Id",
"type": "string"
},
"reason": {
"default": "",
"title": "Reason",
"type": "string"
}
},
"required": [
"escrow_id"
],
"title": "refund_escrowArguments"
}출력 스키마
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "refund_escrowOutput"
}⚪dispute_escrow(escrow_id, reason)
Move a FUNDED escrow to DISPUTED. An arbiter (agent-arbitration-agent) then resolves it to release or refund.
입력 스키마
{
"type": "object",
"properties": {
"escrow_id": {
"title": "Escrow Id",
"type": "string"
},
"reason": {
"default": "",
"title": "Reason",
"type": "string"
}
},
"required": [
"escrow_id"
],
"title": "dispute_escrowArguments"
}출력 스키마
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "dispute_escrowOutput"
}⚪escrow_status(escrow_id)
Current record for an escrow.
입력 스키마
{
"type": "object",
"properties": {
"escrow_id": {
"title": "Escrow Id",
"type": "string"
}
},
"required": [
"escrow_id"
],
"title": "escrow_statusArguments"
}출력 스키마
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "escrow_statusOutput"
}🟢list_escrows(state)
List escrows, optionally filtered by state (OPEN|FUNDED|RELEASED|REFUNDED|DISPUTED).
입력 스키마
{
"type": "object",
"properties": {
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "State"
}
},
"title": "list_escrowsArguments"
}출력 스키마
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "list_escrowsOutput"
}⚪verify_audit(escrow_id)
Validate the tamper-evident audit hash chain for an escrow.
입력 스키마
{
"type": "object",
"properties": {
"escrow_id": {
"title": "Escrow Id",
"type": "string"
}
},
"required": [
"escrow_id"
],
"title": "verify_auditArguments"
}출력 스키마
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "verify_auditOutput"
}🟢describe_agent
Fleet-standard self-description.
입력 스키마
{
"type": "object",
"properties": {},
"title": "describe_agentArguments"
}출력 스키마
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "describe_agentOutput"
}커뮤니티
증거