Pumperly MCP

Truy vấn giá nhiên liệu thời gian thực, tìm trạm xăng gần đó, lập kế hoạch lộ trình và mã hóa địa lý các địa điểm trên nhiều quốc gia khác nhau

Tài liệu

Pumperly MCP banner

Pumperly-MCP

codecov npm Go Docker Pulls GitHub Stars License

Official MCP Registry Glama MCP Server MCPServers.org mcp.so ToolSDK Registry listed on awesome-mcp-servers

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.


What you get

TypeWhat forMCP URI / Tool id
ResourcesBrowse configuration, statistics, and exchange rates read-onlypumperly://config
pumperly://stats
pumperly://exchange-rates
ToolsFind stations, calculate routes, and geocode locationsfind_nearest_stations
get_stations_in_area
calculate_route
find_route_stations
geocode

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.com

Security note: The HTTP transport listens on 127.0.0.1:8080 by 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-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.

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/server

Configuration

VariableDefaultDescription
PUMPERLY_URLhttps://pumperly.comPumperly instance URL (without trailing /)
LISTEN_ADDR127.0.0.1:8080HTTP 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.

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

@GeiserX.

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

Related Projects

ProjectDescription
PumperlyOpen-source fuel and EV route planner with real-time prices
Pumperly-androidOfficial Android app for Pumperly fuel and EV route planner
pumperly-haHome Assistant custom integration for Pumperly fuel and EV charging prices
n8n-nodes-pumperlyn8n community node for Pumperly fuel and EV charging data