Bridges your CashPilot passive income dashboard to Claude, exposing earnings data, service management, and fleet worker controls through MCP resources and tools. Query daily earnings and historical trends, restart or deploy bandwidth sharing services like EarnApp or Honeygain, trigger collection runs, and monitor worker health scores. Resources provide read-only views of earnings summaries, service catalogs, and fleet status via URIs like cashpilot://earnings/summary. Tools let you take action with methods like restart_service, deploy_service, and get_service_logs. Built in Go, supports both stdio and HTTP transports with optional bearer auth. If you're running multiple passive income nodes and want LLM-assisted monitoring and control, this turns CashPilot's admin API into something Claude can work with directly.
A tiny bridge that exposes any CashPilot instance as an MCP server, enabling LLMs to monitor passive income earnings, manage services, and control fleet workers.
| Type | What for | MCP URI / Tool id |
|---|---|---|
| Resources | Browse earnings, services, fleet status, and health scores read-only | cashpilot://earnings/summarycashpilot://earnings/breakdowncashpilot://services/deployedcashpilot://services/catalogcashpilot://fleet/summarycashpilot://workerscashpilot://health/scorescashpilot://collector-alerts |
| Tools | Query earnings, manage services, and trigger collection | get_earnings_dailyget_earnings_historyget_service_logsrestart_servicestop_servicestart_servicedeploy_serviceremove_servicetrigger_collectionget_compose |
Everything is exposed over a single JSON-RPC endpoint (/mcp).
LLMs / Agents can: initialize -> readResource -> listTools -> callTool ... and so on.
services:
cashpilot-mcp:
image: drumsergio/cashpilot-mcp:latest
ports:
- "127.0.0.1:8081:8081"
environment:
- CASHPILOT_URL=http://cashpilot:8080
- CASHPILOT_API_KEY=<your-CASHPILOT_ADMIN_API_KEY>
Security note: The HTTP transport listens on
127.0.0.1:8081by default. If you need to expose it on a network, place it behind a reverse proxy with authentication.
npx cashpilot-mcp
Or install globally:
npm install -g cashpilot-mcp
cashpilot-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/cashpilot-mcp
cd cashpilot-mcp
# (optional) create .env from the sample
cp .env.example .env && $EDITOR .env
go run ./cmd/server
| Variable | Default | Description |
|---|---|---|
CASHPILOT_URL | http://localhost:8080 | CashPilot instance URL (without trailing /) |
CASHPILOT_API_KEY | (required) | Admin API key (CASHPILOT_ADMIN_API_KEY from your CashPilot instance — NOT the fleet key) |
LISTEN_ADDR | 127.0.0.1:8081 | HTTP listen address (Docker sets 127.0.0.1:8081) |
MCP_AUTH_TOKEN | (empty) | Bearer token for HTTP transport auth. Required when LISTEN_ADDR is not loopback |
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": "CashPilot-MCP",
"name_for_model": "cashpilot_mcp",
"description_for_human": "Monitor passive income earnings, manage bandwidth-sharing services, and control fleet workers via CashPilot.",
"description_for_model": "Interact with a CashPilot instance that manages passive income services. 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 cashpilot://. Use listTools to discover available actions and callTool to execute them.",
"auth": {
"type": "bearer",
"token": "<your-MCP_AUTH_TOKEN>"
},
"api": {
"type": "jsonrpc-mcp",
"url": "http://localhost:8081/mcp",
"init_method": "initialize",
"session_header": "Mcp-Session-Id"
},
"contact_email": "acsdesk@protonmail.com",
"legal_info_url": "https://github.com/GeiserX/cashpilot-mcp/blob/main/LICENSE"
}
CashPilot -- passive income fleet management dashboard
MCP-GO -- modern MCP implementation
GoReleaser -- painless multi-arch releases
Feel free to dive in! Open an issue or submit PRs.
CashPilot-MCP follows the Contributor Covenant Code of Conduct.
| Project | Description |
|---|---|
| CashPilot | Self-hosted passive income platform with web UI for setup and earnings tracking |
| CashPilot-android | Android monitoring agent for CashPilot passive income apps |
| cashpilot-ha | Home Assistant custom integration for CashPilot passive income monitoring |
| n8n-nodes-cashpilot | n8n community node for CashPilot passive income monitoring |
CASHPILOT_URL*CashPilot instance URL (e.g. http://localhost:8080)
CASHPILOT_API_KEY*secretCashPilot admin API key
io.github.infoinlet-marketplace/mcp-observability
betterdb-inc/monitor
com.mcparmory/datadog
thotischner/observability-mcp
io.github.tantiope/datadog-mcp
io.github.us-all/datadog