Prepare the server locally
Run this once before adding it to Claude Code.
git clone https://github.com/PaulieB14/graph-lending-mcp.git
cd graph-lending-mcp
npm install
npx tscRegister it in Claude Code
claude mcp add -e "GRAPH_API_KEY=${GRAPH_API_KEY}" graph-lending -- node /path/to/graph-lending-mcp/dist/index.jsReplace any placeholder paths in the command with the real path on your machine.
GRAPH_API_KEYMake your agent remember this setup
graph-lending's config, env vars, and the gotchas you hit — recalled in every future Claude Code, Cursor, and Codex session.
npx conare@latestFree · one command · indexes the sessions already on disk. Set up in the browser instead →
What it does
- Access to 19 MCP tools for protocol, market, and position analytics
- Support for 40+ lending protocols across multiple EVM chains
- Cross-protocol comparison of TVL, revenue, and user metrics
- Automatic schema-version awareness for v1.x, v2.x, and v3.x subgraphs
- Graceful failure handling for dead or unresponsive subgraphs
Tools 19
list_protocolsList all registered protocols with live TVL dataget_protocolDetailed protocol stats (TVL, revenue, users, pool counts)get_marketsList markets for a protocol, sorted by any fieldget_marketDetailed single market data including rates, caps, and positionsget_interest_ratesInterest rates across all markets, with optional side/type filtersget_accountAccount overview with position counts and activityget_positionsOpen positions for an address, with optional side filterget_depositsRecent deposit events, filterable by market and accountget_borrowsRecent borrow eventsget_repaysRecent repay eventsget_withdrawalsRecent withdrawal eventsget_liquidationsRecent liquidation events with profit dataget_flashloansRecent flashloan eventsget_daily_financialsDaily financial snapshots (TVL, volume, revenue)get_market_snapshotsDaily market-level snapshots with rates and activityget_usage_metricsDaily user activity and transaction countscompare_protocolsSide-by-side comparison of multiple protocolstop_markets_by_tvlTop markets across all protocols, optionally filtered by networkquery_subgraphRaw GraphQL escape hatch for any registered subgraphEnvironment Variables
GRAPH_API_KEYrequiredAPI key from The Graph StudioTry it
Original README from PaulieB14/graph-lending-mcp
graph-lending-mcp
<a href="https://glama.ai/mcp/servers/@PaulieB14/graph-lending-mcp"> </a>MCP server that exposes unified AI-friendly tools over Messari's standardized lending subgraphs on The Graph.
One natural-language query → fan out across 40+ lending protocols on multiple chains → get back structured, comparable data.
Features
- 19 MCP tools covering protocols, markets, rates, positions, events, snapshots, and cross-protocol analytics
- 40+ lending protocols across Ethereum, Polygon, Arbitrum, Avalanche, BSC, Optimism, Base, and more
- Cross-protocol comparison — compare TVL, revenue, users across any set of protocols in one call
- Graceful failure handling — dead subgraphs don't crash queries; failures are reported alongside successes
- Schema-version aware — automatically selects compatible queries for v1.x, v2.x, and v3.x subgraphs
Tools
| Tool | Description |
|---|---|
list_protocols |
List all registered protocols with live TVL data |
get_protocol |
Detailed protocol stats (TVL, revenue, users, pool counts) |
get_markets |
List markets for a protocol, sorted by any field |
get_market |
Detailed single market data including rates, caps, and positions |
get_interest_rates |
Interest rates across all markets, with optional side/type filters |
get_account |
Account overview with position counts and activity |
get_positions |
Open positions for an address, with optional side filter |
get_deposits |
Recent deposit events, filterable by market and account |
get_borrows |
Recent borrow events |
get_repays |
Recent repay events |
get_withdrawals |
Recent withdrawal events |
get_liquidations |
Recent liquidation events with profit data |
get_flashloans |
Recent flashloan events |
get_daily_financials |
Daily financial snapshots (TVL, volume, revenue) |
get_market_snapshots |
Daily market-level snapshots with rates and activity |
get_usage_metrics |
Daily user activity and transaction counts |
compare_protocols |
Side-by-side comparison of multiple protocols |
top_markets_by_tvl |
Top markets across all protocols, optionally filtered by network |
query_subgraph |
Raw GraphQL escape hatch for any registered subgraph |
Setup
Prerequisites
- Node.js 18+
- A Graph API key from The Graph Studio
Install & Build
git clone https://github.com/PaulieB14/graph-lending-mcp.git
cd graph-lending-mcp
npm install
npx tsc
Configure in Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"graph-lending": {
"command": "node",
"args": ["/path/to/graph-lending-mcp/dist/index.js"],
"env": {
"GRAPH_API_KEY": "your-api-key-here"
}
}
}
}
Architecture
src/
├── index.ts # MCP server entry — registers all 19 tools
├── registry.ts # Protocol → subgraph ID mapping (see SUBGRAPHS.md)
├── client.ts # GraphQL fetch with retry, timeout, fan-out
├── queries.ts # All GraphQL query constants
└── tools/
├── protocol.ts # list_protocols, get_protocol
├── markets.ts # get_markets, get_market
├── rates.ts # get_interest_rates
├── positions.ts # get_account, get_positions
├── events.ts # deposits, borrows, repays, withdrawals, liquidations, flashloans
├── snapshots.ts # daily_financials, market_snapshots, usage_metrics
└── cross.ts # compare_protocols, top_markets_by_tvl
All queries use Messari's standardized lending schema — same entities and fields across every protocol.
Subgraph Registry
See SUBGRAPHS.md for the full list of registered subgraphs with their status, network, schema version, and notes.
License
MIT