Card snapshot
smb-broker.onrender.com
·
2026-07-08 06:39:46 UTC
·
3acf4bf8db18f4b821f1eadce6e351ce1e8d8d0f2028f3a677725255950adacf
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"protocolVersion": "0.2.5",
"name": "Agent Broker",
"description": "AI agents find, verify, message, and book appointments with small businesses worldwide. Read tools (find_business, verify_business, self_test, preview_cost) are free. Write tools require an X-Agent-Identity token. Built-in TCPA/GDPR/CASL compliance gate. Connect via the MCP endpoint below (streamable-http). Note: micropayment billing (x402/USDC) is coming soon \u2014 not yet active.",
"url": "https://smb-broker.onrender.com/mcp",
"preferredTransport": "streamable-http",
"version": "1.0.2",
"provider": {
"organization": "Agent Broker",
"url": "https://smb-broker.onrender.com"
},
"documentationUrl": "https://smb-broker.onrender.com/llms.txt",
"capabilities": {
"streaming": true,
"pushNotifications": true,
"stateTransitionHistory": true
},
"defaultInputModes": [
"application/json"
],
"defaultOutputModes": [
"application/json"
],
"skills": [
{
"id": "find_business",
"name": "Find Business",
"description": "Given criteria (vertical, location, capability, price band, availability window), return ranked candidate SMBs from the verified supply network. Returns only curated, verified, transactable businesses \u2014 not raw directory results.",
"tags": [
"sync",
"read_only"
],
"examples": [
"",
""
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "verify_business",
"name": "Verify Business",
"description": "Confirm that an SMB is real, currently operating, and capable of the requested service. Performs a live capability probe against the business's channel.",
"tags": [
"sync",
"read_only"
],
"examples": [
""
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "send_message",
"name": "Send Message",
"description": "Send a message on behalf of an agent's user or an SMB across SMS, email, or voice. Five message types: transactional, reminder, follow_up, notification, marketing. Every send routes through a non-bypassable compliance gate (TCPA, GDPR, CASL, PDPL across 22 jurisdictions) that enforces opt-in consent for marketing/promotional content \u2014 marketing without recorded consent is rejected at runtime with a structured compliance_violation receipt. Channel is abstracted: specify intent and recipient; the service selects and falls back across channels.",
"tags": [
"sync_fast",
"write",
"compliance_gated"
],
"examples": [
"",
""
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "capture_lead",
"name": "Capture Lead",
"description": "Structured intake of a prospect into an SMB's funnel with validation, enrichment hooks, and deduplication. Inserts into the SMB's CRM or direct-booking pipeline if available.",
"tags": [
"sync_fast",
"write",
"compliance_gated"
],
"examples": [
""
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "schedule_appointment",
"name": "Schedule Appointment",
"description": "Availability lookup, hold, confirm, reschedule, or cancel appointments with an SMB. Routes through the SMB's native booking system if available, falls back to voice AI or web form.",
"tags": [
"async_by_default",
"write",
"compliance_gated"
],
"examples": [
"",
""
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "send_transactional_confirmation",
"name": "Send Transactional Confirmation",
"description": "Idempotent transactional messages: OTPs, booking confirmations, payment receipts, cancellation notices. Guaranteed delivery via redundant channels.",
"tags": [
"sync_fast",
"write",
"compliance_gated"
],
"examples": [
""
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "handle_inbound",
"name": "Handle Inbound",
"description": "Receive, classify, and route inbound messages on behalf of an SMB. Classifies intent (booking request, cancellation, inquiry, complaint), enriches with context, and routes to the appropriate handler or escalation path.",
"tags": [
"async_by_default",
"compliance_gated"
],
"examples": [
""
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "escalate_to_human",
"name": "Escalate To Human",
"description": "Hand off an in-flight task to a human operator with a full context bundle: transcript, prior actions, identifiers, and a recommended next step.",
"tags": [
"async_by_default",
"compliance_gated"
],
"examples": [
""
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "get_status",
"name": "Get Status",
"description": "Query the current state of any in-flight async operation by operation_id.",
"tags": [
"sync"
],
"examples": [
""
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "get_outcome",
"name": "Get Outcome",
"description": "Retrieve the final OutcomeReceipt for a completed operation.",
"tags": [
"sync"
],
"examples": [
""
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "preview_cost",
"name": "Preview Cost",
"description": "Return an expected cost estimate, latency estimate, and success-probability estimate for a proposed call before execution. Accuracy SLO: actual cost within \u00b15% of preview.",
"tags": [
"sync",
"read_only"
],
"examples": [
""
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "self_test",
"name": "Self Test",
"description": "Live capability probe that verifies the service is healthy, each claimed operation is reachable, and supply network size is current. Use to verify integration before production use.",
"tags": [
"sync"
],
"examples": [
""
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "import_booking_url",
"name": "Import Booking Url",
"description": "Turn ANY public booking URL (Cal.com, Calendly, Doctolib, Booksy, Fresha, OpenTable, Setmore, Square, Acuity, Schedulista, Squarespace, BookMyCity) into a callable smb_id you can immediately use with schedule_appointment, send_message, or capture_lead. Idempotent \u2014 calling twice returns the same smb_id.",
"tags": [
"sync"
],
"examples": [
"",
""
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "call_business",
"name": "Call Business",
"description": "Place a conversational voice-AI phone call to a business on a consumer's behalf and return a structured answer. THE differentiated capability: reach the ~60M long-tail SMBs that have NO API and NO booking page \u2014 only a phone number. An AI agent cannot pick up a phone and hold a conversation; this tool does. Give a plain-language objective; the voice AI navigates the call and extracts the answer. Business-directed (B2B), far less restricted than calling consumers \u2014 but the compliance gate still enforces recording consent per jurisdiction. Async: returns a call handle; poll get_outcome for the transcript + extracted fields.",
"tags": [
"async_by_default",
"compliance_gated"
],
"examples": [
""
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
}
],
"_meta": {
"transport": "mcp",
"mcpEndpoint": "https://smb-broker.onrender.com/mcp",
"payments": {
"status": "coming_soon",
"note": "Per-call micropayment billing (x402/USDC on Base) is in development. Currently all tools are callable at no cost. This field will be updated when billing goes live."
}
}
}