protogrid

Search / io.github.cyanheads/openchargemap-mcp-server

openchargemap-mcp-server

R0· no sign-in

Find EV charging stations, detail, and reliability check-ins via the global Open Charge Map.

v0.1.10 · active · repository · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality86good
Trust94of 100
Uptime, 30 days99%
Latency p50179 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "openchargemap-mcp-server": {
      "type": "http",
      "url": "https://openchargemap.caseyjhand.com/mcp"
    }
  }
}
claude mcp add --transport http openchargemap-mcp-server https://openchargemap.caseyjhand.com/mcp
[mcp_servers.openchargemap-mcp-server]
url = "https://openchargemap.caseyjhand.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "openchargemap-mcp-server": {
      "type": "remote",
      "url": "https://openchargemap.caseyjhand.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "openchargemap-mcp-server": {
      "type": "http",
      "url": "https://openchargemap.caseyjhand.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=openchargemap-mcp-server&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vb3BlbmNoYXJnZW1hcC5jYXNleWpoYW5kLmNvbS9tY3AifQ%3D%3D"
}
{
  "servers": {
    "openchargemap-mcp-server": {
      "type": "http",
      "url": "https://openchargemap.caseyjhand.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "openchargemap-mcp-server": {
      "httpUrl": "https://openchargemap.caseyjhand.com/mcp"
    }
  }
}
extensions:
  "openchargemap-mcp-server":
    enabled: true
    name: "openchargemap-mcp-server"
    type: streamable_http
    uri: "https://openchargemap.caseyjhand.com/mcp"
    timeout: 300

Quality 86 / 100good

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene79 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length1 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations4 of 4 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: openchargemap_get_station (destructiveHint); openchargemap_lookup_reference (destructiveHint); openchargemap_find_stations (destructiveHint, idempotentHint); …
  • pass
    tools.token_costabout 2,943 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes1 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15

4 tools, about 2,943 tokens to load them all · tool set b4ebe29490ec · tools last changed 2026-10-09 · checked 2026-10-19 14:10 UTC

Tool changes

  • openchargemap_find_stationschangeddescription, input schema
    before

    Find EV charging stations from the global Open Charge Map registry near a point or within a bounding box. Provide either a center (latitude + longitude + distance) or a boundingbox; optionally scope to a country with countrycode. This tool is coordinate-native and does not geocode place names — resolve a place like "Ballard, Seattle" to coordinates with openstreetmap_geocode first, then pass them here. Filter by connector type, minimum power (kW), operator/network, usage type (public/free/membership), charge level, operational status, and minimum charge points. Filter IDs are integers — resolve a connector or network name to its ID with openchargemap_lookup_reference (e.g. "CCS" -> 33). Each result includes title, address, distance from the search point, connections (type, power, count), operator, access rules, registry operational status, and the last-verified date. Results come back one page at a time: when a page reports truncated, repeat the same search with the reported nextOffset to read the next one.

    after · 99% of words in common

    Find EV charging stations from the global Open Charge Map registry near a point or within a bounding box. Provide either a center (latitude + longitude + distance) or a boundingbox; optionally scope to a country with countrycode. This tool is coordinate-native and does not geocode place names — resolve a place like "Ballard, Seattle" to coordinates with openstreetmap_search_places first, then pass them here. Filter by connector type, minimum power (kW), operator/network, usage type (public/free/membership), charge level, operational status, and minimum charge points. Filter IDs are integers — resolve a connector or network name to its ID with openchargemap_lookup_reference (e.g. "CCS" -> 33). Each result includes title, address, distance from the search point, connections (type, power, count), operator, access rules, registry operational status, and the last-verified date. Results come back one page at a time: when a page reports truncated, repeat the same search with the reported nextOffset to read the next one.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 94 / 100

provenance80
liveness100
freshness100
hygiene100

+repository +namespace-matches-repo +reachable +uptime-99% +updated-10d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

@cyanheads/[email protected] npmthis version is not known to the dependency resolver

@cyanheads/[email protected] npmthis version is not known to the dependency resolver

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://openchargemap.caseyjhand.com/mcp streamable-httpnoneyes99%179 ms2026-07-282026-10-19
packageregistryversionruntimesecrets
@cyanheads/openchargemap-mcp-servernpm0.1.10npxOPENCHARGEMAP_API_KEY
@cyanheads/openchargemap-mcp-servernpm0.1.10npxOPENCHARGEMAP_API_KEY

Tools (4)

