Skip to content
Back to Agent Broker

Card snapshot

agent-broker-edge.basil-agent.workers.dev · 2026-05-31 08:09:58 UTC · a525b2b07ba70e3a16055a52e93d0efb3ecf31e7b87e75cc7ac368a5a3542718

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. Pay per call in USDC on Base via x402 \u2014 no signup, no API key (reads free, writes paid). Built-in TCPA/GDPR/CASL compliance gate. Connect via the MCP endpoint below (streamable-http).",
  "url": "https://agent-broker-edge.basil-agent.workers.dev/mcp",
  "preferredTransport": "streamable-http",
  "version": "1.0.2",
  "provider": {
    "organization": "Agent Broker",
    "url": "https://agent-broker-edge.basil-agent.workers.dev"
  },
  "documentationUrl": "https://agent-broker-edge.basil-agent.workers.dev/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://agent-broker-edge.basil-agent.workers.dev/mcp",
    "payments": {
      "protocol": "x402",
      "asset": "USDC",
      "network": "base",
      "model": "reads free, writes paid (per-call USDC micropayment)"
    }
  }
}