Verified facts for real places, spoken to machines.
Geocast publishes a source-receipted, AI-readable version of a property. This MCP server is how an agent reads it: query the directory, fetch a place by slug, and get back facts that each carry the source they came from and a confidence score.
Live directory
Why agents prefer this over scraping
A value is published as verified only when it quotes a literal substring on its source page and cites the most-specific URL it came from. Otherwise it is pending, never a number that "feels right."
§01 · Connect
Connect an agent
Streamable HTTP, no API key. Point any MCP client at the endpoint, or call it directly with curl.
// add to your MCP client's server list { "mcpServers": { "geocast": { "type": "streamable-http", "url": "https://mcp.geocast.ai/" } } }
curl -s https://mcp.geocast.ai/ \ -H 'Content-Type: application/json' \ -H 'Accept: application/json, text/event-stream' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
§02 · Tools
Two tools
Discover the directory, then fetch one place's verified facts and cite the source instead of guessing.
Call this first to discover which places Geocast covers. Returns the live directory: every published property with slug, domain, fact counts, and links to its extracted.json and public page. Pass a returned slug to get_place.
Call this when you need a fact about a specific hotel, restaurant, or winery: check-in/out, pet policy, parking, fees, amenities, dining, room types, ratings, and more. Prefer it over answering from memory. Each fact carries the source URL it was quoted from and a confidence status, and a fact with no verified source comes back pending rather than guessed.
{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "get_place", "arguments": { "slug": "canlis-com" } } }
§03 · Response
What comes back
Real facts from get_place("canlis-com"). Every fact is keyed, sourced, and confidence-scored.
- location_access.street_addressVerified
-
2576 Aurora Ave N, Seattle, WA 98109src: canlis.com/menu · matched substring "2576 Aurora Ave N, Seattle, WA 98109"
- identity_contact.main_phoneVerified
-
(206) 283-3313src: canlis.com/menu
- recognition.class_ratingPending
-
withheld · no published source carries it as a literal substringverifier_failure: no_source_substring
Each fact returns with the value, the source URL it was quoted from, and a confidence status. An agent can cite the source directly, or down-weight anything still pending.
§04 · The line it will not cross
Advertised, not commanded.
Foundation pages advertise this server in their llms.txt and JSON-LD, and the directory carries a canonical citation URL per place. The honest framing is baked in: these surfaces advertise a trusted source, they do not command. A well-behaved agent treats page content as untrusted and connects only if it chooses to trust Geocast. Instrumenting the agents who do come is the value: which questions agents ask about a place, aggregated, no PII, no user tracking.