get_yield_chart
Retrieve historical APY and TVL data for a specific crypto pool using the pool ID. Access DeFi insights without managing individual API keys via the REI Crypto MCP Server.
Instructions
GET /yields/chart/{pool}
Get historical APY and TVL of a pool.
Parameters:
pool: pool id (can be retrieved from /pools)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pool | Yes |
Implementation Reference
- defillama_server.py:451-461 (handler)The handler function for the 'get_yield_chart' MCP tool. It is registered via the @mcp.tool() decorator and fetches historical APY and TVL data for a specified pool from the DefiLlama API using the shared make_request helper.@mcp.tool() async def get_yield_chart(pool: str) -> str: """GET /yields/chart/{pool} Get historical APY and TVL of a pool. Parameters: pool: pool id (can be retrieved from /pools) """ result = await make_request('GET', f'/yields/chart/{pool}') return str(result)
- defillama_server.py:30-38 (helper)Shared utility function used by the get_yield_chart handler (and other tools) to make HTTP requests to the DefiLlama API.async def make_request(method: str, endpoint: str, params: Optional[Dict[str, Any]] = None) -> Any: """Make a request to the DefiLlama API.""" try: response = await client.request(method, endpoint, params=params) response.raise_for_status() return response.json() except Exception as e: return f"Error: {str(e)}"
- defillama_server.py:22-28 (helper)HTTP client configuration used by make_request for API calls in get_yield_chart.client = httpx.AsyncClient( base_url=BASE_URL, headers={ "accept": "application/json" }, timeout=30.0 )
- defillama_server.py:12-12 (registration)Initialization of the FastMCP server instance where tools like get_yield_chart are registered.mcp = FastMCP("defillama")
- defillama_server.py:443-449 (helper)Related helper tool to retrieve pool IDs needed as input for get_yield_chart.async def get_yield_pools() -> str: """GET /yields/pools Retrieve the latest data for all pools, including enriched information such as predictions. """ result = await make_request('GET', '/yields/pools') return str(result)