get_protocols
Retrieve a list of all protocols on DefiLlama along with their Total Value Locked (TVL) for comprehensive DeFi data analysis.
Instructions
GET /api/protocols
List all protocols on defillama along with their tvl.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- defillama_server.py:73-80 (handler)The handler function for the get_protocols tool. It is registered via the @mcp.tool() decorator and fetches the list of all protocols from DefiLlama API, returning the JSON response as a string.@mcp.tool() async def get_protocols() -> str: """GET /api/protocols List all protocols on defillama along with their tvl. """ result = await make_request('GET', '/api/protocols') return str(result)
- defillama_server.py:30-38 (helper)Shared helper function used by get_protocols (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)}"