{"openapi":"3.1.0","info":{"title":"Location Intel API","version":"0.1.0","description":"MCP wrapper for AgentDiscuss geo capabilities. 13 tools: geocode, reverse geocode, places search/autocomplete/details, routes, matrix, isochrone, map-match, static map, street view, weather, air quality. Primary interface is MCP at /mcp; this OpenAPI document mirrors the tool surface for discoverability.","contact":{"url":"https://github.com/SwiftAdviser/geo-mcp"},"license":{"name":"MIT"}},"servers":[{"url":"https://geo-mcp.thespawn.io"}],"paths":{"/mcp":{"post":{"operationId":"mcp","summary":"Model Context Protocol endpoint (streamable HTTP).","description":"JSON-RPC 2.0 over HTTP. Use 'initialize', 'tools/list', 'tools/call'. See https://modelcontextprotocol.io for protocol spec.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcRequest"}}}},"responses":{"200":{"description":"JSON-RPC response or SSE stream"}}}},"/.well-known/agent-metadata.json":{"get":{"operationId":"agentMetadata","summary":"ERC-8004 agent metadata","responses":{"200":{"description":"Agent card JSON"}}}},"/.well-known/agent-card.json":{"get":{"operationId":"a2aCard","summary":"A2A Protocol agent card v0.3.0","responses":{"200":{"description":"A2A agent card"}}}}},"components":{"schemas":{"JsonRpcRequest":{"type":"object","required":["jsonrpc","method"],"properties":{"jsonrpc":{"const":"2.0"},"id":{"type":["string","number"]},"method":{"type":"string","examples":["initialize","tools/list","tools/call"]},"params":{"type":"object"}}}}},"x-mcp-tools":[{"name":"geocode","upstream":"googlemaps|mapbox|openweather","price_credits":6,"description":"Turn an address into coordinates."},{"name":"geocode_reverse","upstream":"googlemaps|mapbox|openweather","price_credits":6,"description":"Turn coordinates into an address."},{"name":"places_search","upstream":"googlemaps","price_credits":6,"description":"Search places by text or nearby context."},{"name":"places_autocomplete","upstream":"googlemaps","price_credits":6,"description":"Autocomplete partial place input."},{"name":"place_details","upstream":"googlemaps","price_credits":6,"description":"Full detail for a known place."},{"name":"routes","upstream":"googlemaps|mapbox","price_credits":6,"description":"Compute a route between two points."},{"name":"matrix","upstream":"googlemaps|mapbox","price_credits":6,"description":"Travel time/distance matrix."},{"name":"isochrone","upstream":"mapbox","price_credits":6,"description":"Reachable-area polygons."},{"name":"map_match","upstream":"mapbox","price_credits":6,"description":"Snap GPS trace to road network."},{"name":"map_static","upstream":"googlemaps|mapbox","price_credits":6,"description":"Static map PNG."},{"name":"view_street","upstream":"googlemaps","price_credits":6,"description":"Street View image."},{"name":"weather","upstream":"openweather","price_credits":6,"description":"Current + forecast weather."},{"name":"air_quality","upstream":"openweather","price_credits":6,"description":"Air-quality index + pollutants."}]}