Skip to main content
Glama

What you get

Type

What for

MCP URI / Tool id

Resources

Browse earnings, services, fleet status, and health scores read-only

cashpilot://earnings/summary

cashpilot://earnings/breakdown

cashpilot://services/deployed

cashpilot://services/catalog

cashpilot://fleet/summary

cashpilot://workers

cashpilot://health/scores

cashpilot://collector-alerts

Tools

Query earnings, manage services, and trigger collection

get_earnings_daily

get_earnings_history

get_service_logs

restart_service

stop_service

start_service

deploy_service

remove_service

trigger_collection

get_compose

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:
  cashpilot-mcp:
    image: drumsergio/cashpilot-mcp:latest
    ports:
      - "127.0.0.1:8081:8081"
    environment:
      - CASHPILOT_URL=http://cashpilot:8080
      - CASHPILOT_API_KEY=your-admin-api-key

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

Local build

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

Configuration

Variable

Default

Description

CASHPILOT_URL

http://localhost:8080

CashPilot instance URL (without trailing /)

CASHPILOT_API_KEY

(required)

Admin API key for authentication

LISTEN_ADDR

127.0.0.1:8081

HTTP listen address (Docker sets 0.0.0.0:8081)

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": "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": "none" },
  "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"
}

Credits

CashPilot -- passive income fleet management dashboard

MCP-GO -- modern MCP implementation

GoReleaser -- painless multi-arch releases

Maintainers

@GeiserX.

Contributing

Feel free to dive in! Open an issue or submit PRs.

CashPilot-MCP follows the Contributor Covenant Code of Conduct.

Other MCP Servers by GeiserX

-
security - not tested
A
license - permissive license
-
quality - not tested

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/cashpilot-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server