curl, jq, and a Mireye API token. We’ll ask about a Manhattan
rooftop, fetch the same location’s flood-risk preset, and then wire up
the hosted MCP server for Claude Code.
1. Pick a coordinate
Use any US lat/lng. We’ll use the corner of Beekman and Park Row in lower Manhattan, near City Hall:lat ∈ [18, 72], lng ∈ [-180, -65]
(lower 48, Alaska, Hawaii, US territories). Anything outside returns
400 coord_out_of_bounds.
2. Get a token
/v1/ask and /v1/fetch require a bearer token. Sign in at
www.mireye.com, create an API token in account
settings, and export it:
3. Ask a question
- The planner (Claude Sonnet 4.6) read the question, looked at the
field catalog, and decided only
elevationwas needed. - The terrain layer fetched 3DEP elevation for the coordinate.
- The synthesizer (also Claude Sonnet 4.6) wrote the prose answer, grounded in the fetched value, and the citation engine attached the source.
answer is the prose, confidence
summarizes the whole response, citations is the audit trail, and
fields_used lists exactly which catalog fields the answer depends on.
4. Fetch raw fields
When you know what you want, skip the planner and hit/v1/fetch:
partial_failures array is empty here; on a call where the LCMS source
times out, that field gets moved to partial_failures with retryable: true and the rest of the call still returns 200.
Skip the field list entirely and use a preset for common workflows:
5. Use it from Claude Code
If you previously configured a local stdio server namedmireye-earth,
remove it first:
/mcp, and complete the browser sign-in flow.
Two tools are then available: mireye_ask and mireye_fetch. Ask Claude:
“What’s the elevation at 40.7128, -74.0060?”Claude will call
mireye_ask, get the cited answer back, and surface
the citation in chat. See
/mcp/installation for Cursor and custom-agent setup.
6. Self-discover the catalog
Long-lived clients (agents, services) should fetch the catalog once at startup and cache it for an hour. This endpoint is public — no token needed:ETag and Cache-Control: public, max-age=3600.
Subsequent requests with If-None-Match: "<etag>" return 304. See
/api-reference/meta-fields for the full
flow.
What’s next
POST /v1/ask
The natural-language endpoint. Two-model planner + synthesizer.
POST /v1/fetch
Fields, presets, and
partial_failures semantics.MCP tools
mireye_ask vs mireye_fetch from an agent’s perspective.Insurance use case
A worked underwriting flow with real values.