get_protocols
Retrieve a list of all DeFi protocols with their total value locked (TVL) from DefiLlama to analyze market positions and trends.
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:74-80 (handler)The main handler function for the 'get_protocols' MCP tool. It fetches the list of all protocols and their TVL from the DefiLlama API using the shared make_request utility.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:73-73 (registration)The @mcp.tool() decorator registers the get_protocols function as an available tool in the FastMCP server.@mcp.tool()
- defillama_server.py:30-38 (helper)Shared helper function used by get_protocols (and all 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)}"