pumperly-mcp
Pumperly-MCP exposes a Pumperly fuel station instance as an MCP server, enabling LLMs to query real-time fuel prices, discover stations, plan routes, and geocode locations.
Find Nearest Stations (
find_nearest_stations): Search for fuel stations closest to a given coordinate, filtered by fuel type (e.g., B7, E5, EV), with configurable radius and result limit.Get Stations in Area (
get_stations_in_area): Retrieve all fuel stations within a specified bounding box for a given fuel type.Calculate Route (
calculate_route): Compute a driving route between an origin and destination, with optional waypoints.Find Route Stations (
find_route_stations): Discover fuel stations within a corridor along a route (provided as a GeoJSON LineString), filtered by fuel type.Geocode (
geocode): Convert a place name, address, or POI query into geographic coordinates, with optional lat/lon biasing for more relevant results.Read Resources (read-only): Access configuration (
pumperly://config), statistics (pumperly://stats), and exchange rates (pumperly://exchange-rates).
Transport options include HTTP (JSON-RPC over /mcp) or stdio (via npm).
What you get
Type | What for | MCP URI / Tool id |
Resources | Browse configuration, statistics, and exchange rates read-only |
|
Tools | Find stations, calculate routes, and geocode locations |
|
Everything is exposed over a single JSON-RPC endpoint (/mcp).
LLMs / Agents can: initialize -> readResource -> listTools -> callTool ... and so on.
Quick-start (Docker Compose)
services:
pumperly-mcp:
image: drumsergio/pumperly-mcp:latest
ports:
- "127.0.0.1:8080:8080"
environment:
- PUMPERLY_URL=https://pumperly.comSecurity 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.
Install via npm (stdio transport)
npx pumperly-mcpOr install globally:
npm install -g pumperly-mcp
pumperly-mcpThis downloads the pre-built Go binary from GitHub Releases for your platform and runs it with stdio transport. Requires at least one published release.
Local build
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/serverConfiguration
Variable | Default | Description |
|
| Pumperly instance URL (without trailing /) |
|
| HTTP listen address (Docker sets |
| (empty = HTTP) | Set to |
Put them in a .env file (from .env.example) or set them in the environment.
Testing
Tested with Inspector and it is currently fully working. Before making a PR, make sure this MCP server behaves well via this medium.
Example configuration for client LLMs
{
"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"
}Credits
Pumperly -- real-time fuel price aggregation
MCP-GO -- modern MCP implementation
GoReleaser -- painless multi-arch releases
Maintainers
Contributing
Feel free to dive in! Open an issue or submit PRs.
Pumperly-MCP follows the Contributor Covenant Code of Conduct.
Other MCP Servers by GeiserX
cashpilot-mcp — Passive income monitoring
duplicacy-mcp — Backup health monitoring
genieacs-mcp — TR-069 device management
lynxprompt-mcp — AI configuration blueprints
telegram-archive-mcp — Telegram message archive
Related Projects
Project | Description |
Open-source fuel and EV route planner with real-time prices | |
Official Android app for Pumperly fuel and EV route planner | |
Home Assistant custom integration for Pumperly fuel and EV charging prices | |
n8n community node for Pumperly fuel and EV charging data |
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/GeiserX/pumperly-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server