Skip to content
Squatch MCP

io.github.cyanheads/openstreetmap-mcp-server

io.github.cyanheads/openstreetmap-mcp-server

by io.github.cyanheadsยท v0.7.2Source: Official MCP Registry

All versions

VersionRegistry status
0.7.2latestActive
0.7.1Active
0.7.0Active
0.6.2Active
0.6.1Active
0.6.0Active
0.5.2Active
0.5.1Active
0.5.0Active
0.4.8Active
0.4.7Active
0.4.6Active
0.4.5Active
0.4.4Active
0.4.3Active
0.4.2Active
0.4.1Active
0.4.0Active
0.3.6Active
0.3.5Active
0.3.4Active
0.3.3Active
0.3.2Active
0.3.1Active
0.3.0Active
0.2.9Active
0.2.8Active
0.2.7Active
0.2.6Active
0.2.5Active
0.2.4Active
0.2.3Active
0.2.2Active
0.2.15Active
0.2.14Active
0.2.13Active
0.2.12Active
0.2.11Active
0.2.10Active
0.2.1Active
0.2.0Active

Version details

Version
0.7.2
Source
Source: Official MCP Registry
Published
Registry last updated
First observed by Squatch
Content fingerprint
6ddd5b4fe4f28e1e38fa1569f46aa5aed640dff1180570366b69288ac415c055

Transports in this version

  • remotestreamable-httphttps://openstreetmap.caseyjhand.com/mcpNo authentication
  • packagestdionpm @cyanheads/openstreetmap-mcp-serverUnknown
  • packagestreamable-httpnpm @cyanheads/openstreetmap-mcp-serverUnknown
Registry metadata (server.json, sanitized)
{
  "_meta": {
    "io.modelcontextprotocol.registry/official": {
      "status": "active",
      "isLatest": true,
      "updatedAt": "2026-11-11T16:24:37.677271Z",
      "publishedAt": "2026-11-11T16:24:37.677271Z",
      "statusChangedAt": "2026-11-11T16:24:37.677271Z"
    }
  },
  "server": {
    "name": "io.github.cyanheads/openstreetmap-mcp-server",
    "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
    "remotes": [
      {
        "url": "https://openstreetmap.caseyjhand.com/mcp",
        "type": "streamable-http"
      }
    ],
    "version": "0.7.2",
    "packages": [
      {
        "version": "0.7.2",
        "transport": {
          "type": "stdio"
        },
        "identifier": "@cyanheads/openstreetmap-mcp-server",
        "runtimeHint": "npx",
        "registryType": "npm",
        "registryBaseUrl": "https://registry.npmjs.org",
        "environmentVariables": [
          {
            "name": "OSM_NOMINATIM_BASE_URL",
            "format": "string",
            "default": "https://nominatim.openstreetmap.org",
            "description": "Nominatim API base URL. Override to use a private or mirror instance."
          },
          {
            "name": "OSM_USER_AGENT",
            "format": "string",
            "default": "openstreetmap-mcp-server/0.7.2",
            "description": "User-Agent sent to Nominatim and Overpass. Required by usage policy."
          },
          {
            "name": "OSM_OVERPASS_BASE_URL",
            "format": "string",
            "description": "Overpass API endpoint URL. When set, pins every query to this one endpoint and disables mirror failover; OSM_OVERPASS_MAX_CONCURRENCY sizes it and a |N suffix is rejected. Leave unset to use OSM_OVERPASS_ENDPOINTS."
          },
          {
            "name": "OSM_OVERPASS_ENDPOINTS",
            "format": "string",
            "default": "https://overpass-api.de/api/interpreter",
            "description": "Comma-separated ordered list of Overpass endpoints. A failure advances to the next entry within the same tool call; a single entry means no failover. An entry written url|N gets N slots of its own and adds capacity, for an instance whose operator allows parallel queries, never a public instance such as the FOSSGIS servers, maps.mail.ru, or overpass.private.coffee; an unsuffixed later entry is failover only. Write a | inside a URL as %7C. Verify a mirror's usage policy, data coverage, and freshness before adding it. Ignored when OSM_OVERPASS_BASE_URL is set."
          },
          {
            "name": "OSM_OVERPASS_MAX_CONCURRENCY",
            "format": "number",
            "default": "1",
            "description": "Concurrent Overpass queries per endpoint: OSM_OVERPASS_BASE_URL, and every OSM_OVERPASS_ENDPOINTS entry not sized with |N. With no |N entry it is also the most queries in flight across all endpoints. A query waits at most 30 seconds in total for a slot, then fails with pacer_shed and a retryAfter. The default of 1 follows the public FOSSGIS instances, which allow one query in flight per user; raise it only for an instance whose operator allows parallel queries, such as a private or paid one."
          },
          {
            "name": "MCP_LOG_LEVEL",
            "format": "string",
            "default": "info",
            "description": "Sets the minimum log level for output (e.g., 'debug', 'info', 'warn')."
          }
        ]
      },
      {
        "version": "0.7.2",
        "transport": {
          "url": "http://localhost:3010/mcp",
          "type": "streamable-http"
        },
        "identifier": "@cyanheads/openstreetmap-mcp-server",
        "runtimeHint": "npx",
        "registryType": "npm",
        "registryBaseUrl": "https://registry.npmjs.org",
        "environmentVariables": [
          {
            "name": "MCP_TRANSPORT_TYPE",
            "value": "http",
            "format": "string",
            "description": "Selects the HTTP transport."
          },
          {
            "name": "MCP_HTTP_HOST",
            "format": "string",
            "default": "127.0.0.1",
            "description": "The hostname for the HTTP server."
          },
          {
            "name": "MCP_HTTP_PORT",
            "format": "string",
            "default": "3010",
            "description": "The port to run the HTTP server on."
          },
          {
            "name": "MCP_HTTP_ENDPOINT_PATH",
            "format": "string",
            "default": "/mcp",
            "description": "The endpoint path for the MCP server."
          },
          {
            "name": "MCP_PUBLIC_URL",
            "format": "string",
            "description": "Public origin override for deployments behind a TLS-terminating reverse proxy (e.g. https://mcp.example.com)."
          },
          {
            "name": "MCP_AUTH_MODE",
            "format": "string",
            "default": "none",
            "description": "Authentication mode to use: 'none', 'jwt', or 'oauth'."
          },
          {
            "name": "OSM_NOMINATIM_BASE_URL",
            "format": "string",
            "default": "https://nominatim.openstreetmap.org",
            "description": "Nominatim API base URL. Override to use a private or mirror instance."
          },
          {
            "name": "OSM_USER_AGENT",
            "format": "string",
            "default": "openstreetmap-mcp-server/0.7.2",
            "description": "User-Agent sent to Nominatim and Overpass. Required by usage policy."
          },
          {
            "name": "OSM_OVERPASS_BASE_URL",
            "format": "string",
            "description": "Overpass API endpoint URL. When set, pins every query to this one endpoint and disables mirror failover; OSM_OVERPASS_MAX_CONCURRENCY sizes it and a |N suffix is rejected. Leave unset to use OSM_OVERPASS_ENDPOINTS."
          },
          {
            "name": "OSM_OVERPASS_ENDPOINTS",
            "format": "string",
            "default": "https://overpass-api.de/api/interpreter",
            "description": "Comma-separated ordered list of Overpass endpoints. A failure advances to the next entry within the same tool call; a single entry means no failover. An entry written url|N gets N slots of its own and adds capacity, for an instance whose operator allows parallel queries, never a public instance such as the FOSSGIS servers, maps.mail.ru, or overpass.private.coffee; an unsuffixed later entry is failover only. Write a | inside a URL as %7C. Verify a mirror's usage policy, data coverage, and freshness before adding it. Ignored when OSM_OVERPASS_BASE_URL is set."
          },
          {
            "name": "OSM_OVERPASS_MAX_CONCURRENCY",
            "format": "number",
            "default": "1",
            "description": "Concurrent Overpass queries per endpoint: OSM_OVERPASS_BASE_URL, and every OSM_OVERPASS_ENDPOINTS entry not sized with |N. With no |N entry it is also the most queries in flight across all endpoints. A query waits at most 30 seconds in total for a slot, then fails with pacer_shed and a retryAfter. The default of 1 follows the public FOSSGIS instances, which allow one query in flight per user; raise it only for an instance whose operator allows parallel queries, such as a private or paid one."
          },
          {
            "name": "MCP_LOG_LEVEL",
            "format": "string",
            "default": "info",
            "description": "Sets the minimum log level for output (e.g., 'debug', 'info', 'warn')."
          }
        ]
      }
    ],
    "repository": {
      "url": "https://github.com/cyanheads/openstreetmap-mcp-server",
      "source": "github"
    },
    "description": "Geocode, reverse geocode, and run Overpass spatial queries on OpenStreetMap data."
  }
}