Connects Claude to any Pumperly instance for real-time fuel price lookups and route planning. Exposes five tools: find nearest stations by coordinates, search stations within a bounding box, calculate optimal routes, find stations along a route, and geocode addresses. Also surfaces three read-only resources for instance configuration, statistics, and exchange rates. Built in Go with both stdio and HTTP transports. Useful when you need LLMs to answer questions like "find the cheapest diesel within 5km" or "plan a route from Madrid to Barcelona with fuel stops under €1.50/liter." Wraps the Pumperly API, which aggregates data from government sources and crowdsourced reports across multiple countries.
A tiny bridge that exposes any Pumperly instance as an MCP server, enabling LLMs to query real-time fuel prices, find stations, plan routes, and geocode locations.
| Type | What for | MCP URI / Tool id |
|---|---|---|
| Resources | Browse configuration, statistics, and exchange rates read-only | pumperly://configpumperly://statspumperly://exchange-rates |
| Tools | Find stations, calculate routes, and geocode locations | find_nearest_stationsget_stations_in_areacalculate_routefind_route_stationsgeocode |
Everything is exposed over a single JSON-RPC endpoint (/mcp).
LLMs / Agents can: initialize -> readResource -> listTools -> callTool ... and so on.
services:
pumperly-mcp:
image: drumsergio/pumperly-mcp:latest
ports:
- "127.0.0.1:8080:8080"
environment:
- PUMPERLY_URL=https://pumperly.com
Security note: The HTTP transport listens on
127.0.0.1:8080by default. If you need to expose it on a network, place it behind a reverse proxy with authentication.
npx pumperly-mcp
Or install globally:
npm install -g pumperly-mcp
pumperly-mcp
This downloads the pre-built Go binary from GitHub Releases for your platform and runs it with stdio transport. Requires at least one published release.
git clone https://github.com/GeiserX/pumperly-mcp
cd pumperly-mcp
# (optional) create .env from the sample
cp .env.example .env && $EDITOR .env
go run ./cmd/server
| Variable | Default | Description |
|---|---|---|
PUMPERLY_URL | https://pumperly.com | Pumperly instance URL (without trailing /) |
LISTEN_ADDR | 127.0.0.1:8080 | HTTP listen address (Docker sets 0.0.0.0:8080) |
TRANSPORT | (empty = HTTP) | Set to stdio for stdio transport |
Put them in a .env file (from .env.example) or set them in the environment.
Tested with Inspector and it is currently fully working. Before making a PR, make sure this MCP server behaves well via this medium.
{
"schema_version": "v1",
"name_for_human": "Pumperly-MCP",
"name_for_model": "pumperly_mcp",
"description_for_human": "Query real-time fuel prices, find stations, plan routes, and geocode locations via Pumperly.",
"description_for_model": "Interact with a Pumperly instance that aggregates fuel station data. First call initialize, then reuse the returned session id in header \"Mcp-Session-Id\" for every other call. Use readResource to fetch URIs that begin with pumperly://. Use listTools to discover available actions and callTool to execute them.",
"auth": { "type": "none" },
"api": {
"type": "jsonrpc-mcp",
"url": "http://localhost:8080/mcp",
"init_method": "initialize",
"session_header": "Mcp-Session-Id"
},
"logo_url": "https://pumperly.com/logo.png",
"contact_email": "acsdesk@protonmail.com",
"legal_info_url": "https://github.com/GeiserX/pumperly-mcp/blob/main/LICENSE"
}
Pumperly -- real-time fuel price aggregation
MCP-GO -- modern MCP implementation
GoReleaser -- painless multi-arch releases
Feel free to dive in! Open an issue or submit PRs.
Pumperly-MCP follows the Contributor Covenant Code of Conduct.
| Project | Description |
|---|---|
| Pumperly | Open-source fuel and EV route planner with real-time prices |
| Pumperly-android | Official Android app for Pumperly fuel and EV route planner |
| pumperly-ha | Home Assistant custom integration for Pumperly fuel and EV charging prices |
| n8n-nodes-pumperly | n8n community node for Pumperly fuel and EV charging data |
PUMPERLY_URLPumperly API base URL (e.g. https://pumperly.com)