PabandiOS

Trust and settlement for AI agents: portable attestations, escrow, x402/USDC payments on Solana.

Should I use this

Quality & Safety

A
Description quality
96%
Schema completeness
95%
Naming quality
78%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (5)

  • LOWTool 'pabandi_a2a_get_proposal' description lacks action verbin pabandi_a2a_get_proposal
  • LOWTool 'pabandi_identity_reputation_sync' name length outside 3-30 rangein pabandi_identity_reputation_sync
  • LOWTool 'pabandi_submit_dispute_evidence' name length outside 3-30 rangein pabandi_submit_dispute_evidence
  • LOWTool 'pabandi_get_adjudication_status' name length outside 3-30 rangein pabandi_get_adjudication_status
  • LOWTool 'pabandi_verify_trust_attestation' name length outside 3-30 rangein pabandi_verify_trust_attestation

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~6,881Tokens (tool definitions)
~830 BTypical response size
Significant attention impact (5.38% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "pabandi": {
      "url": "https://pabandi-mcp.pabandi-mcp-worker.workers.dev"
    }
  }
}

Remote endpoints

https://pabandi-mcp.pabandi-mcp-worker.workers.devstreamable-http
https://pabandi.onrender.com/mcpstreamable-http

What it can do

Tool inventory

Tools (52)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
⚪pabandi_verify_passport(token, need)

Verify a Pabandi PTP attestation (agent/business/individual/trust rail). Input base64-encoded attestation token and optional need (e.g. "act:book"). Returns valid, grantedCapabilities, riskBand, expiresAt. Works offline. Example: {"token": "...base64...", "need": "act:book"}

Input Schema

{
  "type": "object",
  "properties": {
    "token": {
      "type": "string",
      "description": "Base64-encoded PTPAttestation or PTPAgentAttestation"
    },
    "need": {
      "type": "string",
      "description": "Optional capability the subject must hold, e.g. \"act:book\""
    }
  },
  "required": [
    "token"
  ]
}
🟢pabandi_discover

Get PTP discovery (public). Returns verify endpoint, public key, issue endpoint, risk bands, entity types. No auth required.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢pabandi_get_ledger(idempotencyKey)

Look up a passport issuance charge by idempotencyKey (public audit). Returns feePab, ownerUserId, agentId, riskBand, capabilities, chargedAt. Example: {"idempotencyKey": "iss-3001"}

Input Schema

{
  "type": "object",
  "properties": {
    "idempotencyKey": {
      "type": "string"
    }
  },
  "required": [
    "idempotencyKey"
  ]
}
🟡pabandi_issue_passport(agentId, capabilities, idempotencyKey)

Issue a scoped Agent Capability Passport (auth required via Bearer token from the owner). Capabilities validated against trust band. Metered at PAB_FEE_PER_PASSPORT $PAB per issue; idempotent via idempotencyKey. Example: {"agentId": "svc-agent-7", "capabilities": ["act:book", "read"], "idempotencyKey": "iss-3001"}. Get API key at POST /api/v1/agents/register.

Input Schema

{
  "type": "object",
  "properties": {
    "agentId": {
      "type": "string",
      "description": "Unique id of the agent this passport is for"
    },
    "capabilities": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "e.g. [\"act:book\",\"read\"]"
    },
    "idempotencyKey": {
      "type": "string",
      "description": "Optional; retries with same key are not double-charged"
    }
  },
  "required": [
    "agentId",
    "capabilities"
  ]
}
⚪pabandi_open_session(ownerType, ownerId, currency)

Open a Trust-Score-derived PabandiSession tab so the agent or user can transact repeatedly via pabandi_execute_transaction without per-call wallet signatures.

Input Schema

{
  "type": "object",
  "properties": {
    "ownerType": {
      "type": "string",
      "enum": [
        "agent",
        "user"
      ],
      "description": "Principal type opening the session"
    },
    "ownerId": {
      "type": "string",
      "description": "Agent or User ID opening the session"
    },
    "currency": {
      "type": "string",
      "description": "Optional currency (defaults to USDC)"
    }
  },
  "required": [
    "ownerType",
    "ownerId"
  ]
}
⚪pabandi_execute_transaction(sessionId, actionType, amount, payload, idempotencyKey)

Spend against an open PabandiSession -- book a service, pay an invoice, or fund an escrow. REQUIRES a sessionId. Sessions are authorised once against a Trust-Score-derived limit and let you transact repeatedly without a wallet signature per call, which is the entire point. If you do not have a session, call pabandi_open_session first and use the sessionId it returns; this tool will refuse without one rather than fall back to a per-call signature. A booking action may return actionRequired 'deposit_required' plus a deposit object (amount, currency, checkoutUrl); fund the deposit at checkoutUrl before treating the booking as settled.

Input Schema

{
  "type": "object",
  "properties": {
    "sessionId": {
      "type": "string",
      "description": "id of an active PabandiSession (from pabandi_open_session)"
    },
    "actionType": {
      "type": "string",
      "enum": [
        "booking",
        "invoice_pay",
        "escrow"
      ],
      "description": "What kind of action this spend authorises"
    },
    "amount": {
      "type": "number",
      "description": "Amount in USDC to deduct from the session limit"
    },
    "payload": {
      "type": "object",
      "description": "Action-specific detail. For bookings this must include businessId, so the server can evaluate the business's deposit policy. Opaque to the engine otherwise; hashed into the receipt.",
      "additionalProperties": true
    },
    "idempotencyKey": {
      "type": "string",
      "description": "Optional. A retry with the same key returns the original receipt and does not spend again."
    }
  },
  "required": [
    "sessionId",
    "actionType",
    "amount"
  ]
}
🟢pabandi_get_services(businessId)

Get services offered by a business for agent booking

Input Schema

{
  "type": "object",
  "properties": {
    "businessId": {
      "type": "string",
      "description": "Business ID"
    }
  },
  "required": [
    "businessId"
  ]
}
🟢pabandi_check_availability(businessId, date)

Check availability for a business on a specific date

Input Schema

{
  "type": "object",
  "properties": {
    "businessId": {
      "type": "string",
      "description": "Business ID"
    },
    "date": {
      "type": "string",
      "description": "Date in YYYY-MM-DD format"
    }
  },
  "required": [
    "businessId",
    "date"
  ]
}
🟡pabandi_create_booking(businessId, serviceId, datetime, clientPassportId, protocol)

Create a booking for an agent/client. Supports ACP, x402, AP2, UCP protocols.

Input Schema

{
  "type": "object",
  "properties": {
    "businessId": {
      "type": "string",
      "description": "Business ID"
    },
    "serviceId": {
      "type": "string",
      "description": "Service ID"
    },
    "datetime": {
      "type": "string",
      "description": "Booking datetime"
    },
    "clientPassportId": {
      "type": "string",
      "description": "Client passport ID"
    },
    "protocol": {
      "type": "string",
      "enum": [
        "acp",
        "x402",
        "ap2",
        "ucp"
      ],
      "description": "Payment protocol"
    }
  },
  "required": [
    "businessId",
    "serviceId",
    "datetime"
  ]
}
🔴pabandi_cancel_booking(bookingId)

Cancel a booking

Input Schema

{
  "type": "object",
  "properties": {
    "bookingId": {
      "type": "string",
      "description": "Booking ID"
    }
  },
  "required": [
    "bookingId"
  ]
}
🟡pabandi_escrow_lock(amount, description, deliverableHash, idempotencyKey)

Lock funds in escrow (allocate memory). Creates a new escrow and funds it. Returns escrowId, status, and amount locked. This is the primitive agents use to put money on hold before work begins.

Input Schema

{
  "type": "object",
  "properties": {
    "amount": {
      "type": "number",
      "description": "Amount in USDC to lock"
    },
    "description": {
      "type": "string",
      "description": "Human-readable description of what the escrow secures"
    },
    "deliverableHash": {
      "type": "string",
      "description": "Optional hash of the expected deliverable"
    },
    "idempotencyKey": {
      "type": "string",
      "description": "Optional idempotency key for retries"
    }
  },
  "required": [
    "amount",
    "description"
  ]
}
⚪pabandi_escrow_release(escrowId, deliverableHash, idempotencyKey)

Release locked escrow funds to the recipient. Requires escrowId. Returns release status and amount released.

Input Schema

{
  "type": "object",
  "properties": {
    "escrowId": {
      "type": "string",
      "description": "Escrow ID to release"
    },
    "deliverableHash": {
      "type": "string",
      "description": "Hash of the delivered work, verified against the locked hash"
    },
    "idempotencyKey": {
      "type": "string",
      "description": "Optional idempotency key for retries"
    }
  },
  "required": [
    "escrowId"
  ]
}
🟡pabandi_escrow_create_child(masterEscrowId, providerPassportId, amount, deliverableHash, idempotencyKey)

Create a child sub-escrow from a master escrow (parent-child subcontracting). Allocates a portion of master funds to a subcontractor. Returns childEscrowId and amount allocated.

Input Schema

{
  "type": "object",
  "properties": {
    "masterEscrowId": {
      "type": "string",
      "description": "Parent escrow ID"
    },
    "providerPassportId": {
      "type": "string",
      "description": "Subcontractor passport/agent ID"
    },
    "amount": {
      "type": "number",
      "description": "Amount in USDC to allocate to this child"
    },
    "deliverableHash": {
      "type": "string",
      "description": "Expected deliverable hash"
    },
    "idempotencyKey": {
      "type": "string",
      "description": "Optional idempotency key for retries"
    }
  },
  "required": [
    "masterEscrowId",
    "providerPassportId",
    "amount"
  ]
}
⚪pabandi_trust_resolve(passportId, need)

Resolve the trust score and reputation for a passport/agent. Returns trustScore, tier, verifiedIdentity, and capability band. Used by agents to evaluate counterparties before transacting.

Input Schema

{
  "type": "object",
  "properties": {
    "passportId": {
      "type": "string",
      "description": "Passport or agent ID to resolve"
    },
    "need": {
      "type": "string",
      "description": "Optional capability required, e.g. \"act:book\""
    }
  },
  "required": [
    "passportId"
  ]
}
🟢pabandi_escrow_balance(escrowId)

Check escrow balance and status. Returns status, totalAmount, releasedAmount, and platformFee.

Input Schema

{
  "type": "object",
  "properties": {
    "escrowId": {
      "type": "string",
      "description": "Escrow ID to check"
    }
  },
  "required": [
    "escrowId"
  ]
}
🟡pabandi_m2m_post_project(title, description, budgetUsd, requiredSkills, deliverableHash, ...)

Post a machine-to-machine project to the marketplace. Creates an open project with escrow protection. Returns projectId and hireUrl. Used by agents to post work they need done.

Input Schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "Project title"
    },
    "description": {
      "type": "string",
      "description": "Project description"
    },
    "budgetUsd": {
      "type": "number",
      "description": "Budget in USDC"
    },
    "requiredSkills": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Required skills"
    },
    "deliverableHash": {
      "type": "string",
      "description": "Expected deliverable hash"
    },
    "deadlineHours": {
      "type": "number",
      "description": "Deadline in hours from now"
    },
    "category": {
      "type": "string",
      "description": "Project category"
    }
  },
  "required": [
    "title",
    "description",
    "budgetUsd"
  ]
}
⚪pabandi_session_close(sessionId, settle)

Close an open session and optionally settle remaining funds. Returns settlement summary.

Input Schema

{
  "type": "object",
  "properties": {
    "sessionId": {
      "type": "string",
      "description": "Session ID to close"
    },
    "settle": {
      "type": "boolean",
      "description": "If true, attempt to settle any remaining balance"
    }
  },
  "required": [
    "sessionId"
  ]
}
🟢pabandi_session_receipts(sessionId, limit)

List all receipts (spend records) for a session. Returns the full spend history.

Input Schema

{
  "type": "object",
  "properties": {
    "sessionId": {
      "type": "string",
      "description": "Session ID"
    },
    "limit": {
      "type": "number",
      "description": "Maximum receipts to return (default 50)"
    }
  },
  "required": [
    "sessionId"
  ]
}
🟢pabandi_session_list(ownerType, ownerId)

List all sessions opened by an owner (user or agent). Returns sessions with balances and status.

Input Schema

{
  "type": "object",
  "properties": {
    "ownerType": {
      "type": "string",
      "enum": [
        "user",
        "agent"
      ],
      "description": "Owner type"
    },
    "ownerId": {
      "type": "string",
      "description": "Owner ID"
    }
  },
  "required": [
    "ownerType",
    "ownerId"
  ]
}
⚪pabandi_identity_register(passportId)

