Skip to main content
Glama
kukapay

defi-yields-mcp

by kukapay
README.md
# DeFi Yields MCP

An MCP server for AI agents to explore DeFi yield opportunities, powered by DefiLlama.

[![Discord](https://img.shields.io/discord/1353556181251133481?cacheSeconds=3600)](https://discord.gg/aRnuu2eJ)
![GitHub License](https://img.shields.io/github/license/kukapay/defi-yields-mcp)
![Python Version](https://img.shields.io/badge/python-3.10+-blue)
![Status](https://img.shields.io/badge/status-active-brightgreen.svg)

## Features

- **Data Fetching Tool**: The `get_yield_pools` tool retrieves DeFi yield pool data from the DefiLlama, allowing filtering by chain (e.g., Ethereum, Solana) or project (e.g., Lido, Aave).
- **Analysis Prompt**: The `analyze_yields` prompt generates tailored instructions for AI agents to analyze yield pool data, focusing on key metrics like APY, 30-day mean APY, and predictions.
- **Packaged for Ease**: Run the server directly with `uvx defi-yields-mcp`.

## Installation

To use the server with Claude Desktop, you can either install it automatically or manually configure the Claude Desktop configuration file.

### Option 1: Automatic Installation
Install the server for Claude Desktop:
```bash
uvx mcp install -m defi_yields_mcp --name "DeFi Yields Server"
```

### Option 2: Manual Configuration


Locate the configuration file:
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`

Add the server configuration:

```json
{
 "mcpServers": {
   "defi-yields-mcp": {
     "command": "uvx",
     "args": [ "defi-yields-mcp" ]
   }
 }
}
```

Restart Claude Desktop.

## Examples

You can use commands like:

- "Fetch yield pools for the Lido project."
- "Analyze yield pools on Ethereum."
- "What are the 30-day mean APYs for Solana pools?"

The `get_yield_pools` tool fetches and filters the data, while the `analyze_yields` prompt guides the LLM to provide a detailed analysis.

### Example Output

Running the `get_yield_pools` tool with a filter for Ethereum:
```json
[
  {
    "chain": "Ethereum",
    "pool": "STETH",
    "project": "lido",
    "tvlUsd": 14804019222,
    "apy": 2.722,
    "apyMean30d": 3.00669,
    "predictions": {
        "predictedClass": "Stable/Up",
        "predictedProbability": 75,
        "binnedConfidence": 3      
    }
  },
  ...
]
```

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

TDQS

A3.5/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The tool 'get_yield_pools' has a clearly defined singular purpose of fetching DeFi yield pools with optional filters.

Naming Consistency5/5

The single tool name 'get_yield_pools' follows a clear verb_noun pattern that would be consistent if there were more tools. There are no naming inconsistencies to evaluate in a one-tool set.

Tool Count2/5

A single tool is insufficient for comprehensive DeFi yield analysis. While the tool provides basic fetching capabilities, the domain suggests needs for additional operations like historical data, comparisons, or pool-specific details that are missing.

Completeness2/5

The tool surface is severely incomplete for DeFi yield analysis. It only offers data fetching without any CRUD operations, filtering by more parameters like risk or type, or analytical tools for processing the yield data, leaving significant gaps for agent workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues