fabtally-chain-mcp
# FabTally Chain — MCP server
On-chain **monitoring reads** an AI agent or dev polls per-call. Fronts the Chain
HTTP API at **https://chain.fabtally.com**. Holds no private key.
## Tools (all paid; a call with no payment returns the decoded x402 402 challenge)
| Tool | Price | What it does |
|------|-------|--------------|
| `ens_expiry` | $0.001 | Resolve an ENS `.eth` / Basename `.base.eth` name's registration expiry on-chain — expiry date, days-left, 90-day grace status, release date, current owner. Args: `name`. |
| `gas` | $0.001 | Current gas for a chain via public RPC — base fee + suggested priority + max fee (gwei) at the latest block; optional at/below-threshold boolean. Args: `chain`, `below_gwei?`. |
| `token_unlocks` | $0.003 | Next token vesting/unlock event(s) from DefiLlama's public emissions data — date, amount, % of max supply. Cleanly says so when there's no public schedule. Args: `token` (symbol/name/address), `chain?`. |
| `oracle_health` | $0.003 | Chainlink price-feed health — last-update age, latest answer, round monotonicity, stale flag vs heartbeat, optional deviation vs a reference. Args: `feed_address`, `chain`, `heartbeat_seconds?`, `reference?`. |
Every tool also accepts an optional `x_payment` (base64 x402 payload) that is
forwarded as the `X-PAYMENT` header to settle the call and return the real result.
Humans can instead prepay by card and use an `X-FabTally-Key` credit key against
the HTTP API.
## Transports
- **stdio** (portable): `npx fabtally-chain-mcp` (bin: `fabtally-chain-mcp`)
- **streamable-http** (hosted): `https://chain.fabtally.com/mcp`
Config: `FABTALLY_CHAIN_BASE` (default `https://chain.fabtally.com`).
Read-only, keyless, stateless, descriptive market-data/utility reads. Operated by
Sunstone Soft (fabtally.com). **Not financial advice, not a signal, not a
prediction.** The stateful "alert me when …" delivery is a separate product
(the FabTally Alerts Telegram bot).
TDQS
Scored across 4 tools
Each tool targets a completely distinct data domain: ENS registrations, gas fees, token unlocks, and oracle health. There is no overlap in purpose or arguments, so an agent can unambiguously select the right tool.
All tool names are lowercase snake_case and clearly descriptive (ens_expiry, gas, token_unlocks, oracle_health). They are consistent in style, though they are noun phrases rather than a verb_noun pattern, so the naming is predictable but not strictly uniform.
With 4 tools, the server is well-scoped for a focused blockchain data query service. Each tool is distinct and earns its place, and the count falls comfortably within the recommended range.
The tool surface covers a reasonable set of read-only blockchain data queries, but some common endpoints like block details or transaction status are missing. However, the included tools are each self-contained, and the gaps are not likely to cause significant failures for the intended use case.