{"id":11258,"name":"thinair-geo","description":"ThinAir Geo — full-stack geo tools for AI agents via MCP. One server covering geocoding, multi-profile routing (auto, truck, bicycle, pedestrian), isochrones, live traffic, weather, and place search.","card_url":"https://geo.thinair.co/.well-known/agent-card.json","endpoint":"https://geo.thinair.co/mcp","protocol_version":"0.3.0","first_seen":"2026-10-10T12:40:52.074821+00:00","last_verified":"2026-10-11T16:58:06.537153+00:00","card":{"url":"https://geo.thinair.co/mcp","name":"thinair-geo","skills":[{"id":"geocode","name":"geocode","tags":["geocode","free"],"description":"Address → coordinates. Global coverage, cached and accurate. Available on every plan."},{"id":"geocode_structured","name":"geocode_structured","tags":["geocode","free"],"description":"Structured-field geocoding — address, locality, region, postalcode, country → precise match. Available on every plan."},{"id":"reverse_geocode","name":"reverse_geocode","tags":["geocode","free"],"description":"Coordinates → nearest address or place name. Available on every plan."},{"id":"batch_geocode","name":"batch_geocode","tags":["geocode","free"],"description":"Up to 50 addresses in one call, cached for repeat lookups. Available on every plan."},{"id":"place_get","name":"place_get","tags":["geocode","free"],"description":"Re-fetch any place or intersection by its stable public id (ta_place_ / ta_intersection_). Available on every plan."},{"id":"resolve_intersection","name":"resolve_intersection","tags":["geocode","free"],"description":"Street A × Street B → the exact corner: a stable ta_intersection_ id + coordinates. Available on every plan."},{"id":"search_places","name":"search_places","tags":["places","free"],"description":"POIs near a point — truck stops, fuel, rest areas, restaurants. Available on every plan."},{"id":"explore","name":"explore","tags":["places","pro"],"description":"Cities and venues near a location with population filtering. Requires the pro plan or higher."},{"id":"directions","name":"directions","tags":["routing","free"],"description":"Turn-by-turn routing with ETAs, restrictions, 10 truck profiles. Available on every plan."},{"id":"distance_matrix","name":"distance_matrix","tags":["routing","free"],"description":"Many-to-many travel times and distances between sets of points in one call. Available on every plan."},{"id":"isochrone","name":"isochrone","tags":["routing","starter"],"description":"Drive-time reachability polygon — how far can you go in N minutes? Requires the starter plan or higher."},{"id":"locate","name":"locate","tags":["routing","free"],"description":"Road-network context for one coordinate — road name, class, speed limit, legality, timezone. Available on every plan."},{"id":"map_match","name":"map_match","tags":["routing","free"],"description":"Snap a raw GPS breadcrumb trail to the road network — matched geometry, distance, confidence, match status. Available on every plan."},{"id":"trace_attributes","name":"trace_attributes","tags":["routing","free"],"description":"Per-segment road attributes for a matched trace — names, classes, speed limits, surfaces. Available on every plan."},{"id":"geofence_contains","name":"geofence_contains","tags":["places","free"],"description":"Point-in-polygon test — is a coordinate inside a supplied geofence? Available on every plan."},{"id":"traffic","name":"traffic","tags":["traffic","starter"],"description":"Live speed & congestion for 30 US metros, real-time refresh. Requires the starter plan or higher."},{"id":"weather","name":"weather","tags":["weather","free"],"description":"Current conditions + 16-day forecast + severe alerts + minute precipitation. Available on every plan."},{"id":"quota","name":"quota","tags":["account","free"],"description":"Check current usage and plan limits. Available on every plan."},{"id":"issue_api_key","name":"issue_api_key","tags":["account","free"],"description":"Get the link to create a ta_geo_ API key in the signed-in console. Returns a link, never a key, and creates, rotates or revokes nothing. Available on every plan."}],"iconUrl":"https://geo.thinair.co/favicon.ico","version":"2.2.0","provider":{"url":"https://thinair.co","organization":"ThinAir"},"security":[{"oauth2":["tools:read","keys:write"]},{"apiKey":[]}],"x-thinair":{"plans":[{"plan":"free","price":"Free","daily_request_limit":15},{"plan":"dev_trial","price":"Free (time-limited trial)","daily_request_limit":1000},{"plan":"starter","price":"$9/mo","daily_request_limit":500},{"plan":"pro","price":"$29/mo","daily_request_limit":10000},{"plan":"business","price":"$99/mo","daily_request_limit":50000},{"plan":"enterprise","price":"Custom (contact sales)","daily_request_limit":null}],"billing":{"note":"Agents do not pay autonomously. A quota, tier-denied, or 429 response carries an upgrade_url; present it to the user, who completes payment. The same OAuth session or API key continues with the new limits.","model":"human-approved subscription","checkout_url":"https://geo.thinair.co/checkout"},"organization":{"url":"https://thinair.co","name":"ThinAir"},"siblingProducts":[{"mcp":"https://data.thinair.co/mcp","url":"https://data.thinair.co","name":"ThinAir Data","agentCard":"https://data.thinair.co/.well-known/agent-card.json","description":"Query PostgreSQL, MySQL and SQL Server in plain English over MCP and REST."}]},"description":"ThinAir Geo — full-stack geo tools for AI agents via MCP. One server covering geocoding, multi-profile routing (auto, truck, bicycle, pedestrian), isochrones, live traffic, weather, and place search.","capabilities":{"streaming":true,"pushNotifications":false,"stateTransitionHistory":false},"protocolVersion":"0.3.0","securitySchemes":{"apiKey":{"in":"header","name":"Authorization","type":"apiKey","description":"Bearer ta_geo_… key."},"oauth2":{"type":"oauth2","flows":{"authorizationCode":{"scopes":{"keys:write":"keys:write","tools:read":"tools:read"},"tokenUrl":"https://geo.thinair.co/token","authorizationUrl":"https://geo.thinair.co/authorize"}},"description":"OAuth 2.1 with PKCE. Dynamic client registration is open; the consent screen names the requesting client."}},"documentationUrl":"https://geo.thinair.co/developers","defaultInputModes":["application/json","text/plain"],"defaultOutputModes":["application/json","text/plain"],"preferredTransport":"JSONRPC"},"signature_status":"unsigned","signature_detail":"No card signature supplied","signature_key_url":null,"signature_checked_at":"2026-10-11T16:58:06.537153+00:00","domain_claimed_at":null,"domain_proof_checked_at":null,"source_name":"Agenstry federation","source_url":"https://agenstry.com/docs","last_check":{"checked_at":"2026-10-11T16:58:06.537153+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"also_published_at":[],"history_urls":["https://geo.thinair.co/.well-known/agent-card.json"],"also_observed_in":[{"source_name":"Agent Tools Catalog","source_url":"https://agent-tools.cloud","last_seen":"2026-10-11T08:33:46.558198+00:00"}],"skills":[{"skill_id":"batch_geocode","name":"batch_geocode","description":"Up to 50 addresses in one call, cached for repeat lookups. Available on every plan.","tags":["geocode","free"],"quality_warning":false},{"skill_id":"directions","name":"directions","description":"Turn-by-turn routing with ETAs, restrictions, 10 truck profiles. Available on every plan.","tags":["routing","free"],"quality_warning":false},{"skill_id":"distance_matrix","name":"distance_matrix","description":"Many-to-many travel times and distances between sets of points in one call. Available on every plan.","tags":["routing","free"],"quality_warning":false},{"skill_id":"explore","name":"explore","description":"Cities and venues near a location with population filtering. Requires the pro plan or higher.","tags":["places","pro"],"quality_warning":false},{"skill_id":"geocode","name":"geocode","description":"Address → coordinates. Global coverage, cached and accurate. Available on every plan.","tags":["geocode","free"],"quality_warning":false},{"skill_id":"geocode_structured","name":"geocode_structured","description":"Structured-field geocoding — address, locality, region, postalcode, country → precise match. Available on every plan.","tags":["geocode","free"],"quality_warning":false},{"skill_id":"geofence_contains","name":"geofence_contains","description":"Point-in-polygon test — is a coordinate inside a supplied geofence? Available on every plan.","tags":["places","free"],"quality_warning":false},{"skill_id":"isochrone","name":"isochrone","description":"Drive-time reachability polygon — how far can you go in N minutes? Requires the starter plan or higher.","tags":["routing","starter"],"quality_warning":false},{"skill_id":"issue_api_key","name":"issue_api_key","description":"Get the link to create a ta_geo_ API key in the signed-in console. Returns a link, never a key, and creates, rotates or revokes nothing. Available on every plan.","tags":["account","free"],"quality_warning":false},{"skill_id":"locate","name":"locate","description":"Road-network context for one coordinate — road name, class, speed limit, legality, timezone. Available on every plan.","tags":["routing","free"],"quality_warning":false},{"skill_id":"map_match","name":"map_match","description":"Snap a raw GPS breadcrumb trail to the road network — matched geometry, distance, confidence, match status. Available on every plan.","tags":["routing","free"],"quality_warning":false},{"skill_id":"place_get","name":"place_get","description":"Re-fetch any place or intersection by its stable public id (ta_place_ / ta_intersection_). Available on every plan.","tags":["geocode","free"],"quality_warning":false},{"skill_id":"quota","name":"quota","description":"Check current usage and plan limits. Available on every plan.","tags":["account","free"],"quality_warning":false},{"skill_id":"resolve_intersection","name":"resolve_intersection","description":"Street A × Street B → the exact corner: a stable ta_intersection_ id + coordinates. Available on every plan.","tags":["geocode","free"],"quality_warning":false},{"skill_id":"reverse_geocode","name":"reverse_geocode","description":"Coordinates → nearest address or place name. Available on every plan.","tags":["geocode","free"],"quality_warning":false},{"skill_id":"search_places","name":"search_places","description":"POIs near a point — truck stops, fuel, rest areas, restaurants. Available on every plan.","tags":["places","free"],"quality_warning":false},{"skill_id":"trace_attributes","name":"trace_attributes","description":"Per-segment road attributes for a matched trace — names, classes, speed limits, surfaces. Available on every plan.","tags":["routing","free"],"quality_warning":false},{"skill_id":"traffic","name":"traffic","description":"Live speed & congestion for 30 US metros, real-time refresh. Requires the starter plan or higher.","tags":["traffic","starter"],"quality_warning":false},{"skill_id":"weather","name":"weather","description":"Current conditions + 16-day forecast + severe alerts + minute precipitation. Available on every plan.","tags":["weather","free"],"quality_warning":false}],"quality_flags":[],"check_history":{"checks":13,"passed":13},"recent_checks":[{"card_url":"https://geo.thinair.co/.well-known/agent-card.json","checked_at":"2026-10-11T16:58:06.537153+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://geo.thinair.co/.well-known/agent-card.json","checked_at":"2026-10-11T14:32:10.853660+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://geo.thinair.co/.well-known/agent-card.json","checked_at":"2026-10-11T12:10:50.815318+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://geo.thinair.co/.well-known/agent-card.json","checked_at":"2026-10-11T10:03:11.680243+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://geo.thinair.co/.well-known/agent-card.json","checked_at":"2026-10-11T07:47:26.643763+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://geo.thinair.co/.well-known/agent-card.json","checked_at":"2026-10-11T05:33:22.376606+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://geo.thinair.co/.well-known/agent-card.json","checked_at":"2026-10-11T03:00:42.009538+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://geo.thinair.co/.well-known/agent-card.json","checked_at":"2026-10-11T00:43:06.001744+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://geo.thinair.co/.well-known/agent-card.json","checked_at":"2026-10-10T22:24:14.175221+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://geo.thinair.co/.well-known/agent-card.json","checked_at":"2026-10-10T20:07:17.245169+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://geo.thinair.co/.well-known/agent-card.json","checked_at":"2026-10-10T17:49:55.027631+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://geo.thinair.co/.well-known/agent-card.json","checked_at":"2026-10-10T15:32:29.379828+00:00","success":true,"http_status":200,"detail":"Agent Card validated"}],"endpoint_tls_check":{"checked_at":"2026-10-11T16:58:06.537153+00:00","success":true,"detail":"Valid TLS connection to advertised endpoint host; no A2A request sent"},"protocol_check":{"checked_at":"2026-10-11T14:32:10.853660+00:00","state":"auth_required","http_status":401,"detail":"Endpoint requires authentication; A2A response not confirmed"},"x402_price_check":null,"events":[],"relationships":[{"id":11251,"relation":"references_agent_card","evidence":{"claim":"Source card directly contains the target card URL","source_card_url":"https://data.thinair.co/.well-known/agent-card.json","target_card_url":"https://geo.thinair.co/.well-known/agent-card.json"},"evidence_url":"https://data.thinair.co/.well-known/agent-card.json","first_seen":"2026-10-10T12:41:40.443865+00:00","last_seen":"2026-10-11T08:39:09.119514+00:00","source_agent_id":8846,"source_agent_name":"thinair-data","target_agent_id":11258,"target_agent_name":"thinair-geo"},{"id":11254,"relation":"references_agent_card","evidence":{"claim":"Source card directly contains the target card URL","source_card_url":"https://geo.thinair.co/.well-known/agent-card.json","target_card_url":"https://data.thinair.co/.well-known/agent-card.json"},"evidence_url":"https://geo.thinair.co/.well-known/agent-card.json","first_seen":"2026-10-10T12:41:40.443865+00:00","last_seen":"2026-10-11T08:39:09.119514+00:00","source_agent_id":11258,"source_agent_name":"thinair-geo","target_agent_id":8846,"target_agent_name":"thinair-data"},{"id":12128,"relation":"shared_provider_website","evidence":{"claim":"Both cards declare the same provider website","provider_url":"https://thinair.co","source_card_url":"https://data.thinair.co/.well-known/agent-card.json","target_card_url":"https://geo.thinair.co/.well-known/agent-card.json"},"evidence_url":"https://data.thinair.co/.well-known/agent-card.json","first_seen":"2026-10-10T12:41:40.443865+00:00","last_seen":"2026-10-11T08:39:09.119514+00:00","source_agent_id":8846,"source_agent_name":"thinair-data","target_agent_id":11258,"target_agent_name":"thinair-geo"}],"verification":{"agent_card_url":"https://geo.thinair.co/.well-known/agent-card.json","last_successful_card_check":"2026-10-11T16:58:06.537153+00:00","latest_card_check":{"checked_at":"2026-10-11T16:58:06.537153+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"signature_status":"unsigned","signature_checked_at":"2026-10-11T16:58:06.537153+00:00","task_endpoint_tested":true,"task_execution_tested":false,"endpoint_tls_checked_at":"2026-10-11T16:58:06.537153+00:00","endpoint_tls_reachable":true,"protocol_check_state":"auth_required","protocol_checked_at":"2026-10-11T14:32:10.853660+00:00","provider_identity_verified":false,"domain_claimed_at":null,"domain_proof_checked_at":null}}