Skip to main content
Glama
zarelli1

MCP DeFiLlama Airdrops

by zarelli1

MCP DeFiLlama Airdrops

Um servidor MCP (Model Context Protocol) para extrair dados de airdrops do DeFiLlama.

🚀 Funcionalidades

  • Scraping automático de airdrops do DeFiLlama

  • Cache inteligente (5 minutos) para otimizar performance

  • Filtros avançados por status, chain, valor mínimo

  • Ranking dos melhores airdrops por critérios configuráveis

  • Dados estruturados em formato JSON

  • Fallback de dados para garantir funcionamento

Related MCP server: Find Flights MCP Server

🛠️ Ferramentas Disponíveis

get_airdrops

Busca todos os airdrops disponíveis.

Parâmetros:

  • forceRefresh (boolean): Forçar atualização ignorando cache

  • onlyActive (boolean): Retornar apenas airdrops ativos

  • chain (string): Filtrar por blockchain específica

filter_airdrops

Filtra airdrops por critérios específicos.

Parâmetros:

  • minValue (number): Valor mínimo estimado

  • status (string): Status do airdrop

  • chain (string): Blockchain

  • searchTerm (string): Buscar no nome/descrição

get_best_airdrops

Obtém os melhores airdrops rankeados.

Parâmetros:

  • limit (number): Máximo de resultados (padrão: 10)

  • sortBy (string): Critério de ordenação (value, deadline, name)

debug_scraper

Debug e teste do scraper.

📊 Formato dos Dados

{
  "name": "LayerZero",
  "value": "$1000-5000", 
  "status": "Active",
  "chain": "ETH",
  "deadline": "2024-12-31",
  "url": "https://...",
  "lastUpdated": "2024-01-01T00:00:00.000Z"
}

🔧 Instalação e Uso

# Instalar dependências
npm install

# Compilar
npm run build

# Executar servidor MCP
npm start

# Ou modo desenvolvimento
npm run dev

🧪 Teste

# Testar scraper
npx tsx test-scraper.ts

🔗 Integração com N8N

  1. Configure o MCP como servidor HTTP

  2. Use nó HTTP Request no N8N

  3. Endpoint: http://localhost:3000/tools/get_best_airdrops

  4. Configure filtros conforme necessário

📱 Exemplo de Fluxo N8N → WhatsApp

[MCP] → [Filtrar Top 5] → [Formatar Mensagem] → [Evolution API] → [WhatsApp]

⚠️ Limitações

  • Site protegido por Cloudflare (usa dados de fallback)

  • Cache de 5 minutos para performance

  • Dados dependem da estrutura do site DeFiLlama

🤝 Contribuição

  1. Fork o projeto

  2. Crie branch para feature

  3. Commit suas mudanças

  4. Push para branch

  5. Abra Pull Request

📄 Licença

MIT License - veja arquivo LICENSE para detalhes.

Available Tools

4 tools
debug_scraperC

Debugar o scraper para verificar se está funcionando corretamente

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions debugging to verify correct functioning, which implies a read-only or diagnostic operation, but doesn't specify if it's safe, destructive, requires authentication, or has rate limits. The description is too vague to fully inform the agent about behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states the purpose clearly. It's appropriately sized for a tool with no parameters, with no wasted words. However, it could be more front-loaded with additional context, but it's concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters, no annotations, and no output schema, the description is minimally adequate. It explains what the tool does (debugging a scraper), but lacks details on behavior, output, or integration with sibling tools. For a diagnostic tool with low complexity, it's complete enough but has clear gaps in guidance and transparency.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description doesn't add parameter semantics beyond the schema, but with no parameters, a baseline score of 4 is appropriate as it doesn't need to compensate for gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool's purpose as debugging a scraper to verify its correct functioning, which is clear but vague. It uses a specific verb ('debug') and resource ('scraper'), but doesn't differentiate from sibling tools (which are about airdrops, not scraping). The description is not tautological but lacks specificity about what 'debugging' entails.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description implies usage for verifying scraper functionality, but it doesn't specify context, prerequisites, or exclusions. Without sibling tools related to scraping, there's no explicit comparison or when-not-to-use advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

filter_airdropsC

