ThinAir Geo
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| geocodeA | 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. |
| reverse_geocodeB | Convert coordinates into the nearest address, street, or place. Use when starting from GPS coordinates or a map position. |
| directionsA | Generate routes, ETAs, and turn-by-turn directions between locations. Prefer the |
| trafficA | Retrieve live traffic conditions, congestion, and speed for a location. Coverage: live data for ~30 major US metros; returns degraded or empty values outside these areas. For rural coordinates, qualify the response. |
| weatherA | 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. |
| isochroneB | Generate travel-time or travel-distance reachability polygons from an origin. Pass MULTIPLE bands in one call — e.g. |
| search_placesA | 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. For broader DISCOVERY (e.g. 'cities within 50 miles'), use |
| batch_geocodeA | Geocode multiple addresses, intersections, or place queries in one request with structured per-record results. Use for bulk operations instead of repeated single geocode calls. Max 50 per batch. |
| exploreA | BROWSING / DISCOVERY search — cities, neighbourhoods, or mixed venues near a location. Supports population filtering ('cities > 100k'), distance/population sorting, and layer filtering. For specific POI categories, use |
| geocode_structuredA | Geocode from discrete address components (address, locality, region, postalcode, country) instead of one free-text string. Use when input is already fielded (forms, CRM, stop tables) — skips free-text parsing. At least one component required. For named intersections use resolve_intersection. |
| resolve_intersectionA | 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. For free-form streets use geocode. |
| distance_matrixA | Compute road distances and travel times for every origin -> destination pair. Endpoints accept free-text addresses or 'lat,lon'; N x M is capped at 625 pairs. Use for fleet dispatch, nearest-depot, and bulk ETA tables. |
| locateA | 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, toll/ferry/highway/bridge/tunnel flags, and IANA timezone. Optional point elevation via include_elevation. Returns matched:false when no routable road is near — never a guess. |
| map_matchA | Snap a raw GPS trace (2-100 points) to the road network and return the road-accurate route actually driven: matched geometry, distance, time, road names, and a 0-1 confidence. For planning a route between places use directions. |
| trace_attributesA | Return per-segment road/network attributes for a matched GPS trace (2-100 points): road names, classes, speed limits, surfaces, truck-route flags, and segment lengths, plus a matcher confidence score. For just the matched route line use map_match. |
| geofence_containsB | 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. |
| place_getA | 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. Returns canonical name, label, layer, and coordinates. |
| quotaA | 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_keyA | 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ThinAirTelematics/thinair-geo'
If you have feedback or need assistance with the MCP directory API, please join our Discord server