openchargemap_find_stationsread-onlyFind EV charging stations from the global Open Charge Map registry near a point or within a bounding box. Provide either a center (latitude + longitude + distance) or a boundingbox; optionally scope to a country with countrycode. This tool is coordinate-native and does not geocode place names — resolve a place like "Ballard, Seattle" to coordinates with openstreetmap_search_places first, then pass them here. Filter by connector type, minimum power (kW), operator/network, usage type (public/free/membership), charge level, operational status, and minimum charge points. Filter IDs are integers — resolve a connector or network name to its ID with openchargemap_lookup_reference (e.g. "CCS" -> 33). Each result includes title, address, distance from the search point, connections (type, power, count), operator, access rules, registry operational status, and the last-verified date. Results come back one page at a time: when a page reports truncated, repeat the same search with the reported nextOffset to read the next one.
openchargemap_get_stationread-onlyGet the full record for one Open Charge Map station by its numeric OCM ID. Returns every connection (type, level, power, current, quantity, per-connection status), the operator and network, usage and access restrictions (pay-at-location, membership, access key), the number of charge points, general comments, usage cost, the data provider, media, and verification recency. Set includeComments to also return community check-ins inline.
openchargemap_get_station_commentsread-onlyRead community check-ins and comments for one Open Charge Map station — the real-world reliability signal beyond the operator-reported registry status. Returns user comments and fault reports with ratings, dates, and the outcome the driver recorded ("Charged Successfully", "Failed to Charge (Equipment Not Operational)", …), alongside the station's current registry status and last-verified date, surfacing mismatches like "listed operational, but the last few check-ins report a fault." A busy station's check-ins come back one page at a time: when a page reports truncated, repeat the call with the reported nextOffset to read the next one.
openchargemap_lookup_referenceread-onlyResolve Open Charge Map reference data to the integer IDs that openchargemap_find_stations filters require. Pick a category and pass a name or code to resolve — "CCS" or "Tesla Supercharger" -> a connectiontypeid, "ChargePoint" -> an operatorid, "Public - Pay At Location" -> a usagetypeid, "France" or "FR" -> a country. Omit the query to browse the whole category. Large categories come back one page at a time: when a page reports truncated, repeat the call with the reported nextOffset to read the next one.

Schemas: list_tools.

Similar MCP servers

More from io.github.cyanheads

And 136 more from this publisher.

Official server.json
{
  "name": "io.github.cyanheads/openchargemap-mcp-server",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://openchargemap.caseyjhand.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.1.10",
  "packages": [
    {
      "version": "0.1.10",
      "transport": {
        "type": "stdio"
      },
      "identifier": "@cyanheads/openchargemap-mcp-server",
      "runtimeHint": "npx",
      "registryType": "npm",
      "registryBaseUrl": "https://registry.npmjs.org",
      "environmentVariables": [
        {
          "name": "OPENCHARGEMAP_API_KEY",
          "format": "string",
          "isSecret": true,
          "isRequired": true,
          "description": "Open Charge Map API key, sent as the X-API-Key header on every request. Free instant signup at openchargemap.org."
        },
        {
          "name": "OPENCHARGEMAP_BASE_URL",
          "format": "string",
          "description": "Override the OCM API base URL (default https://api.openchargemap.io/v3). For a private mirror or testing."
        },
        {
          "name": "OPENCHARGEMAP_REFERENCE_REFRESH",
          "format": "string",
          "default": "false",
          "description": "When true, refresh reference data from the live /referencedata endpoint at startup, falling back to the bundled snapshot on failure."
        },
        {
          "name": "MCP_LOG_LEVEL",
          "format": "string",
          "default": "info",
          "description": "Sets the minimum log level for output (e.g., 'debug', 'info', 'warn')."
        }
      ]
    },
    {
      "version": "0.1.10",
      "transport": {
        "url": "http://localhost:3010/mcp",
        "type": "streamable-http"
      },
      "identifier": "@cyanheads/openchargemap-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": "OPENCHARGEMAP_API_KEY",
          "format": "string",
          "isSecret": true,
          "isRequired": true,
          "description": "Open Charge Map API key, sent as the X-API-Key header on every request. Free instant signup at openchargemap.org."
        },
        {
          "name": "OPENCHARGEMAP_BASE_URL",
          "format": "string",
          "description": "Override the OCM API base URL (default https://api.openchargemap.io/v3). For a private mirror or testing."
        },
        {
          "name": "OPENCHARGEMAP_REFERENCE_REFRESH",
          "format": "string",
          "default": "false",
          "description": "When true, refresh reference data from the live /referencedata endpoint at startup, falling back to the bundled snapshot on failure."
        },
        {
          "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_AUTH_MODE",
          "format": "string",
          "default": "none",
          "description": "Authentication mode to use: 'none', 'jwt', or 'oauth'."
        },
        {
          "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/openchargemap-mcp-server",
    "source": "github"
  },
  "description": "Find EV charging stations, detail, and reliability check-ins via the global Open Charge Map."
}