Filtrar airdrops por critérios específicos

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoFiltrar por blockchain
minValueNoValor mínimo estimado do airdrop
searchTermNoBuscar por termo no nome ou descrição
statusNoStatus do airdrop (Active, Ended, TBD, etc.)

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure but offers minimal information. It doesn't indicate whether this is a read-only operation, what permissions might be required, whether results are paginated, or what format the output takes. For a filtering tool with zero annotation coverage, this represents a significant gap in behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise - a single Portuguese phrase that directly states the tool's function. There's zero wasted language or unnecessary elaboration. While it may be too brief for optimal utility, it represents perfect conciseness from a structural perspective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that there's no output schema and no annotations, the description is insufficiently complete. A filtering tool with four parameters and no behavioral context needs more information about what the tool returns, how results are structured, and any limitations or constraints. The minimal description doesn't compensate for the lack of structured metadata.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with all four parameters clearly documented in the schema itself. The tool description adds no additional parameter information beyond what's already in the schema descriptions. According to scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Filtrar airdrops por critérios específicos' clearly states the tool's purpose as filtering airdrops by specific criteria, which is a specific verb+resource combination. However, it doesn't distinguish this tool from its sibling 'get_airdrops' or 'get_best_airdrops' - both of which likely also retrieve airdrops, making the differentiation unclear. The description avoids tautology but lacks sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There's no mention of when this filtering tool should be preferred over 'get_airdrops' or 'get_best_airdrops', nor any context about prerequisites or typical use cases. The agent receives no usage differentiation between these similar-sounding tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_airdropsB

Buscar todos os airdrops disponíveis no DeFiLlama

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoFiltrar por blockchain específica
forceRefreshNoForçar atualização dos dados (ignorar cache)
onlyActiveNoRetornar apenas airdrops ativos

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions searching airdrops on DeFiLlama but doesn't describe return format, pagination, rate limits, authentication needs, or what 'disponíveis' (available) entails operationally. This leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence in Portuguese that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded with the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is minimally adequate for a read operation but lacks details on return values, error handling, or behavioral constraints. It covers the basic purpose but doesn't fully compensate for the missing structured data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema, meeting the baseline for high coverage but not providing extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Buscar' meaning 'Search') and resource ('todos os airdrops disponíveis no DeFiLlama'), providing specific verb+resource. However, it doesn't explicitly differentiate from sibling tools like 'filter_airdrops' or 'get_best_airdrops', which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'filter_airdrops' or 'get_best_airdrops'. There's no mention of prerequisites, context, or exclusions, leaving the agent without usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_best_airdropsC

Obter os melhores airdrops baseado em critérios de valor e facilidade

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNúmero máximo de airdrops para retornar
sortByNoCritério de ordenaçãovalue

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions criteria ('valor e facilidade') but doesn't disclose behavioral traits like data source, freshness, rate limits, or error handling. This is inadequate for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence in Portuguese that states the purpose and criteria. It's appropriately sized and front-loaded, though it could be slightly more structured by separating purpose from criteria.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a tool that likely returns a list of airdrops, the description is incomplete. It doesn't explain return values, data format, or provide enough context for an agent to understand the tool's behavior fully.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters ('limit' and 'sortBy') with details. The description adds no additional meaning beyond what the schema provides, such as explaining 'valor' or 'facilidade' criteria, resulting in the baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the purpose ('Obter os melhores airdrops') with criteria ('baseado em critérios de valor e facilidade'), which is clear but somewhat vague. It distinguishes from sibling 'get_airdrops' by implying a 'best' selection, but doesn't explicitly differentiate from 'filter_airdrops'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like 'get_airdrops' or 'filter_airdrops'. The description implies it's for getting 'best' airdrops, but doesn't specify scenarios or exclusions, leaving usage ambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 4 tool updatesv1.0.0
    • First observeddebug_scraper
    • First observedfilter_airdrops
    • First observedget_airdrops
    • First observedget_best_airdrops

TDQS

B3/5.0
Disambiguation4/5

The tools are mostly distinct: get_airdrops retrieves all airdrops, get_best_airdrops filters for top ones, and filter_airdrops allows custom filtering. However, get_best_airdrops and filter_airdrops could be confused since both involve filtering, though their descriptions clarify one is preset criteria and the other is user-defined.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case: debug_scraper, filter_airdrops, get_airdrops, and get_best_airdrops. The verbs (debug, filter, get) are clear and appropriately matched to their actions.

Tool Count3/5

With 4 tools, the count is borderline thin for a DeFiLlama airdrops server, as it might lack operations like detailed airdrop info, subscription, or status updates. However, it covers core retrieval and filtering functions adequately.

Completeness3/5

The server provides basic read and filter operations but has notable gaps: no create, update, or delete tools for managing airdrops, and no tools for user actions like claiming or tracking airdrops. It focuses on retrieval and filtering, which may limit agent workflows.

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    Provides real-time and historical cryptocurrency market data through integration with major exchanges. This server enables LLMs like Claude to fetch current prices, analyze market trends, and access detailed trading information.
    7
    62
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    Enables searching and retrieving detailed flight information using the Duffel API, supporting various flight types and flexible search parameters for efficient travel planning.
    3
    222
    MIT
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables interaction with the Artemis API to retrieve and analyze cryptocurrency data, including accessing metrics, generating formulas, and validating API connections.
    2
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zarelli1/mcp-defillama-airdrops'

If you have feedback or need assistance with the MCP directory API, please join our Discord server