{"id":"nervsystems-osmmcp","name":"osmmcp","homepage":null,"repo_url":"https://github.com/NERVsystems/osmmcp","category":"infrastructure","subcategories":[],"tags":["mcp","geospatial","openstreetmap","routing","geocoding","osint","ev-charging","go"],"what_it_does":"An MCP (Model Context Protocol) server written in Go that exposes OpenStreetMap-related geospatial tools to LLM/MCP clients. It provides primitives such as geocoding/reverse geocoding, distance calculations, bounding box/centroid utilities, OSM tag-based queries and nearby place search, routing via OSRM (including route directions and sampling), route enrichment (e.g., emissions/cost/calories), and additional domain tools like EV charging station lookup and neighborhood/livability-style analysis.","use_cases":["LLM-assisted geocoding (address/place name to coordinates) and reverse geocoding","Finding nearby points of interest by category within a radius and/or bounding box","OSM tag filtering and distance-based sorting of OSM elements","Route planning and route analysis (routing, directions, sampling polyline points)","EV charging station discovery near a location or along a route","Meeting point suggestion for multiple participants","Neighborhood/commute-style analyses using location inputs"],"not_for":["Production systems that require authenticated access control or user-based authorization at the MCP layer (none is described)","Applications needing a guaranteed SLA or explicit uptime commitments from the provider (the server is self-hosted and no SLA is documented)","Use cases requiring first-party data residency or regulated compliance guarantees from the package itself (relies on third-party services)","High-throughput workloads without careful rate-limit tuning (explicit rate-limit knobs are mentioned)"],"best_when":"You want an agent-friendly, self-hosted MCP toolset that combines OpenStreetMap data querying with routing and additional geospatial enrichment for interactive LLM workflows.","avoid_when":"You cannot tolerate reliance on external geospatial services (e.g., OSM/Nominatim/Overpass/OSRM) or you require robust access control, strong security guarantees around data flows, or a documented reliability/SLA.","alternatives":["Self-hosted geocoding/routing services with direct REST integrations (Nominatim/Overpass/OSRM APIs) and build your own MCP wrapper","Other MCP geospatial tools (if available) or generic map/OSM query services with OpenAPI","Direct use of OSM-focused APIs (Overpass API for queries, Nominatim for geocoding, OSRM for routing) from your agent/runtime"],"af_score":76.8,"security_score":47.5,"reliability_score":35.0,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T15:36:21.832495+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":[],"oauth":false,"scopes":false,"notes":"No authentication mechanism for the MCP server itself is described in the provided README. The server runs locally and communicates with upstream public geospatial services; those upstream services may enforce their own rate limits."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"No pricing model is described; it appears to be a self-hosted open-source tool. Costs may come indirectly from upstream service usage and infrastructure hosting."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":76.8,"security_score":47.5,"reliability_score":35.0,"mcp_server_quality":78.0,"documentation_accuracy":70.0,"error_message_quality":null,"error_message_notes":"README states 'Precise Error Messages' and 'Detailed Error Reporting' with error codes and helpful suggestions for geocoding; however, full error schemas and example payloads are not shown in the provided content.","auth_complexity":95.0,"rate_limit_clarity":80.0,"tls_enforcement":85.0,"auth_strength":25.0,"scope_granularity":10.0,"dependency_hygiene":55.0,"secret_handling":70.0,"security_notes":"The README emphasizes security-related engineering practices (HTTP clients with timeouts/connection limits, structured logging, context cancellation). However, no authentication/authorization for the MCP server is described, which means any access control must be handled externally (network/process permissions). TLS is not explicitly described (stdin/stdout MCP server suggests local transport), but upstream HTTP likely uses HTTPS; exact enforcement is not provided. The tool relies on third-party public geospatial services, so data exposure to those services is inherent to operation.","uptime_documented":0.0,"version_stability":55.0,"breaking_changes_history":40.0,"error_recovery":45.0,"idempotency_support":"false","idempotency_notes":"Most tools appear to be read-only lookups and computations, which are typically idempotent; however, no explicit idempotency guarantees or duplicate-handling semantics are documented for MCP requests.","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Upstream rate limits apply (Nominatim/Overpass/OSRM). The README mentions configurable rps/burst, but agents may still need backoff/retry strategies.","Some tools accept bounding boxes/radii/limits; overly broad parameters can cause large upstream queries and slow responses.","Because it depends on external services for OSM data and routing, transient upstream failures can occur; no explicit retry/backoff guidance is shown in the provided excerpt.","The MCP server appears to run over stdin/stdout for MCP requests; some MCP clients require exact process configuration."]}}