CashPan
Give your AI an allowance: pay approved people within on-chain spending limits.
Beschreibung vom Entwickler (englisches Original)
Agent-safe fleet management for independent Solana validators and RPC nodes
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"solfleet": {
"command": "uvx",
"args": [
"solfleet",
"--from",
"solfleet",
"solfleet-mcp"
]
}
}
}Führe das in deinem Terminal aus
claude mcp add solfleet -- uvx solfleet --from solfleet solfleet-mcpIn .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"solfleet": {
"command": "uvx",
"args": [
"solfleet",
"--from",
"solfleet",
"solfleet-mcp"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"solfleet": {
"type": "stdio",
"command": "uvx",
"args": [
"solfleet",
"--from",
"solfleet",
"solfleet-mcp"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 8. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto sanjeevkkansal bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.1.1) kam vor 4 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
In derselben Kategorie: CashPan, Agentwallet, Dinero en la Mesa — Perp DEX costs & funding
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Give your AI an allowance: pay approved people within on-chain spending limits.
Wallet infrastructure for Ai agents. EVM + Solana. x402 payments. No KYC.
Dinero en la Mesa: live all-in cost (fees + slippage) and funding on 28 perp DEXs. Free, read-only.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Agent-safe fleet management for independent Solana validators and RPC nodes. One config file describes your fleet across devnet, testnet, and mainnet. An MCP server (and a CLI) exposes Solana-aware status, safe in-place upgrades, and health-driven DNS failover to Claude or any MCP client. Every operation that changes a node is dry-run by default, policy-gated, and audited. solfleet never reads or moves your keypairs.
See PLAN.md for the roadmap and design notes.
solfleet runs on the operator's machine (or a small VM). It talks to the fleet over JSON-RPC (read) and SSH/scp (act), builds artifacts on a separate build host, computes slot lag against each cluster's reference RPC, and manages failover records at the DNS provider. Every mutation flows through one gate and is written to a SQLite audit log.
flowchart TB
claude["Claude / any MCP client"]
subgraph operator["operator machine"] mcp["solfleet-mcp (stdio)"] cli["solfleet CLI"] core["core: probe · safety gate · executor · dns"] audit[("audit log (SQLite)")] claude -->|MCP| mcp mcp --> core cli --> core core --> audit end
builder["build host (agave + geyser from source)"] ref["cluster reference RPC"] dns["DNS provider (Cloudflare / Route53)"]
subgraph fleet["fleet: devnet / testnet / mainnet"] rpc["RPC nodes"] val["voting validators"] end
core -->|JSON-RPC :8899| rpc core -->|JSON-RPC :8899| val core -->|SSH / scp| rpc core -->|SSH / scp| val core -->|SSH build, fetch artifacts| builder builder -. "artifact set + sha256" .-> core core -->|slot lag / delinquency| ref core -->|eject / restore A records| dns
sequenceDiagram
actor Op as Claude / operator participant SF as solfleet participant B as build host participant N as node participant R as reference RPC Op->>SF: upgrade node to version (confirm) SF->>SF: gate, policy + preflight (else stop) SF->>B: build agave + geyser (or reuse cache) B-->>SF: artifact set + sha256 SF->>N: scp artifacts as dest.solfleet-new SF->>N: sha256 on node matches builder (else abort) alt RPC node SF->>N: systemctl stop SF->>N: atomic swap (binary + geyser + marker) SF->>N: systemctl start else voting validator SF->>N: atomic swap (binary + geyser + marker) SF->>N: agave-validator exit (leader-aware), systemd relaunches end loop until healthy and caught up SF->>R: getSlot SF->>N: getHealth / getSlot end SF->>SF: verify reported version, write audit entry
sequenceDiagram
participant SF as solfleet watch participant N as pool members participant R as reference RPC participant D as DNS provider loop every interval SF->>N: getHealth / getSlot SF->>R: getSlot (cluster head) SF->>SF: per member: unhealthy, lag over limit, or delinquent alt every member failing SF->>SF: keep current records (never empty the pool) else at least one healthy SF->>D: ensure TXT ownership marker SF->>D: remove A record of each failing member SF->>D: add A record of each recovered member SF->>SF: write audit entry end end
.so), caches it, and distributes the artifact set to the fleet.v1. Built and unit-tested (91 tests, CI on Python 3.11-3.13). Most paths are also proven live against a disposable devnet node and a real Cloudflare zone.
Proven live:
status, validate, vote-status, inspectrestart (RPC via systemctl; validator via leader-aware safe-exit)upgrade end to end (build agave from source on a builder, distribute, sha256-verify on the target, atomic swap, catch-up) for both RPC and voting-validator nodesbootstrap-builder (toolchain + deps on a bare builder)provision a voting validator from bare disks (format NVMe, install, render the voting unit, start, catch up, vote)dns status / eject / restore and last-member protection, against a live Cloudflare zoneUnit-tested but not yet run live:
watch loop (probe -> decide -> act); its decision logic is unit-tested and it reuses the now-proven Cloudflare driverNot built yet: HTTP transport (MCP is stdio-only today). See PLAN.md (M6).
pipx install solfleet # not yet published; for now:
pipx install git+https://github.com/sanjeevkkansal/solfleet pipx install 'solfleet[route53]' # if you use Route53 for DNS
cp fleet.example.yaml fleet.yaml # edit with your nodes
cp policy.example.yaml policy.yaml # optional; sane defaults if absent solfleet status # probe the fleet solfleet status --watch # refreshing live table solfleet validate # structural + live readiness check solfleet vote-status mn-val-1 # voting health: credits, balance, delinquency, leader solfleet inspect mn-val-1 # read-only SSH detail for one node solfleet bootstrap-builder b1 # install build toolchain on a builder; --confirm solfleet provision rpc-1 4.1.0 # dry-run bring-up plan; --confirm to run solfleet plan-upgrade mn-val-1 4.1.0 # dry-run upgrade plan solfleet upgrade mn-val-1 4.1.0 # dry-run; add --confirm to execute solfleet watch --dry-run # DNS failover loop, decide-only
MCP (Claude Code):
claude mcp add solfleet -- solfleet-mcp
Pointed at a small devnet fleet. With no flags, commands are read-only or dry-run.
Fleet health is Solana-aware, not just an HTTP 200:
$ solfleet status
CLUSTER NODE ROLE HEALTH VERSION SLOT LAG VOTE devnet rpc-1 rpc ok 4.1.0-rc.1 0 - devnet rpc-2 rpc ok 4.1.0-rc.1 0 -
An upgrade is dry-run by default. It returns the ordered plan and the gate decision and changes nothing until you pass --confirm:
$ solfleet plan-upgrade rpc-1 4.1.0
{ "decision": { "operation": "upgrade", "cluster": "devnet", "node": "rpc-1", "mode": "dry-run", "allowed": true, "plan": [ "on builder 'build-1': build agave 4.1.0 from source", "distribute artifact set to rpc-1; checksum-verify each (abort on mismatch)", "stop solana-validator, swap, start", "swap /usr/local/bin/agave-validator + geyser .so + version marker atomically", "wait until healthy + caught up to https://api.devnet.solana.com", "verify reported version == 4.1.0; record before/after" ], "reasons": [ "dry-run: preflight checks pass; pass confirm=true to execute" ] }, "target_version": "4.1.0" }
Over MCP, the same operations are tools (fleet_status, plan_node_upgrade, upgrade, ...). Claude gets that same plan back and has to pass confirm=true to execute, so an agent cannot mutate a node by accident.
Read-only: fleet_status, node_detail, version_drift, vote_status, leader_schedule, validate, plan_node_upgrade, dns_pool_status, audit_log.
Gated (dry-run by default; confirm=true to execute): bootstrap_builder_host, provision, restart, upgrade, dns_pool_eject, dns_pool_restore.
Every mutation is dry-run by default, checked against policy.yaml (allowed versions, disk floor, leader-window minimum), and written to a SQLite audit log. The watch loop is the one autonomous mutator; it is bounded by the same audit log and the never-empty-a-pool rule.
confirm=true.policy.yaml: allowed version globs, disk floor, and require_leader_window_minutes for validators.uv venv && uv pip install -e '.[dev]'
uv run pytest
Published to the MCP Registry.
mcp-name: io.github.sanjeevkkansal/solfleet