ThinAir Geo
About
MCP server for geocoding, reverse geocoding, truck routing with hazmat and dimension constraints, live traffic, weather, isochrones, and place search.
Details
- Transport
- SSE
Explore
Setup
Install ThinAir Geo in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/thinairtelematics/thinair-geo
Follow the installation instructions in the repository README, then restart your MCP client.
geocode
Convert an address, place name, street, or intersection into coordinates and structured location results. Use when input is text and you need coordinates before routing, weather, or search. Supports street-level resolution and proximity biasing.
geocode_structured
Geocode from discrete address components (address, locality, region, postalcode, country) instead of one free-text string. Use when the input is already fielded (forms, CRM records, stop tables) — skips free-text parsing so components can't be mis-tokenized. At least one component is required. No cross-street field: for named intersections use resolve_intersection or geocode.
reverse_geocode
Convert coordinates into the nearest address, street, or place. Use when starting from GPS coordinates or a map position.
directions
Generate routes, ETAs, and turn-by-turn directions between locations. Supports car / truck / motorcycle / pedestrian / bicycle, with hazmat + dimension + toll avoidance for commercial routing. ETAs are returned as ISO 8601 with timezone offset (in the destination's local timezone). Use vehicle_profile presets (10 total — DRY_VAN_53, FLATBED_48/_40, STEP_DECK, TANKER, BOX_TRUCK_26, AUTO_CARRIER, SPRINTER_VAN, DOUBLE_TRAILER, OVERSIZE) when routing trucks — they set height/weight/length in one …
traffic
Retrieve live traffic conditions, congestion, and speed for a location. Use when traffic is needed independently of routing — for corridor monitoring, area congestion, or incident checks. COVERAGE: live data for ~30 major US metros; returns degraded or empty values outside these areas. For rural coordinates, qualify the response (e.g. 'no live traffic coverage here — showing free-flow speeds').
locate
Snap one coordinate to the road network and return the matched road's context: name, road class, speed limit, bearing, snap distance, side of street, truck legality, and toll/ferry/highway/bridge/tunnel flags — plus the IANA timezone. Use to answer 'what road is this point on and what are its rules?' for fleet/telematics snapping, geofence edge checks, or enriching a GPS fix. Set `include_elevation` for terrain-sourced point `elevation_m`; `grade_pct` is a forward-compatible field that stays …
weather
Get current and forecast weather for a location, including severe weather alerts and minute-by-minute precipitation. Use for destination conditions, travel planning, or route risk assessment.
isochrone
Generate travel-time or travel-distance reachability polygons from an origin. Pass MULTIPLE bands in one call — e.g. `contours_minutes:[10,20,30]` returns three nested polygons in a single response (one round-trip, not three). Use for service coverage, dispatch range, territory design, 'how far can I get in X minutes' questions, and concentric zone visualizations. Output is GeoJSON ready for Mapbox / Leaflet.
search_places
CATEGORY-specific POI search near a point — gas stations, truck stops, restaurants, charging stations, etc. Use this when the user has a specific TYPE of place in mind (food / health / retail / fuel / accommodation / nightlife / transport / government / recreation). For broader DISCOVERY (e.g. 'cities within 50 miles' or 'venues by population'), use `explore` instead.
batch_geocode
Geocode multiple addresses in one request with structured per-record results. Use for bulk operations instead of repeated single geocode calls. Max 50 per batch.
explore
BROWSING / DISCOVERY search — cities, neighbourhoods, or mixed venues near a location. Use this when the user is exploring a REGION rather than looking for a specific category. Supports population filtering ('cities > 100k'), distance/population sorting, and layer filtering (locality / neighbourhood / venue / address / street). For specific POI categories (gas, food, charging, etc.), use `search_places` instead.
resolve_intersection
Resolve a NAMED cross-street (street1 × street2 within a locality/region/country) to a single best coordinate with a confidence score and a fleet-safe fallback. High-confidence tier matches US-metro highway corners; named non-highway streets resolve via the geocoder fallback. For free-form streets use geocode.
distance_matrix
Compute road distances and travel times for every origin → destination pair. Endpoints accept free-text addresses or 'lat,lon' strings; N × M is capped at 625 pairs. Use for fleet dispatch, nearest-depot, and bulk ETA tables.
map_match
Map matching snaps raw GPS breadcrumbs to the road network. Feed a recorded trace (2–100 points) and get back the road-accurate route that was actually driven: matched geometry, distance, time, road names, and a 0–1 match confidence. Use for fleet trace cleanup, mileage from GPS logs, and reconstructing routes from telemetry. For planning a route between places, use `directions` instead.
trace_attributes
Trace attributes return road/network attributes for matched traces. Feed a GPS breadcrumb trail (2–100 points) and get per-segment road names, road classes, speed limits, surfaces, truck-route flags, and segment lengths along the matched route, plus a matcher confidence score. Use to audit what roads a vehicle actually used (speed-limit compliance, truck-route adherence, surface checks). For just the matched route line, use `map_match`.
geofence_contains
Test one or more points for containment inside a caller-supplied GeoJSON polygon (or MultiPolygon / Feature / FeatureCollection). Pure geometry — boundary points count as contained. Returns one boolean per input point. Errors when the polygon is structurally invalid.
place_get
Look up a place by its stable ThinAir id (ta_place_… / ta_intersection_…) as returned in the `id` field of geocode, reverse_geocode, search_places, or resolve_intersection results. Ids are deterministic and survive re-serves — safe to store as favorites or foreign keys. Returns the canonical name, label, layer, and coordinates. Unknown or expired ids error with re-search guidance.
quota
Check current usage, remaining limits, plan, and quota breakdown for the caller. FREE TO CALL — never counts against your quota, never blocked by it. Use this proactively when the user asks about usage or seems near limits.
issue_api_key
Mint a fresh API key for your current authenticated user/tenant. Useful for CLI workflows, key rotation, or MCP clients that hide the configured Bearer. The new key is tied to your existing plan. Counts as 1 query against your daily quota.
Give your AI agent complete geospatial awareness— geocode addresses and intersections, route across multiple modes (auto, truck, bicycle, pedestrian), check live traffic and weather, draw reachability polygons, and search places. Confidence-scored results so your agent knows when to ask again. 19 tools via MCP.
19 MCP tools· Geocoding, routing, traffic, weather, places · Built for fleet-grade workflows
> geocode "Port of Houston Bayport Terminal" ✓ matched: Bayport Container Terminal ✓ confidence: 0.97 ✓ coordinates: 29.6008, -95.0201
ThinAir Geo is the geospatial intelligence layer behind ThinAir fleet workflows: geocoding, routing context, address search, service-area visibility, map intelligence, traffic, weather, and reachability.
- geo.thinair.cois the hosted ThinAir product.
- This repository is the thin public MCP package/pointer for developers and AI-agent clients.
- Production use may require a ThinAir account, API key, OAuth connection, or hosted workspace.
- Geocoding— Forward, reverse, intersection, and batch (50/call). Results includeconfidenceandmethodso agents can branch on quality.
- Routing— Multi-profile: auto, truck, bicycle, pedestrian, motorcycle. 10 truck-specific presets (dry van, flatbed, step-deck, tanker, box truck, auto-carrier, sprinter, double trailer, oversize) with hazmat / dimensions / weight / time-distance constraints native.
- Traffic— Real-time conditions for 30+ US metros.
- Weather— Current conditions and forecasts.
- Place Search & Explore— Nearby POIs, locality discovery with population filtering.
- Isochrones— Drive-time / walk-time reachability polygons (multiple bands per call).
- Product:https://geo.thinair.co
- Connect / get key:https://geo.thinair.co/connect
- Docs:https://geo.thinair.co/docs/getting-started
- Pricing:https://geo.thinair.co/checkout
- ThinAir:https://thinair.co
Pass any of these asvehicle_profileondirectionsorisochroneto set dimensions automatically:
Individual params (truck_height,truck_weight,truck_length,axle_count, etc.) override the preset.
Claude Desktop, Cursor, Windsurf — OAuth (recommended, keyless)
Add to your client's MCP config (e.g.~/Library/Application Support/Claude/claude_desktop_config.json):
{ "mcpServers": { "thinair-geo": { "url": "https://geo.thinair.co/mcp" } } }
The OAuth flow completes at first use — no manual token setup required. Free tier: 15 requests/day, no card.
{ "mcpServers": { "thinair-geo": { "url": "https://geo.thinair.co/mcp", "headers": { "Authorization": "Bearer ta_live_..." } } } }
Get a key athttps://geo.thinair.co/connect.
Prints a config block to stdout for your client. Same OAuth-keyless option as above by default.
Do not commit API keys. Use OAuth where supported or pass API keys through your MCP client's secure environment/header configuration.
npmjs.com/package/@thinairtelematics/geo
Previously published asthinair-geo(now deprecated in favor of the scoped package).
Swiss open data MCP server — transport, weather, geodata, companies, etc,. Zero API keys.
Live weather radar as a text map: current conditions plus an ASCII echo grid centred on the place. Hosted endpoint, no API key, nothing to install.
A suite of servers for intelligent travel planning, including flights, hotels, events, geocoding, weather, and finance.
Global postal code lookups, validation, and city search for 70+ countries. Sub-10ms responses.
AI-powered property zoning, buildability, and ADU eligibility analysis for any U.S. address via 20+ government data sources.
Eleven MCP servers for reproducible EPA SWMM stormwater modelling — building, simulation, calibration, GIS, climate scenarios, uncertainty, plotting, and modelling memory.
Global pollen forecasts for any city or coordinate, with per-species values for multiple plants and a multiple day outlook.
Dutch property report by address. Combines nine official open sources: construction year, floor area, energy label, neighbourhood statistics, environmental noise and air quality, national monument status and nearby schools. Separates fact, signal and unknown. Remote MCP, no API key.
Track flights in real-time using Flightradar24 data.
Open MCP server providing real-time transit routing, open-source GIS / geographic intelligence, and specialized Slovenian geospatial lookup tools for AI agents and LLMs.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



