PabandiOS
Trust and settlement for AI agents: portable attestations, escrow, x402/USDC payments on Solana.
Should I use this
Quality & Safety
Findings (5)
- LOWin pabandi_a2a_get_proposal
- LOWin pabandi_identity_reputation_sync
- LOWin pabandi_submit_dispute_evidence
- LOWin pabandi_get_adjudication_status
- LOWin pabandi_verify_trust_attestation
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
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-httphttps://pabandi.onrender.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (52)
⚪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
Evidence