A Model Context Protocol server for the Lista Lending (Moolah) protocol on BSC, enabling AI agents (e.g. Cursor, Claude, Claude Code, OpenClaw) to query vault data, borrow markets, user positions, staking info, RWA products, rewards, and credit scores.
- Two transport modes:
stdio(default, for Cursor / Claude Desktop) andSSE / Streamable HTTP(for remote / cloud deployments) - Read-only: No private key required — all tools are read-only queries, safe to expose to any AI agent
- MCP tools:
- Lending: Moolah vault list, borrow markets (isolated + Smart LP), CDP markets
- Position: Per-wallet borrow/collateral positions with USD values
- Dashboard: Full wallet overview — deposits, borrows, staking, rewards
- Staking: slisBNB staking APR, yield APY
- RWA: Real World Asset products (US Treasuries, Corporate Bonds)
- Rewards: Claimable bribe, veLista, credit emission, and distributor rewards
- Credit: On-chain credit score and credit system stats
- Oracle Price: Current oracle price for any supported token
- Node.js >= 18
- npm or pnpm
git clone https://github.com/lista-dao/lista-mcp-server.git
cd lista-mcp-server
npm install
npm run build# stdio mode (default — for Cursor, Claude Desktop, Claude Code)
npm start
# SSE / Streamable HTTP mode (for remote deployments)
npm run start:sseCopy .env.example to .env — the default values point to the production API and are ready to use:
cp .env.example .env| Variable | Default | Description |
|---|---|---|
LISTA_API_BASE |
https://api.lista.org |
Lista API base URL. |
PORT |
3001 |
HTTP port (SSE mode only) |
- Build the project (
npm run build). - Open Cursor → Settings → MCP → Add new MCP server.
- Set command to:
node /absolute/path/to/lista-mcp-server/dist/index.js - Use natural language in chat, e.g. "Show me the Lista vault list", "What are my Lista positions for 0x...?".
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"lista": {
"command": "node",
"args": ["/absolute/path/to/lista-mcp-server/dist/index.js"]
}
}
}claude mcp add lista -- node /absolute/path/to/lista-mcp-server/dist/index.jsOr for SSE / Streamable HTTP mode (remote server):
claude mcp add lista --transport sse https://mcp.lista.org/mcpAdd to ~/.openclaw/openclaw.json (or workspace openclaw.json):
{
"mcpServers": {
"lista": {
"transport": "streamable-http",
"url": "https://mcp.lista.org/mcp"
}
}
}| Tool | Description |
|---|---|
lista_get_lending_vaults |
All Moolah lending vaults with APY, deposits, collateral info. Filterable by zone or keyword. |
lista_get_borrow_markets |
Moolah borrow markets (isolated + Smart LP, zone 0/1/3/4) with liquidity, borrow rate, supply APY, and rewards. |
lista_get_cdp_markets |
Lista CDP borrow markets (zone 2) — borrow lisUSD against slisBNB, BTCB, BNB, etc. |
lista_get_position |
Wallet borrow/collateral positions per market with USD values. LTV = loanUsd / collateralUsd. |
lista_get_dashboard |
Full wallet overview: total deposit, total borrow, staking collateral, bribe rewards, credit emission. |
lista_get_staking_info |
slisBNB staking APR, yield APY, and reward APR. No input required. |
lista_get_rwa_products |
All RWA products (US Treasuries, Corporate Bonds) with APY and TVL. |
lista_get_credit_score |
On-chain credit score for a wallet and overall credit system stats. |
lista_get_oracle_price |
Current oracle price for a token by contract address (ERC20, native, or LP token). |
lista-mcp-server/
├── src/
│ ├── index.ts # Entry point — stdio or SSE mode
│ ├── config.ts # Configuration (API base, port)
│ ├── api-client.ts # Lista API HTTP client
│ ├── server/
│ │ ├── base.ts # MCP server setup & tool registration
│ │ ├── stdio.ts # stdio transport
│ │ └── sse.ts # SSE / Streamable HTTP transport
│ ├── tools/
│ │ ├── lending.ts # lista_get_lending_vaults, lista_get_borrow_markets, lista_get_cdp_markets
│ │ ├── position.ts # lista_get_position
│ │ ├── dashboard.ts # lista_get_dashboard
│ │ ├── staking.ts # lista_get_staking_info
│ │ ├── rwa.ts # lista_get_rwa_products
│ │ ├── rewards.ts # lista_get_rewards
│ │ ├── credit.ts # lista_get_credit_score
│ │ └── oracle_price.ts # lista_get_oracle_price
│ └── utils/
│ ├── logger.ts
│ └── validate.ts
├── dist/ # Compiled output
├── package.json
├── tsconfig.json
└── README.md
# Run in dev mode (no build required)
npm run dev
# Run in SSE dev mode
npm run dev:sse
# Inspect with MCP Inspector
npm run inspect- All tools are read-only. No transactions are sent, no private keys are used.
- Ensure the
LISTA_API_BASEenvironment variable points to the correct environment before deployment. - Comply with applicable regulations and Lista platform terms of use.
ISC