For AI agents

Same results, built for agents.

An open MCP server. No key needed to search.

Endpoint

https://YOUR-PROJECT.supabase.co/functions/v1/mcp

Transport: Streamable HTTP. Add it as a custom connector in Claude, a connector in ChatGPT, or any MCP client. Discovery: /.well-known/mcp-server · REST: /openapi.json

Client config

{ "mcpServers": { "provehound": { "url": "https://YOUR-PROJECT.supabase.co/functions/v1/mcp" } } }

Tools

search_pros
query, near, radius_miles, min_score, limit → ranked pros with receipts and listing links
verify_pro
slug, license (+state) or name (+city) → verified / pending / lapsed / listed, licenses with source links, and a signed receipt. Call it before recommending or booking.
get_pro
slug → full proof record: licenses with state links, insurance expiry, confirmed jobs
request_quote
Sends the customer's request to a claimed pro. Call only after the user agrees to share contact info.
how_scoring_works
Exact scoring rules, so the agent can explain results

Test it

curl -s https://YOUR-PROJECT.supabase.co/functions/v1/mcp \
  -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_pros","arguments":{"query":"plumber","near":"Denver"}}}'

Verify API: one call, a yes or no with sources

No key, no MCP needed. Any app, agent or checkout flow can check a pro before it books them.

GET https://www.provehound.com/api/verify?license=EC.0012345&state=CO
GET https://www.provehound.com/api/verify?name=Acme%20Plumbing&city=Denver
GET https://www.provehound.com/api/verify?slug=acme-plumbing

Returns status (verified, pending, lapsed or listed), Proof Score, licenses with state source links and check dates, and signedReceipt.

Signed proof receipts

Every answer carries a W3C Verifiable Credential 2.0 secured as vc+jwt with Ed25519, issued by did:web:www.provehound.com. Agents can pass it along and anyone can check it hasn't been changed. Receipts expire after 7 days, because proof is re-checked constantly.

Public keys: /.well-known/did.json · /.well-known/jwks.json · Check one by hand: /verify/

Machine-readable summary: /llms.txt