defi_tvl_protocols

Pack: defillama · Endpoint: https://gateway.pipeworx.io/defillama/mcp

No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/defi_tvl_protocols for the schema, then POST the same URL with its arguments for the data.

Search DeFi protocols by name or category to compare their total value locked. Returns protocol name, TVL amount, blockchain, and category.

Parameters

NameTypeRequiredDescription
searchstringnoFilter protocols by name (case-insensitive substring match)
categorystringnoFilter by category (e.g., “DEXes”, “Lending”, “Bridge”, “CDP”, “Yield”)

Example call

Arguments

{
  "search": "aave"
}

curl

curl -X POST https://gateway.pipeworx.io/defillama/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"defi_tvl_protocols","arguments":{"search":"aave"}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('defi_tvl_protocols', {
  "search": "aave"
});

More examples

{
  "category": "DEXes"
}

Response shape

Always returns: total_matched, showing, protocols

FieldTypeDescription
total_matchedintegerTotal number of protocols matching filters
showingintegerNumber of protocols returned (max 50)
protocolsarray
Full JSON Schema
{
  "type": "object",
  "properties": {
    "total_matched": {
      "type": "integer",
      "description": "Total number of protocols matching filters"
    },
    "showing": {
      "type": "integer",
      "description": "Number of protocols returned (max 50)"
    },
    "protocols": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Protocol name"
          },
          "slug": {
            "type": "string",
            "description": "Protocol slug identifier"
          },
          "tvl": {
            "type": [
              "number",
              "null"
            ],
            "description": "Total value locked in USD"
          },
          "chain": {
            "type": "string",
            "description": "Primary blockchain"
          },
          "chains": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of supported chains"
          },
          "category": {
            "type": "string",
            "description": "Protocol category (DEX, Lending, Bridge, etc.)"
          },
          "symbol": {
            "type": [
              "string",
              "null"
            ],
            "description": "Token symbol if applicable"
          },
          "change_1d_pct": {
            "type": [
              "number",
              "null"
            ],
            "description": "1-day TVL change percentage"
          },
          "change_7d_pct": {
            "type": [
              "number",
              "null"
            ],
            "description": "7-day TVL change percentage"
          }
        },
        "required": [
          "name",
          "slug",
          "tvl",
          "chain",
          "chains",
          "category"
        ]
      }
    }
  },
  "required": [
    "total_matched",
    "showing",
    "protocols"
  ]
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "defillama": {
      "url": "https://gateway.pipeworx.io/defillama/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build September 22, 2026