cluby-mcp
Provides read-only access to Robinhood Chain protocol data, including markets, positions, pre-trade borrow and multiply quotes, vaults, and protocol facts.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@cluby-mcp Show me the current markets and rates on Cluby."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
The boundary is the point
flowchart LR
A["Agent"] <-->|stdio| M["cluby-mcp<br/><i>reads only</i>"]
M -->|"eth_call"| C["Robinhood Chain"]
M -.->|"history only, optional"| I["Indexer"]
A -->|"transaction"| W["User's wallet"]
W --> C
style M fill:#03926B,color:#fff
style W fill:#8a6d1f,color:#fffIt reads. It does not sign anything and holds no key. An agent that wants to act gets the numbers here and the transaction from a wallet its user controls.
That boundary is what lets this be run against a live protocol without anyone having to trust it.
Everything about the present comes from the chain. Only history and past liquidations need the indexer, which is optional.
Related MCP server: voidly-agent-wallet-mcp
Tools
Tool | Answers |
| Every market, with price, rates, and whether it actually exists on chain |
| One market in detail — oracle, LLTV, caps, utilisation, liquidity |
| A borrower's collateral, debt, health factor and liquidation price |
| What a borrow would do, and whether it exceeds the cap the app enforces |
| Exposure, debt, LTV, health factor and liquidation price of a leveraged position |
| The Earn side, with fee and timelock |
| Addresses, fee split, LLTV tiers, how to take a free flash loan |
The quotes are the same arithmetic the interface signs against, not a second implementation that
can drift from it. Both import @cluby/sdk.
Run it
pnpm install
CLUBY_RPC_URL=<rpc> pnpm startPoint a client at it:
{
"mcpServers": {
"cluby": {
"command": "node",
"args": ["--experimental-strip-types", "/path/to/cluby-mcp/src/index.ts"],
"env": { "CLUBY_RPC_URL": "https://rpc.mainnet.chain.robinhood.com" }
}
}
}The public RPC is enough for everything except history.
What a quote_multiply actually returns
Not a marketing number. The leverage a market can fund is bounded by exit liquidity as well as by the tier, and the smaller bound wins:
$$\text{max multiple} = \min\left(\frac{1}{1 - \text{LLTV}},\ 1 + \frac{\text{liquidity}{USD}}{\text{collateral value}{USD}}\right)$$
An agent asking for 3× on a long-tail market gets told the market cannot fund it, and why — rather than a quote that reverts when it is signed.
bigint values are serialised as strings, so a client never silently loses precision on a wei
amount.
Layout
src/index.ts tool definitions and the stdio server
src/markets.ts describeMarket, describePosition, quoteBorrow, quoteMultiply, protocolFacts
src/chain.ts the RPC client and the optional indexer fetch
vendor/ @cluby/config, @cluby/abi, @cluby/sdkPart of Cluby
Repository | What it holds |
cluby-mcp | ← you are here |
The arithmetic behind every quote | |
The on-chain contract the reads go through | |
Where the prices come from |
Available Tools
9 toolsget_marketB
One market in detail, by key (NVDA, SPY, ETH, NVDA-SHORT …).
Inputs: key (required).
get_positionB
A borrower's position in one market: collateral, debt, health factor and the price at which it is liquidated.
Inputs: market (required), address (required).
list_marketsA
Every Cluby market: collateral, loan asset, liquidation LTV, live price, rates and whether it exists on chain yet.
Inputs: side.
list_vaultsA
The Earn side: vaults, what they hold, their fee and timelock.
Inputs: no named parameters.
market_historyB
Supply, borrow, utilization and price over time for one market. Requires CLUBY_INDEXER_URL.
Inputs: market (required), sinceUnix.
protocol_factsB
Addresses, fee split, LLTV tiers and how to take a free Morpho flash loan.
Inputs: no named parameters.
quote_borrowB
What a borrow would do before it is signed: health factor, liquidation price, and whether it exceeds the cap the app enforces.
Inputs: market (required), borrowAmount (required), collateralAmount (required).
quote_multiplyA
A leveraged position before it is opened: exposure, debt, resulting LTV, health factor and liquidation price.
Inputs: market (required), leverage (required), equityUsd (required).
recent_liquidationsA
Liquidations the indexer has seen. Requires CLUBY_INDEXER_URL; returns an empty list without it.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Most tools target distinct resources or actions: markets, positions, vaults, liquidations, and quotes. The main ambiguity is between quote_multiply and quote_borrow, since both preview health factor and liquidation price, though their use cases differ.
The set mixes verb-prefixed names like list_markets, get_market, and quote_borrow with bare noun phrases like protocol_facts, recent_liquidations, and market_history. Names are readable and descriptive, but the pattern is inconsistent.
Nine tools is well-scoped for a Cluby analytics and quoting server. Each tool covers a meaningful slice of the domain without excessive redundancy or unnecessary surface area.
The surface covers market discovery, position details, borrow/multiply quotes, vaults, liquidations, and historical data. Minor gaps like a vault detail view or a list-positions operation exist, but core workflows are supported.
Related MCP Connectors
Read-only market data: tokens, stocks, Hyperliquid perps, Polymarket, and public trader books.
Read-only prediction-market data across Kalshi, Polymarket, Limitless: venues, fees, lookups, stats.
Historical tick, order book and settlement data for Polymarket and Predict.fun crypto up/down markets, plus smart-money lists and backtest quotes, over a read-only MCP server.
Polymarket in your AI: market rules, real fill costs, who is trading, top traders. Read-only.
Related MCP Servers
AlicenseAqualityBmaintenanceProvides read-only access to CWI's trust infrastructure, enabling Gear Ledger provenance queries, agent trust scoring via the Verdict Engine, and NEEDLE DROP ledger hash-chain verification over stdio.7MIT
voidly-agent-wallet-mcpofficial
AlicenseAqualityBmaintenanceEnables agents to hold a local Base USDC wallet, receive funds, make bounded x402 payments, prepare seller registration, and recover Voidpay Marketplace results over stdio.13155 npmApache 2.0- AlicenseNot gradedqualityCmaintenanceEnables local AI clients such as Claude Code and Cursor to search, analyze, and monitor prediction-market data, and, once live mode is explicitly switched on, sign and submit CLOB orders from the operator's own wallet. It runs in a safe preview mode by default, writing simulated trades to local SQLite instead of sending orders.197 npm3MIT

Agent Wallet Gatewayofficial
AlicenseNot gradedqualityCmaintenanceEnables compatible AI clients to connect to a local Coinbase Agentic Wallet through stdio MCP, so they can read wallet status, public address, Base USDC balance, and saved operations without signing, transferring, trading, or making payments.MIT