Register an agent's identity onchain via ERC-8004. Creates a portable onchain identity that can be verified across the ecosystem. Returns the onchain agentId and transaction hash. Gasless for the agent (Pabandi pays gas).

Input Schema

{
  "type": "object",
  "properties": {
    "passportId": {
      "type": "string",
      "description": "Trust Passport ID to register onchain"
    }
  },
  "required": [
    "passportId"
  ]
}
⚪pabandi_identity_reputation_sync(passportId)

Sync an agent's trust score to the onchain ERC-8004 reputation registry. Posts feedback about completed tasks and success rate. Gasless for the agent (Pabandi pays gas).

Input Schema

{
  "type": "object",
  "properties": {
    "passportId": {
      "type": "string",
      "description": "Trust Passport ID to sync reputation for"
    }
  },
  "required": [
    "passportId"
  ]
}
⚪pabandi_discover_agents(skills, minTrustScore, category, limit)

Discover agents by skills, trust score, and location. Returns agents sorted by relevance with trust scores and capability badges.

Input Schema

{
  "type": "object",
  "properties": {
    "skills": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Required skills to match against"
    },
    "minTrustScore": {
      "type": "number",
      "description": "Minimum trust score (default 500)",
      "default": 500
    },
    "category": {
      "type": "string",
      "description": "Agent category filter"
    },
    "limit": {
      "type": "number",
      "description": "Maximum results (default 20)",
      "default": 20
    }
  },
  "required": []
}
🟢pabandi_escrow_waterfall(masterEscrowId)

Check and trigger waterfall settlement for parent-child escrows. When all child escrows are released, the master escrow is marked completed. Returns settlement status.

Input Schema

{
  "type": "object",
  "properties": {
    "masterEscrowId": {
      "type": "string",
      "description": "Master escrow ID to check"
    }
  },
  "required": [
    "masterEscrowId"
  ]
}
🟢pabandi_scheduler_priority(passportId)

Get an agent's scheduling priority based on trust score. Returns tier, session limits, recommended actions, and match priority weight. Higher trust = better job matches and higher session limits.

Input Schema

{
  "type": "object",
  "properties": {
    "passportId": {
      "type": "string",
      "description": "Trust Passport/agent ID"
    }
  },
  "required": [
    "passportId"
  ]
}
🟢pabandi_agent_card(agentId)

Get an agent's A2A agent card (.well-known/agent.json equivalent). Returns capabilities, skills, trust score, and contact info for agent-to-agent discovery.

Input Schema

{
  "type": "object",
  "properties": {
    "agentId": {
      "type": "string",
      "description": "Agent/passport ID"
    }
  },
  "required": [
    "agentId"
  ]
}
🟢pabandi_agent_registry(limit)

Get the agent registry listing all discoverable agents on Pabandi. Returns agent handles, trust scores, and capabilities.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "Maximum results (default 50)",
      "default": 50
    }
  },
  "required": []
}
🔴pabandi_check_counterparty(passportId, minScore)

Check a counterparty's Trust Passport before bidding. Returns trustScore, tier, verifiedIdentity, and whether they clear a minimum score (default 500). Used by agents to evaluate who to transact with.

Input Schema

{
  "type": "object",
  "properties": {
    "passportId": {
      "type": "string",
      "description": "Trust Passport/agent ID to check"
    },
    "minScore": {
      "type": "number",
      "description": "Minimum acceptable trust score (default 500)",
      "default": 500
    }
  },
  "required": [
    "passportId"
  ]
}
⚪pabandi_request_escrow(delegationId, amount, description, deliverableHash, contractAddress, ...)

Lock funds in escrow using an ERC-7710 delegated budget. Requires delegationId (from a prior grant) and amount. Verifies MaxAmount, Expiry, and AllowedContracts caveats before locking. Returns escrowId and remaining delegation budget.

Input Schema

