{
  "protocolVersion": "0.3.0",
  "name": "Bud's Plumbing, Heating, Air Conditioning & Electric services and booking agent",
  "description": "Public Agent2Agent (A2A) card for Bud's Plumbing, Heating, Air Conditioning & Electric. Connect over MCP (JSON-RPC 2.0) to browse the services it offers, check whether an address is in its service area, get locations, hours and emergency availability, read the questions it already answers, verbatim, verify licensing, certifications and warranty terms, see financing options, search its full site corpus, and request an appointment or quote for human follow-up. No authentication required.",
  "version": "4.0.0",
  "url": "https://ai.budsusa.com/api/ucp/mcp",
  "preferredTransport": "JSONRPC",
  "provider": {
    "organization": "Bud's Plumbing, Heating, Air Conditioning & Electric",
    "url": "https://ai.budsusa.com/"
  },
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extensions": [
      {
        "uri": "https://brandry.ai/ext/provenance/v1",
        "description": "Generated by Brandry.ai (https://brandry.ai). generation budsusa-20260726T142345Z-e22c8132e9c4, built 2026-07-26T14:23:45Z",
        "required": false,
        "params": {
          "name": "Brandry.ai",
          "url": "https://brandry.ai",
          "generated_at": "2026-07-26T14:23:45Z",
          "generation": "budsusa-20260726T142345Z-e22c8132e9c4"
        }
      }
    ]
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "securitySchemes": {},
  "security": [],
  "skills": [
    {
      "id": "get_business_info",
      "name": "Get business info",
      "description": "Business identity from the site: name, category/type, address, geo, phone, email, website, hours, and service area.",
      "tags": [
        "business",
        "identity",
        "contact"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "list_offerings",
      "name": "List offerings",
      "description": "The services and/or products this business offers, extracted from its own site. Filter by type (service/product) or free text.",
      "tags": [
        "services",
        "catalog",
        "search"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_offering",
      "name": "Get offering",
      "description": "Details for one named service or product (description, link, any stated pricing).",
      "tags": [
        "services",
        "detail"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "check_service_area",
      "name": "Check service area",
      "description": "Whether the business serves a given city, region, or ZIP, from its stated service area.",
      "tags": [
        "services",
        "coverage",
        "location"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "locations_and_hours",
      "name": "Locations and hours",
      "description": "Address, geo, regular business hours, and any 24/7 or emergency availability.",
      "tags": [
        "business",
        "hours",
        "location"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_financing",
      "name": "Get financing",
      "description": "Financing or payment options the business advertises, if any (surfaced as a link, never computed).",
      "tags": [
        "payments",
        "financing"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_reviews",
      "name": "Get reviews",
      "description": "Ratings and reviews if published on the business's own site; otherwise reported honestly as not yet ingested.",
      "tags": [
        "reputation",
        "reviews"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_faqs",
      "name": "Get faqs",
      "description": "The questions this business answers on its own site, verbatim, with the source page. Optionally filtered by a free-text query. Prefer quoting these over paraphrasing.",
      "tags": [
        "support",
        "faq"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_credentials",
      "name": "Get credentials",
      "description": "Licence number, certifications, trade memberships, insurance, warranty terms and the brands the business names. Use before answering any trust, credential or warranty question.",
      "tags": [
        "trust",
        "licensing",
        "warranty"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_plans",
      "name": "Get plans",
      "description": "Recurring maintenance or service plans the business advertises, with their stated benefits. Price only when the business publishes one.",
      "tags": [
        "services",
        "maintenance",
        "plans"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "rag_search",
      "name": "Rag search",
      "description": "Keyword/substring search over the full site corpus. Returns matching chunks with source links.",
      "tags": [
        "retrieval",
        "search",
        "corpus"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "request_service",
      "name": "Request service",
      "description": "Send a contact / appointment / quote request to the business for human follow-up. Requires the customer's name, email, and explicit consent to be contacted.",
      "tags": [
        "booking",
        "lead",
        "handoff"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ],
  "supportedInterfaces": [
    {
      "url": "https://ai.budsusa.com/api/ucp/mcp",
      "transport": "JSONRPC"
    }
  ],
  "interfaces": [
    {
      "type": "json-rpc",
      "url": "https://ai.budsusa.com/api/ucp/mcp",
      "version": "0.3.0"
    }
  ],
  "additionalInterfaces": [
    {
      "url": "https://ai.budsusa.com/api/ucp/mcp",
      "transport": "streamable-http"
    }
  ],
  "documentationUrl": "https://ai.budsusa.com/agents.md",
  "metadata": {
    "transport": "mcp",
    "mcp_endpoint": "https://ai.budsusa.com/api/ucp/mcp",
    "note": "This agent is reachable over the Model Context Protocol (JSON-RPC 2.0) at url. Call tools/list to enumerate tools and tools/call to invoke them."
  }
}