CashPilot

io.github.GeiserXPublished by GitHub account GeiserXv0.3.0Updated Oct 29, 2026

MCP server for CashPilot: track passive income and DePIN earnings, manage services

The publisher's own server: QuickBooks Connector by Meridian

VerifiedSTDIODesktop onlyCloud & InfrastructureFinance

Overview

AI-generated overview

Bridge that exposes a self-hosted CashPilot instance to an assistant, so it can read passive-income earnings and control fleet services.

What you can do
  • Read earnings totals, per-service balances with cashout eligibility, daily series and history
  • Inspect the fleet: deployed services, deployable catalog, workers, health scores and collector alerts
  • Fetch container logs and a Docker Compose export per architecture
  • Change the fleet: trigger earnings collection, start, restart, stop, deploy or remove services
When to use it
Use it when you run your own CashPilot instance and want an assistant to check DePIN or passive-income earnings, review fleet health, or start, stop and deploy services without opening the dashboard.
Requirements
Runs locally over stdio via the npm package or the OCI image. Needs CASHPILOT_URL pointing at your instance and CASHPILOT_API_KEY (admin key for full control, or the read-only key with CASHPILOT_READ_ONLY=1). The Docker image also needs TRANSPORT set to run on stdio.
Before you install
The API key grants control of your fleet; the admin key allows destructive actions such as stopping, redeploying and removing services, which can stop earnings. Prefer the read-only key with CASHPILOT_READ_ONLY=true unless changes are needed. Container logs returned by get_service_logs are untrusted content. Do not use the fleet key.

Installation

In SourceWeft

  1. Open CashPilot in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[cashpilot-mcp]

cashpilot-mcp

[npm] [CI] [Docker Pulls] [GitHub Stars] [License]

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.

It talks to your own CashPilot instance with its API key, over stdio or Streamable HTTP.

Speaks MCP 2026-07-28 and every earlier revision down to 2024-11-05 from the same binary: current clients that still use the initialize handshake (Claude Code, Claude Desktop, Cursor, VS Code) and 2026-07-28 clients (server/discover, stateless requests) both work.

Features

  • Earnings: totals, per-service balances with cashout eligibility, daily series and history.
  • Fleet: deployed services, the deployable catalog, workers, health scores and collector alerts, as tools and as cashpilot:// resources.
  • Service control on any worker: start, stop, restart, deploy, remove, logs, plus trigger_collection and a Docker Compose export per architecture.
  • Read-only mode: CASHPILOT_READ_ONLY=true registers only the tools that change nothing.
  • Every tool has a title and read-only/destructive hints, list tools return structured JSON, inputs are validated.
  • HTTP mode listens on 127.0.0.1:8081, checks Origin, caps request size and requires MCP_AUTH_TOKEN on any non-loopback address.

Install

Every snippet runs the npm package over stdio. Use the admin key (CASHPILOT_ADMIN_API_KEY) for full control, or the read-only key (CASHPILOT_READONLY_API_KEY) with CASHPILOT_READ_ONLY=true. Never the fleet key.

Claude Code

sh
claude mcp add --transport stdio --env CASHPILOT_URL=http://localhost:8080 --env CASHPILOT_API_KEY=<key> cashpilot -- npx -y cashpilot-mcp

Claude Desktop (claude_desktop_config.json) and Cursor (~/.cursor/mcp.json or .cursor/mcp.json)

json
{  "mcpServers": {    "cashpilot": {      "command": "npx",      "args": ["-y", "cashpilot-mcp"],      "env": {        "CASHPILOT_URL": "http://localhost:8080",        "CASHPILOT_API_KEY": "<key>"      }    }  }}

VS Code (.vscode/mcp.json; the key is asked once and stored by VS Code)

json
{  "inputs": [    { "id": "cashpilot-key", "type": "promptString", "description": "CashPilot API key", "password": true }  ],  "servers": {    "cashpilot": {      "type": "stdio",      "command": "npx",      "args": ["-y", "cashpilot-mcp"],      "env": { "CASHPILOT_URL": "http://localhost:8080", "CASHPILOT_API_KEY": "${input:cashpilot-key}" }    }  }}

Codex (~/.codex/config.toml)

toml
[mcp_servers.cashpilot]command = "npx"args = ["-y", "cashpilot-mcp"]env = { CASHPILOT_URL = "http://localhost:8080", CASHPILOT_API_KEY = "<key>" }

Docker, the HTTP server and local builds are in Getting started; every variable is in Configuration.

Tools

ToolWhat it doesChanges the fleet
get_earnings_summaryTotals: today, this month, all timeno
get_earnings_breakdownBalance and cashout eligibility per serviceno
get_earnings_dailyOne total per day, 1 to 365 daysno
get_earnings_historyRecords for a week, month, year or allno
list_deployed_servicesWhat runs where, with status and resourcesno
list_available_servicesDeployable catalog with the env keys each needsno
get_fleet_summaryWorkers and containers, online and totalno
list_workersWorker ids for worker_idno
get_health_scoresHealth per service over 1 to 90 daysno
get_collector_alertsErrors from the last earnings collectionno
get_service_logsLatest container log lines (untrusted content)no
get_composedocker-compose.yml for amd64, arm64 or armno
trigger_collectionCollect earnings now, in the backgroundyes
start_service / restart_serviceStart or restart a containeryes
stop_serviceStop a container; it stops earningyes, destructive
deploy_serviceDeploy or redeploy with env, hostname, instancesyes, destructive
remove_serviceRemove a deployment; volumes are keptyes, destructive

With more than one worker online, service tools need worker_id (from list_workers). Resources and details are in Usage.

Documentation

Related projects

CashPilot, the passive income fleet manager this server talks to.

License

GPL-3.0-or-later

Source: README.md at commit c2d812a

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

4
  1. v0.3.0LatestOct 29, 2026
  2. v0.2.3Oct 21, 2026
  3. v0.2.2Oct 5, 2026
  4. v0.0.2Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Pilot integrations