robotbase-mcp
by wygogogo19
README.md
# RobotBase MCP Server
**Read-only multi-chain data for AI agents — the first MCP server covering all five classic non-EVM chains: Bitcoin · Monero · Zcash · Dogecoin · Litecoin.**
**免鉴权 · 无追踪 · 只读** | 面向 AI Agent 的五大经典公链数据接口
[](https://robotbase.cc/mcp/tools)
[](https://modelcontextprotocol.io)
[](https://robotbase.cc/mcp)
Hosted endpoint: **`https://robotbase.cc/mcp`** · Landing page: <https://robotbase.cc/mcp> · Server card: <https://robotbase.cc/mcp/server.json> · Live usage audit: <https://robotbase.cc/mcp/stats>
---
## Why
Ask any LLM today to check **Bitcoin mempool fees**, a **Monero transaction**, or the **Zcash shielded-pool supply** and it has nowhere to look: the MCP ecosystem is rich for EVM/Solana and nearly empty for the classic non-EVM chains. This server fills that gap with 16 strictly read-only tools backed by full nodes.
## Connect (3 lines)
```json
{
"mcpServers": {
"robotbase": { "url": "https://robotbase.cc/mcp" }
}
}
```
Works with Claude Desktop, Cursor, VS Code (remote MCP), and any MCP client supporting Streamable HTTP (`2025-06-18`). No API key needed.
```bash
curl -s https://robotbase.cc/mcp -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"btc_fee_estimates","arguments":{}}}'
```
## Tools (16)
| Tool | What it does | Typical question |
|---|---|---|
| `list_chains` | Supported chains + live status | "Which chains do you support? Are they online?" |
| `chain_status(chain)` | Node height, sync progress, peers, mempool, version | "Is the Monero node synced?" |
| `robotbase_services` | Gateway-wide service health | "Give me an overall health check" |
| `btc_fee_estimates` | Recommended fees for 1/2/3/6/12/24 blocks + mempool min fee | "What fee should I pay right now?" |
| `btc_mempool_summary` | Mempool congestion: pending txs, size, min fee | "Is Bitcoin congested?" |
| `btc_tx_lookup(txid)` | BTC transaction: confirmations, block, I/O summary | "Is this BTC tx confirmed?" |
| `btc_block_summary(height\|blockhash)` | Block summary (defaults to tip) | "How many txs in the latest block?" |
| `btc_address_summary(address)` | Balance, UTXOs, tx count, recent txs (P2PKH/P2SH/bech32/bech32m) | "How much BTC is in this address?" |
| `xmr_node_info` | Monero node status | "Is the XMR node healthy?" |
| `xmr_fee_estimate` | Monero fee per byte + tiers | "What is the XMR fee today?" |
| `xmr_last_block` | Latest Monero block header | "When was the last XMR block?" |
| `xmr_tx_lookup(txid)` | Monero tx: in mempool? block height, confirmations | "Did this XMR swap land on-chain?" |
| `xmr_mempool_stats` | Monero mempool bytes, fees, histogram | "Is the XMR mempool busy?" |
| `zec_chain_info` | Zcash chain info **incl. shielded-pool supply** (transparent/sprout/sapling/orchard/lockbox/ironwood) | "How much ZEC is shielded?" |
| `zec_recent_blocks(n)` | Recent Zcash blocks | "Are ZEC blocks healthy?" |
| `utxo_chain_status(doge\|ltc)` | Dogecoin / Litecoin node status | "How far has DOGE synced?" |
## Architecture
```
AI Agent (Claude / Cursor / VS Code / custom)
│ HTTPS · MCP Streamable HTTP (2025-06-18)
▼
https://robotbase.cc/mcp ← hosted, no auth required
│
▼
MCP server (dependency-free Python, this repo)
├── BTC : Bitcoin Core RPC + electrs (address/tx index)
├── XMR : monerod restricted RPC + whitelisted full-RPC helper
├── ZEC : Zebra RPC (valuePools → shielded-pool supply)
├── DOGE : Dogecoin Core RPC
├── LTC : Litecoin Core RPC
└── meta : gateway service aggregation
```
## Privacy & limits
- **No auth** for anonymous use; optional `X-API-Key` header (or `?key=`) raises the limit.
- Anonymous **120 req/min per IP**; with API key **600 req/min per IP** (`X-MCP-Plan` / `X-RateLimit-Limit` response headers).
- Audit stores only a **truncated SHA-256 of the client IP** — never query parameters.
- **Read-only**: no trading, signing, custody, or write methods. BTC transactions are looked up with `txindex`; XMR uses a whitelisted method list.
- Responses are trimmed to ~3.8 KB per call to protect LLM context.
## Self-hosting (this repo)
`server.py` is a dependency-free reference implementation that talks to **your own** nodes. Configure everything with environment variables:
```bash
export RB_BIND=0.0.0.0 # bind address (default 127.0.0.1)
export RB_PORT=8090 # listen port
export RB_BTC_RPC_URL=http://127.0.0.1:8332
export RB_BTC_RPC_USER=btcrpc
export RB_BTC_RPC_PASS=...
export RB_BTC_DASHBOARD=http://127.0.0.1:8600/api/node # optional
export RB_ELECTRS_HOST=127.0.0.1 # electrs for btc_address_summary
export RB_ELECTRS_PORT=50001
export RB_XMR_RPC=http://127.0.0.1:18089/json_rpc
export RB_XMR_HELPER=http://127.0.0.1:18085/rpc # whitelisted full RPC
export RB_ZEC_BASE=http://127.0.0.1:8080 # status API with /api/chaininfo
export RB_DOGE_BASE=http://127.0.0.1:8080
export RB_LTC_BASE=http://127.0.0.1:8080
python3 server.py
```
See [`examples/`](./examples) for client configs and [`examples/env.example`](./examples/env.example) for the full variable list. Endpoints exposed by the server itself: `/` (docs), `/tools` (tool list JSON), `/server.json` (server card), `/stats` (usage audit), `/healthz`.
## License
MIT — see [LICENSE](./LICENSE).
---
<sub>RobotBase · read-only on-chain data infrastructure · <https://robotbase.cc/></sub>
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues