NEAR DeFi Dashboard
# MCP Server: NEAR DeFi Dashboard
An MCP (Model Context Protocol) server that provides Claude with real-time NEAR DeFi data, enabling intelligent yield recommendations, portfolio analysis, and swap routing.
## Features
- **DeFi Yields**: Real-time APY data from Ref Finance, Burrow, Meta Pool, and Linear Protocol
- **Staking Comparison**: Compare native staking vs liquid staking vs DeFi yields
- **Swap Routing**: Find optimal token swap routes on Ref Finance
- **Lending Rates**: Current supply/borrow rates on Burrow
- **IL Calculator**: Impermanent loss calculator for LP positions
## Installation
```bash
npm install @near-mcp/defi-dashboard
```
Or run directly:
```bash
npx @near-mcp/defi-dashboard
```
## Claude Desktop Configuration
Add to your Claude Desktop config:
```json
{
"mcpServers": {
"near-defi": {
"command": "npx",
"args": ["@near-mcp/defi-dashboard"]
}
}
}
```
## Available Tools
### 1. `get_defi_yields`
Get current APY across all major NEAR DeFi protocols.
**Example Conversation:**
```
User: What are the best yields on NEAR right now?
Claude: [uses get_defi_yields]
Here are the top yields on NEAR DeFi:
1. Ref Finance NEAR-USDC LP: 25% APY ($2.5M TVL) - Medium risk
2. Meta Pool stNEAR: 9.5% APY ($15M TVL) - Low risk
3. Linear LiNEAR: 9.2% APY ($12M TVL) - Low risk
4. Burrow Supply USDT: 5.2% APY - Low risk
```
**Input:**
```json
{
"min_apy": 5,
"max_risk": "medium",
"type": "all"
}
```
### 2. `compare_staking_options`
Compare different ways to earn yield on NEAR.
**Example Conversation:**
```
User: I have 1000 NEAR, what should I do with it?
Claude: [uses compare_staking_options with amount="1000"]
Here's a comparison for your 1000 NEAR over 1 year:
| Option | APY | Return | Risk |
|--------|-----|--------|------|
| Native Staking | 9.8% | 98 NEAR | Low |
| stNEAR | 9.5% | 95 NEAR | Low |
| LP (NEAR-USDC) | 25% | 250 NEAR | Medium |
Recommendation: For 1000+ NEAR, consider splitting: 50% native, 30% liquid, 20% DeFi.
```
### 3. `find_best_swap_route`
Find optimal swap routes on Ref Finance.
**Example:**
```json
{
"from_token": "wrap.near",
"to_token": "usdt.tether-token.near",
"amount": "100"
}
```
**Output:**
```json
{
"route": "wrap.near → usdt.tether-token.near",
"expected_output": "450.123456",
"price_impact": "0.10%",
"fees": "0.3%"
}
```
### 4. `get_lending_rates`
Get Burrow lending protocol rates.
**Example Conversation:**
```
User: What are the lending rates on Burrow?
Claude: [uses get_lending_rates]
Current Burrow rates:
- NEAR: 3.5% supply / 8.2% borrow (45% utilized)
- USDT: 5.2% supply / 12.1% borrow (62% utilized)
- USDC: 4.8% supply / 11.5% borrow (58% utilized)
```
### 5. `calculate_impermanent_loss`
Calculate IL for LP positions.
**Example:**
```json
{
"token_a": "NEAR",
"token_b": "USDC",
"price_change_pct": 50,
"initial_value_usd": 1000
}
```
**Output:**
```json
{
"impermanent_loss": "2.02%",
"value_if_held": "$750.00",
"value_as_lp": "$734.85",
"loss_vs_holding": "$15.15"
}
```
## Data Sources
- **Ref Finance**: DEX pools, liquidity, swap rates
- **Burrow**: Lending/borrowing rates
- **Meta Pool**: stNEAR staking stats
- **Linear Protocol**: LiNEAR staking stats
## Caching
Data is cached for 5 minutes to avoid rate limiting. The cache automatically refreshes on expiry.
## Development
```bash
npm install
npm run build
npm start
```
## License
MIT
TDQS
Scored across 5 tools
Each tool targets a distinct DeFi operation (yields, staking comparison, swaps, lending rates, IL). However, get_defi_yields and get_lending_rates both return yield-type information, which could cause minor confusion.
The naming follows a consistent get_/compare_/find_/calculate_ verb pattern, mostly noun_phrases with clear intent. The slight mix of 'get' vs 'compare/find/calculate' is minor and still predictable.
5 tools is well-scoped for a NEAR DeFi dashboard covering yields, staking, swaps, lending, and LP risk. No redundant tools and the count feels right for the purpose.
The tools cover key DeFi decision-making areas, but lack obvious operations like portfolio tracking, historical yields, or transaction execution. Some overlap exists between yields and lending rates, but the core dashboard needs are mostly addressed.