{
  "type": "object",
  "properties": {
    "delegationId": {
      "type": "string",
      "description": "ERC-7710 delegation id authorising this spend"
    },
    "amount": {
      "type": "number",
      "description": "Amount in USDC to lock"
    },
    "description": {
      "type": "string",
      "description": "Human-readable description of what the escrow secures"
    },
    "deliverableHash": {
      "type": "string",
      "description": "Optional hash of the expected deliverable"
    },
    "contractAddress": {
      "type": "string",
      "description": "Contract address to call (must be in AllowedContracts)"
    },
    "payerId": {
      "type": "string",
      "description": "Payer/user ID funding the escrow"
    },
    "payeeId": {
      "type": "string",
      "description": "Payee/agent ID receiving the escrow on release"
    }
  },
  "required": [
    "delegationId",
    "amount",
    "description",
    "payerId",
    "payeeId"
  ]
}
🟡pabandi_submit_dispute_evidence(jobId, buyerClaim, sellerProof, oracleData)

Submit an EvidenceBundle to open an Internet Court adjudication case. Requires jobId, buyerClaim, sellerProof (IPFS/content hash), and optional oracleData. Returns the case id and status.

Input Schema

{
  "type": "object",
  "properties": {
    "jobId": {
      "type": "string",
      "description": "The job/escrow being disputed"
    },
    "buyerClaim": {
      "type": "string",
      "description": "Buyer's claim about why the work is rejected"
    },
    "sellerProof": {
      "type": "string",
      "description": "IPFS/content hash of the delivered data/proof"
    },
    "oracleData": {
      "type": "object",
      "description": "Oracle-side data (price feed, GPS coordinate, etc.)",
      "additionalProperties": true
    }
  },
  "required": [
    "jobId",
    "buyerClaim",
    "sellerProof"
  ]
}
🟢pabandi_get_adjudication_status(jobId, caseId)

Check the status and verdict of an adjudication case. Returns status (pending/auto_executed/escalated), verdict, confidence, and reasoning.

Input Schema

{
  "type": "object",
  "properties": {
    "jobId": {
      "type": "string",
      "description": "The job/escrow whose case to look up"
    },
    "caseId": {
      "type": "string",
      "description": "Adjudication case id (alternative to jobId)"
    }
  },
  "required": []
}
⚪pabandi_discover_platform

Discover the full Pabandi Platform: every tool, OpenAPI/spec URL, MCP endpoint, PTP endpoints, SDK info, access tiers, and live status.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢pabandi_platform_access(toolName)

Check whether the caller can access a given Pabandi platform tool (by MCP tool name). Returns ok + note.

Input Schema

{
  "type": "object",
  "properties": {
    "toolName": {
      "type": "string",
      "description": "MCP tool name, e.g. pabandi_search"
    }
  },
  "required": [
    "toolName"
  ]
}
⚪pabandi_platform_discovery

Return the Pabandi Platform discovery doc: every tool on the platform, the OpenAPI/spec URL, the PTP verification endpoint, the public key, and the SDK access info. This is the entry point any third-party app, LLM, or agent uses to learn what Pabandi can do and how to call it. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": []
}
🟢pabandi_verify_trust_attestation(token)

Verify a Pabandi PTP attestation (business, individual, agent, or trust rail). Re-executes the HMAC-SHA512 signature over a fixed subset of fields and returns valid + the verified claims. Offline-verifiable: any party can check a signed attestation without calling Pabandi. This is the trust primitive every third-party action gates on. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.

Input Schema

{
  "type": "object",
  "properties": {
    "token": {
      "type": "string",
      "description": "base64-encoded PTPAttestation (optional: need=capability to gate on)"
    }
  },
  "required": [
    "token"
  ]
}
🟢pabandi_search_services(search, category, latitude, longitude)

Search verified businesses and services by name, category, city, or location. Every listing is tied to a Pabandi Passport trust score. Uses Postgres contains + OpenStreetMap Nominatim (no paid geo API). Returns real, deduped results — never empty. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.

Input Schema

{
  "type": "object",
  "properties": {
    "search": {
      "type": "string",
      "description": "free-text search term"
    },
    "category": {
      "type": "string",
      "description": "business category (RESTAURANT, SALON, PROPERTY_RENTAL, ...)"
    },
    "latitude": {
      "type": "string",
      "description": "optional geolocation"
    },
    "longitude": {
      "type": "string",
      "description": "optional geolocation"
    }
  },
  "required": [
    "search",
    "category",
    "latitude",
    "longitude"
  ]
}
🟢pabandi_get_business(id)

Resolve a business profile by id (public). Returns the sanitized public view (name, category, address, rating, trustScore, phone, email, coverImageUrl). Owner PII is gated — use pabandi:verify_owner for full PII. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "business id (cuid) or googlePlaceId"
    }
  },
  "required": [
    "id"
  ]
}
🟢pabandi_list_properties(city, category)

List open short-term rentals / stays (Airbnb-style) by city or category. Each property is tied to a business + its open-finance settlement rail if connected. This is the hospitality inventory surface. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.

Input Schema

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "description": "city to filter"
    },
    "category": {
      "type": "string",
      "description": "PROPERTY_RENTAL / LIVE_SELLER / ..."
    }
  },
  "required": [
    "city",
    "category"
  ]
}
🟡pabandi_book_stay(propertyId, checkIn, checkOut, guests, depositAmount)

Create a confirmed stay reservation for a property: links the existing Reservation model + a StayBooking, then holds the guest deposit in escrow (EscrowEvent + TreasuryPosition with kind:hospitality, Solana commitment, PTP attestation). The guest deposit is the trust anchor — released to the business on check-in, refunded on cancellation. This is the hospitality money rail. [verified] Gated to businesses with an attested open-finance settlement rail OR PTP Band A/B, so every booked stay has a real, verified payout path. This is what makes the hospitality vertical trustworthy to guests and exclusive to quality hosts. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.

Input Schema

{
  "type": "object",
  "properties": {
    "propertyId": {
      "type": "string",
      "description": "property id"
    },
    "checkIn": {
      "type": "string",
      "description": "ISO date"
    },
    "checkOut": {
      "type": "string",
      "description": "ISO date"
    },
    "guests": {
      "type": "string",
      "description": "number of guests (optional)"
    },
    "depositAmount": {
      "type": "string",
      "description": "guest deposit to hold (optional, defaults to 1 night)"
    }
  },
  "required": [
    "propertyId",
    "checkIn",
    "checkOut",
    "guests",
    "depositAmount"
  ]
}
⚪pabandi_connect_finance(provider, accountRef)

Register a verifiable, masked settlement connection for a business: RAAST (Pakistan), Stripe Treasury, Open Banking, Solana wallet, or PayPal. The account reference is masked (never raw), and a PTP attestation is produced so the business can prove it has a real payout path without exposing the account. This is the open-finance connectivity primitive — the trust badge on a listing. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.

Input Schema

{
  "type": "object",
  "properties": {
    "provider": {
      "type": "string",
      "description": "RAAST | STRIPE_TREASURY | OPEN_BANKING | SOL_WALLET | PAYPAL"
    },
    "accountRef": {
      "type": "string",
      "description": "masked/opaque reference (e.g. wallet addr, IBAN tail, Stripe acct id)"
    }
  },
  "required": [
    "provider",
    "accountRef"
  ]
}
🟢pabandi_list_finance(businessId)

Return a business's connected open-finance connections (verified + pending). Used by third parties to confirm a business has a real payout path before booking or partnering. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.

Input Schema

{
  "type": "object",
  "properties": {
    "businessId": {
      "type": "string",
      "description": "business id"
    }
  },
  "required": [
    "businessId"
  ]
}
⚪pabandi_start_escrow(reservationId, businessAddress, payoutAddress, amount, chain)

Initialize a milestone-based or native SOL/BSC escrow for a booking: business deposits, guest/host holds collateral, release on completion. This is the real-chain escrow rail (Solana + BSC Hardhat contracts). GATED to exclusive platform access — real chain writes require verified ownership + settlement rail. [exclusive] Exclusive: real-chain escrow writes are gated behind a verified PTP trust band (A/B) or an exclusive platform grant, so only trusted counterparties open real money on chain. Verified-only stays use the simulated escrow path. This is the premium moat — the real rail, gated. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.

Input Schema

{
  "type": "object",
  "properties": {
    "reservationId": {
      "type": "string",
      "description": "reservation id"
    },
    "businessAddress": {
      "type": "string",
      "description": "business wallet address"
    },
    "payoutAddress": {
      "type": "string",
      "description": "freelancer/guest payout address"
    },
    "amount": {
      "type": "string",
      "description": "value in smallest unit"
    },
    "chain": {
      "type": "string",
      "description": "SOL | BSC"
    }
  },
  "required": [
    "reservationId",
    "businessAddress",
    "payoutAddress",
    "amount",
    "chain"
  ]
}
⚪pabandi_finance_quote(amountUsdc)

Quote an offramp/payout from the platform rails (RAAST, Stripe, Solana). Returns estimated fees, execution window, and the rail to use. Feeds the hospitality payout flow. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.

Input Schema

{
  "type": "object",
  "properties": {
    "amountUsdc": {
      "type": "string",
      "description": "payout amount in USDc"
    }
  },
  "required": [
    "amountUsdc"
  ]
}
🟢pabandi_predict_booking(customerId, businessId, reservationTime)

Forward-predict the no-show and completion probability for a PROSPECTIVE booking (before it is created). Blends real customer + business history (Beta-binomial shrinkage), lead-time, and day-of-week. Returns predictedNoShow, predictedCompletion, confidence, and the top factors. This is the predictive intelligence the trust rail uses. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.

Input Schema

{
  "type": "object",
  "properties": {
    "customerId": {
      "type": "string",
      "description": "guest user id"
    },
    "businessId": {
      "type": "string",
      "description": "business id"
    },
    "reservationTime": {
      "type": "string",
      "description": "ISO date of the proposed stay/booking"
    }
  },
  "required": [
    "customerId",
    "businessId",
    "reservationTime"
  ]
}
⚪pabandi_predict_demand(businessId)

Return 24 hourly demand buckets for a business (from completed reservation history). Used to surface busy windows and optimize pricing/staffing. Owner-gated. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.

Input Schema

{
  "type": "object",
  "properties": {
    "businessId": {
      "type": "string",
      "description": "business id"
    }
  },
  "required": [
    "businessId"
  ]
}
⚪pabandi_recommend_slots(businessId, customerId, daysAhead)

Recommend the best upcoming slots for a guest at a business: each candidate scored by predictedCompletion, lightly load-balanced away from peak hours. Returns top 3 slots with predicted completion + demand. Owner-gated. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.

Input Schema

{
  "type": "object",
  "properties": {
    "businessId": {
      "type": "string",
      "description": "business id"
    },
    "customerId": {
      "type": "string",
      "description": "guest user id (optional)"
    },
    "daysAhead": {
      "type": "string",
      "description": "range to evaluate (default 7)"
    }
  },
  "required": [
    "businessId",
    "customerId",
    "daysAhead"
  ]
}
⚪pabandi_zk_realestate_proof(deposit, consecutiveMonths, rate, deadline, price, ...)

Generate a zero-knowledge proof that an escrow split (deposit = price - commission, fee = deposit*rate, binding commitment to the valuation) is valid, WITHOUT revealing the private price/valuation/secret. Packs into a PTP attestation so the proof is verifiable offline by any third party. Real Noir circuit (compiled at startup); constraint-execution proof when no SNARK prover is available; upgrades to a succinct signature when the Barretenberg pipeline lands. [owner] Proves the escrow split is correct without revealing the valuation — the privacy + verifiability moat for real-estate/hospitality deals. Upgrades to a succinct on-chain-verifiable SNARK when Barretenberg is in the pipeline. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.

Input Schema

{
  "type": "object",
  "properties": {
    "deposit": {
      "type": "string",
      "description": "lamports (public)"
    },
    "consecutiveMonths": {
      "type": "string",
      "description": "tenancy months (public)"
    },
    "rate": {
      "type": "string",
      "description": "basis points platform fee (public)"
    },
    "deadline": {
      "type": "string",
      "description": "unix ts (public)"
    },
    "price": {
      "type": "string",
      "description": "property valuation (private)"
    },
    "commission": {
      "type": "string",
      "description": "agent/facilitator cut (private)"
    },
    "valuation_hash": {
      "type": "string",
      "description": "commitment to off-chain terms (private)"
    },
    "agent_secret": {
      "type": "string",
      "description": "non-zero stake secret (private, anti-Sybil)"
    }
  },
  "required": [
    "deposit",
    "consecutiveMonths",
    "rate",
    "deadline",
    "price",
    "commission",
    "valuation_hash",
    "agent_secret"
  ]
}
🟢pabandi_verify_human(passportId)

Verify a human trust passport and get their trust score, tier, and verification status. Use this before booking or transacting with any human counterparty to assess reliability. Price: $0.01 USDC.

Input Schema

{
  "type": "object",
  "properties": {
    "passportId": {
      "type": "string",
      "description": "Trust Passport ID to verify"
    }
  },
  "required": [
    "passportId"
  ]
}
🟡pabandi_create_escrow(amount, description, payerId, payeeId)

Create an escrow for an agent-to-agent deal. Locks funds in escrow until the deliverable is verified. Returns escrowId, status, and amount locked. Price: 0.5% of escrow amount.

Input Schema

{
  "type": "object",
  "properties": {
    "amount": {
      "type": "number",
      "description": "Amount in USDC to lock in escrow"
    },
    "description": {
      "type": "string",
      "description": "Human-readable description of what the escrow secures"
    },
    "payerId": {
      "type": "string",
      "description": "Payer user/agent ID"
    },
    "payeeId": {
      "type": "string",
      "description": "Payee user/agent ID"
    }
  },
  "required": [
    "amount",
    "description",
    "payerId",
    "payeeId"
  ]
}
🟢pabandi_enrich_company(domain)

Scrapes a website and government registries (GLEIF, OpenCorporates) to find contact info, tech stack, and legal verification for a business. Use this before onboarding a new business to verify their legitimacy.

Input Schema

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "Website domain to enrich, e.g. acme-corp.com"
    }
  },
  "required": [
    "domain"
  ]
}
🟢pabandi_a2a_negotiate(agentId, businessId, customerName, customerPhone, reservationDate, ...)

Autonomous Agent-to-Agent (A2A) booking negotiation. Connects with Pabandi AI Concierge to propose a reservation, verify trust score, calculate dynamic escrow terms, and trigger merchant A2H approval when necessary. Returns proposalId, status, and escrow parameters.

Input Schema

{
  "type": "object",
  "properties": {
    "agentId": {
      "type": "string",
      "description": "Unique ID of caller agent"
    },
    "businessId": {
      "type": "string",
      "description": "Target venue ID"
    },
    "customerName": {
      "type": "string",
      "description": "Customer or guest name"
    },
    "customerPhone": {
      "type": "string",
      "description": "Optional customer contact"
    },
    "reservationDate": {
      "type": "string",
      "description": "Date in YYYY-MM-DD"
    },
    "reservationTime": {
      "type": "string",
      "description": "Time in HH:mm"
    },
    "numberOfGuests": {
      "type": "number",
      "description": "Party size"
    },
    "escrowDepositUsdc": {
      "type": "number",
      "description": "Offered escrow deposit amount in USDC"
    },
    "specialRequests": {
      "type": "string",
      "description": "Special requirements or notes"
    },
    "webhookCallbackUrl": {
      "type": "string",
      "description": "Webhook endpoint to receive async resolution alert"
    }
  },
  "required": [
    "agentId",
    "businessId",
    "customerName",
    "reservationDate",
    "reservationTime",
    "numberOfGuests"
  ]
}
⚪pabandi_a2a_subscribe_alerts(agentId, targetUrl, events)

Subscribe agent to proactive Pabandi alerts: flash inventory slots, no-show/risk score alerts, and escrow settlement milestones. Supports webhook push.

Input Schema

{
  "type": "object",
  "properties": {
    "agentId": {
      "type": "string",
      "description": "Unique agent ID"
    },
    "targetUrl": {
      "type": "string",
      "description": "Webhook callback URL"
    },
    "events": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Events: inventory.slot_available, booking.risk_elevated, escrow.funded, agent.proposal_resolved"
    }
  },
  "required": [
    "agentId"
  ]
}
🟢pabandi_a2a_get_proposal(proposalId)

Lookup the status of a pending A2A negotiation proposal by proposalId.

Input Schema

{
  "type": "object",
  "properties": {
    "proposalId": {
      "type": "string",
      "description": "Proposal ID (e.g. prop_...)"
    }
  },
  "required": [
    "proposalId"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded52 tools
failed observationversion not recorded—
verifiedversion not recorded20 tools
failed observationversion not recorded—
failed observationversion not recorded—
failed observationversion not recorded—
failed observationversion not recorded—