Skip to content

lista-dao/lista-mcp-server

Repository files navigation

Lista MCP Server

GitHub

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.

Features

  • Two transport modes: stdio (default, for Cursor / Claude Desktop) and SSE / 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

Installation

Prerequisites

  • Node.js >= 18
  • npm or pnpm

Install

git clone https://github.com/lista-dao/lista-mcp-server.git
cd lista-mcp-server
npm install
npm run build

Quick Start

# stdio mode (default — for Cursor, Claude Desktop, Claude Code)
npm start

# SSE / Streamable HTTP mode (for remote deployments)
npm run start:sse

Environment variables

Copy .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)

Using with Cursor

  1. Build the project (npm run build).
  2. Open Cursor → Settings → MCP → Add new MCP server.
  3. Set command to:
    node /absolute/path/to/lista-mcp-server/dist/index.js
    
  4. Use natural language in chat, e.g. "Show me the Lista vault list", "What are my Lista positions for 0x...?".

Using with Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "lista": {
      "command": "node",
      "args": ["/absolute/path/to/lista-mcp-server/dist/index.js"]
    }
  }
}

Using with Claude Code

claude mcp add lista -- node /absolute/path/to/lista-mcp-server/dist/index.js

Or for SSE / Streamable HTTP mode (remote server):

claude mcp add lista --transport sse https://mcp.lista.org/mcp

Using with OpenClaw

Add to ~/.openclaw/openclaw.json (or workspace openclaw.json):

{
  "mcpServers": {
    "lista": {
      "transport": "streamable-http",
      "url": "https://mcp.lista.org/mcp"
    }
  }
}

Tool List

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).

Project Structure

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

Development

# 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

Risk and Compliance

  • All tools are read-only. No transactions are sent, no private keys are used.
  • Ensure the LISTA_API_BASE environment variable points to the correct environment before deployment.
  • Comply with applicable regulations and Lista platform terms of use.

License

ISC

About

lista-mcp-server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors