Skip to main content
Glama
droyd-ai
by droyd-ai

DROYD MCP Server

A Model Context Protocol (MCP) server for the DROYD AI trading agent API. This server enables Claude Desktop, Claude Code, and other MCP clients to interact with DROYD's crypto research, project discovery, and trading capabilities.

Features

  • Agent Chat - Multi-turn conversations with DROYD AI agents (research, trading, data)

  • Content Search - Search DROYD's knowledge base for crypto news, posts, tweets, and more

  • Project Discovery - Find projects by name, symbol, address, or semantic concepts

  • Market Screening - Filter projects using market criteria or natural language

  • Watchlists - Access personal and swarm watchlists with agent evaluations

  • Trading - Open positions with flexible leg configurations (stops, takes, etc.)

  • Position Management - Manage trades and view P&L

Related MCP server: freqtrade-mcp-server

Installation

npx @droyd/mcp-server

Option 2: Clone Repository

git clone https://github.com/droyd/mcp-server.git
cd mcp-server
npm install
npm run build

Configuration

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "droyd": {
      "command": "npx",
      "args": ["-y", "@droyd/mcp-server"],
      "env": {
        "DROYD_API_KEY": "your-api-key"
      }
    }
  }
}

Claude Code

Add to your MCP settings:

{
  "mcpServers": {
    "droyd": {
      "command": "npx",
      "args": ["-y", "@droyd/mcp-server"],
      "env": {
        "DROYD_API_KEY": "your-api-key"
      }
    }
  }
}

Local Development

{
  "mcpServers": {
    "droyd": {
      "command": "node",
      "args": ["/path/to/droyd-mcp-server/dist/index.js"],
      "env": {
        "DROYD_API_KEY": "your-api-key"
      }
    }
  }
}

Environment Variables

Variable

Required

Description

DROYD_API_KEY

Yes

Your DROYD API key

DROYD_BASE_URL

No

Override API base URL (default: https://api.droyd.ai)

Available Tools

Agent

Tool

Description

droyd_chat

Chat with a DROYD AI agent (research, trading, data). Supports multi-turn conversations.

Tool

Description

droyd_search_content

Search the knowledge base for posts, news, tweets, YouTube, developments

Projects

Tool

Description

droyd_search_projects

Find projects by name, symbol, address, or semantic query

droyd_filter_projects

Screen projects using market filters or natural language

droyd_get_watchlist

Get personal/swarm watchlists with agent evaluations

Trading

Tool

Description

droyd_open_trade

Open positions with flexible leg configurations

droyd_manage_trade

Close, buy, sell, or update existing positions

droyd_get_positions

View active positions, wallet holdings, and P&L

Development

# Install dependencies
npm install

# Build
npm run build

# Run in development mode
npm run dev

# Type check
npm run typecheck

# Lint
npm run lint

API Reference

For detailed API documentation, see DROYD API Docs.

Rate Limits

  • 10 requests per 15 minutes per endpoint

  • HTTP 429 returned when limit exceeded

License

MIT

Available Tools

8 tools
droyd_chatA

Chat with a DROYD AI agent. Supports multi-turn conversations.

Agent Types:

  • research - Deep research on crypto projects, trends, and market analysis

  • trading - Trading signals, momentum analysis, entry/exit recommendations

  • data - Market data queries, on-chain metrics, project statistics

  • chat - General conversational assistant

  • agent - Full capabilities with all tools

Multi-turn Conversations: Include the conversation_uuid from a previous response to continue the conversation.

Examples:

  • Start new chat: { "message": "What are the top DeFi trends?" }

  • Continue conversation: { "message": "Tell me more about the first one", "conversation_uuid": "abc-123" }

  • Trading analysis: { "message": "Analyze SOL momentum", "agent_type": "trading" }

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesMessage to send to the agent (max 10,000 chars)
agent_typeNoType of agent: research, trading, data, chat, or agenttrading
conversation_uuidNoUUID to continue an existing conversation
attached_contentNoAdditional context to attach (max 50,000 chars)

TDQS

A3.8/5.0
Behavior3/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. It adds useful context about multi-turn conversations and agent capabilities but lacks details on permissions, rate limits, or response formats. It does not contradict annotations, but for a chat tool with no annotations, more behavioral traits could be described.

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 appropriately sized and front-loaded with the core purpose, followed by structured sections (Agent Types, Multi-turn Conversations, Examples). Most sentences earn their place, though some details (like the 'attached_content' parameter) are not explicitly covered in the description, slightly reducing efficiency.

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's complexity (multi-turn chat with multiple agent types) and no output schema, the description is moderately complete. It covers usage scenarios and parameters but lacks information on response behavior, error handling, or integration with sibling tools. With no annotations and no output schema, it should do more to be fully comprehensive.

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 parameters thoroughly. The description adds minimal value beyond the schema by briefly mentioning parameters in examples (e.g., 'message', 'conversation_uuid', 'agent_type') but does not provide additional syntax or format details. Baseline 3 is appropriate as the schema does the heavy lifting.

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

Purpose5/5

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

The description clearly states the tool's purpose as 'Chat with a DROYD AI agent' and specifies it 'Supports multi-turn conversations,' which distinguishes it from sibling tools focused on filtering, getting positions, managing trades, or searching. It provides a specific verb ('Chat') and resource ('DROYD AI agent') with explicit scope.

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

Usage Guidelines4/5

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

The description offers clear context for when to use this tool by detailing agent types (e.g., 'research' for crypto analysis, 'trading' for signals) and multi-turn conversation handling. However, it does not explicitly state when not to use it or name alternatives among sibling tools, such as when to use droyd_search_content instead for specific queries.

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

droyd_filter_projectsA

Filter and screen crypto projects using market criteria.

Filter Modes:

  • natural_language - Describe what you want (e.g., "trending micro-cap Solana tokens")

  • direct - Use specific filter parameters

Sort Options: market_cap, price_change, traders, traders_change, volume, volume_change, buy_volume_ratio, quant_score, quant_score_change, mentions_24h, mentions_7d

Chains: solana, ethereum, base, arbitrum

Note: Market cap values are in MILLIONS (e.g., max_market_cap: 10 = $10M)

Examples:

  • Natural language: { "filter_mode": "natural_language", "instructions": "Find trending micro-cap Solana tokens with high trader growth" }

  • Direct filters: { "filter_mode": "direct", "sort_by": "traders_change", "tradable_chains": ["solana"], "max_market_cap": 10, "min_liquidity": 50000 }

  • Oversold tokens: { "filter_mode": "direct", "sort_by": "quant_score", "sort_direction": "asc", "max_rsi": 30 }

ParametersJSON Schema
NameRequiredDescriptionDefault
filter_modeYesFilter mode
instructionsNoNatural language instructions (min 10 chars)
sort_byNoSort field
sort_directionNoSort direction
timeframeNoTimeframe for metrics
tradable_chainsNoFilter by chains (solana, ethereum, base, arbitrum)
min_market_capNoMin market cap in MILLIONS
max_market_capNoMax market cap in MILLIONS
min_price_changeNoMin price change %
max_price_changeNoMax price change %
min_liquidityNoMin liquidity in USD
min_volumeNoMin volume in USD
min_trader_countNoMin unique traders
min_trader_changeNoMin trader change %
min_technical_scoreNoMin quant score (-100 to 100)
max_technical_scoreNoMax quant score
min_rsiNoMin RSI (0-100)
max_rsiNoMax RSI
limitNoResults (1-50)
pageNoPage number (0-based)
include_attributesNoAdditional data to include

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does well by explaining key behavioral aspects: it clarifies that market cap values are in millions, lists available chains and sort options, and provides concrete examples. However, it doesn't mention rate limits, authentication requirements, or what happens when no results match.

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 perfectly structured with clear sections (Filter Modes, Sort Options, Chains, Note, Examples), uses bold formatting effectively, and every sentence earns its place by providing essential information without redundancy.

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

Completeness4/5

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

For a complex tool with 21 parameters and no output schema, the description does an excellent job providing context through examples, unit explanations, and available options. The only gap is the lack of information about return format or what happens when filters yield no results.

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 parameters thoroughly. The description adds some value by explaining the million-unit convention for market cap and providing examples that illustrate parameter combinations, but doesn't add significant semantic meaning beyond what's in the schema.

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

Purpose5/5

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

The description clearly states the tool's purpose with specific verbs ('Filter and screen') and resources ('crypto projects using market criteria'), distinguishing it from siblings like droyd_search_projects by emphasizing market-based filtering rather than general search.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use each filter mode (natural_language vs. direct), includes detailed examples for different scenarios, and lists available sort options and chains, giving comprehensive usage context without needing to reference alternatives.

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

droyd_get_positionsA

Retrieve active trading positions and wallet holdings.

Returns:

  • All active strategies with their legs (stop losses, take profits, etc.)

  • Executed swaps history

  • P&L summary (realized, unrealized, total)

  • Wallet holdings with current values

  • Overall portfolio summary

Use leg_status="all" to include executed/completed legs in the response.

Examples:

  • Active only: { "leg_status": "active" }

  • Include history: { "leg_status": "all" }

ParametersJSON Schema
NameRequiredDescriptionDefault
leg_statusNoFilter: "active" for pending legs only, "all" to include executedactive

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It effectively discloses behavioral traits: it's a read operation (implied by 'retrieve'), returns comprehensive data including strategies, swaps, P&L, and wallet info, and explains the impact of the leg_status parameter on response content. It doesn't mention rate limits or authentication needs, but covers core behavior well.

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 well-structured and front-loaded: the first sentence states the purpose, followed by a bulleted list of returns, then usage notes and examples. Every sentence earns its place by adding clarity or practical guidance, with no wasted words.

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

Completeness4/5

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

Given the tool's complexity (retrieving multi-faceted trading data) and no output schema, the description does a good job listing return components. However, it could be more complete by specifying data formats or any limitations, but it covers key aspects adequately for the agent to understand what to expect.

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?

Schema description coverage is 100%, so the baseline is 3. The description adds value by explaining the semantics of leg_status beyond the schema: it clarifies that 'all' includes executed/completed legs and provides examples showing how to use it, enhancing understanding without redundancy.

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

Purpose5/5

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

The description clearly states the verb 'retrieve' and specifies the resources: 'active trading positions and wallet holdings'. It distinguishes from siblings like droyd_get_watchlist (likely for monitoring) and droyd_manage_trade/droyd_open_trade (for trade operations) by focusing on retrieval of current positions and holdings.

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

Usage Guidelines4/5

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

The description provides clear context on when to use the tool: to get active positions and holdings, with guidance on the leg_status parameter to include history. However, it doesn't explicitly state when not to use it or name alternatives among siblings, such as whether droyd_get_watchlist serves a different purpose.

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

droyd_get_watchlistA

Get watchlist projects for the authenticated user.

Scopes:

  • agent - Personal agent watchlist only

  • swarm - Community swarm watchlists

  • combined - Both personal and swarm (default)

Returns projects with agent evaluations including investment scores and thesis points.

Examples:

  • Get combined: { "scope": "combined" }

  • Agent only: { "scope": "agent", "include_attributes": ["market_data", "technical_analysis"] }

  • With limit: { "scope": "swarm", "limit": 10 }

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNoWatchlist scopecombined
include_attributesNoAdditional data to include
limitNoResults (1-50)

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses that it returns projects with agent evaluations including investment scores and thesis points, which adds behavioral context beyond the input schema. However, it doesn't mention authentication requirements, rate limits, pagination behavior, or error conditions, leaving gaps 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 well-structured with clear sections (purpose, scopes, returns, examples) and uses bullet points effectively. Every sentence adds value, though the examples section is somewhat lengthy but necessary for clarity. It could be slightly more concise in the examples while maintaining usefulness.

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 3 parameters with 100% schema coverage but no annotations and no output schema, the description does a decent job explaining scope and providing examples. However, for a tool that returns complex data (projects with evaluations), more detail on output structure or behavioral aspects would improve completeness, especially without annotations to cover safety or operational traits.

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?

Schema description coverage is 100%, so the baseline is 3. The description adds value by explaining the meaning of scope options (personal agent, community swarm, both) and providing concrete examples of parameter usage, which enhances understanding beyond the schema's enum and descriptions. This justifies a score above baseline.

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

Purpose5/5

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

The description clearly states the verb 'Get' and resource 'watchlist projects for the authenticated user', making the purpose specific. It distinguishes this tool from siblings like droyd_get_positions (positions vs watchlist) and droyd_search_projects (search vs get watchlist), establishing clear differentiation.

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

Usage Guidelines4/5

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

The description provides clear context about scope options (agent, swarm, combined) with examples, indicating when to use different parameter combinations. However, it doesn't explicitly mention when NOT to use this tool or compare it to alternatives like droyd_filter_projects or droyd_search_projects for similar functionality.

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

droyd_manage_tradeA

Manage existing trading positions. Close positions, execute additional buys/sells, or modify strategy legs.

Actions:

  • close - Exit entire position at market

  • buy - Add to existing position (requires amountUSD)

  • sell - Partial exit (requires sellPercent, e.g., 0.5 = sell 50%)

  • update - Modify stop losses and take profits

Examples:

  • Close position: { "strategy_id": 789, "action": "close" }

  • Partial sell: { "strategy_id": 789, "action": "sell", "sellPercent": 0.25 }

  • Add buy: { "strategy_id": 789, "action": "buy", "amountUSD": 50 }

  • Add stop loss: { "strategy_id": 789, "action": "update", "legs": [ { "leg_action": "add", "type": "stop_loss", "amountUSD": 100, "triggerPercent": 0.10 } ]}

  • Update existing leg: { "strategy_id": 789, "action": "update", "legs": [ { "leg_action": "update", "leg_id": 123, "triggerPercent": 0.15 } ]}

  • Remove leg: { "strategy_id": 789, "action": "update", "legs": [ { "leg_action": "remove", "leg_id": 456 } ]}

ParametersJSON Schema
NameRequiredDescriptionDefault
strategy_idYesStrategy ID to manage
actionYesAction to perform
amountUSDNoAmount in USD (required for buy action)
portfolio_percentNoPortfolio percent for buy (0-100)
sellPercentNoPortion to sell 0-1 (required for sell action)
project_idNoOverride project for buy/sell
legsNoLeg modifications (required for update action)

TDQS

A4/5.0
Behavior3/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. It does well by explaining the different actions (close, buy, sell, update) and their effects. However, it doesn't mention important behavioral aspects like whether these actions are reversible, what permissions are required, rate limits, or what happens to partially executed orders. The examples help but don't cover all behavioral implications.

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 well-structured with clear sections (Actions, Examples) and uses bullet points effectively. The opening sentence clearly states the purpose. While comprehensive, some sentences could be more concise, and the examples section is quite lengthy but necessary for this complex tool.

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?

For a complex trading tool with 7 parameters, no annotations, and no output schema, the description does a decent job but has gaps. It explains the actions well with examples, but doesn't cover error conditions, return values, or system limitations. Given the complexity and financial nature of the operations, more context about what happens after execution would be helpful.

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?

Schema description coverage is 100%, so the baseline is 3. The description adds significant value beyond the schema by explaining the semantic meaning of each action type with clear examples. It clarifies what 'close', 'buy', 'sell', and 'update' mean in practice, and provides concrete examples of how to use the legs parameter for different leg actions. This goes well beyond what the schema provides.

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

Purpose5/5

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

The description clearly states the tool's purpose with specific verbs and resources: 'Manage existing trading positions. Close positions, execute additional buys/sells, or modify strategy legs.' It distinguishes this tool from siblings like droyd_open_trade (which opens new trades) and droyd_get_positions (which retrieves positions without modifying them). The description provides a comprehensive overview of all possible actions.

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

Usage Guidelines4/5

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

The description provides clear context for when to use this tool: for managing existing trading positions. It implicitly distinguishes from droyd_open_trade (for opening new trades) and droyd_get_positions (for retrieving position information). However, it doesn't explicitly state when NOT to use this tool or provide specific alternatives for edge cases.

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

droyd_open_tradeA

Open a new trading position with flexible leg configurations.

Leg Types & Trigger Interpretation:

  • market_buy - Immediate buy at market price (no trigger needed)

  • limit_order - Buy when price drops by triggerPercent (0.05 = buy at 5% below current)

  • stop_loss - Sell when price drops by triggerPercent (0.10 = sell at 10% below entry)

  • take_profit - Sell when price rises by triggerPercent (0.20 = sell at 20% above entry)

  • quant_buy - Buy when momentum score reaches triggerPercent (e.g., 15)

  • quant_sell - Sell when momentum score reaches triggerPercent (e.g., -10)

Examples:

  • Simple buy: { "project_id": 123, "legs": [{ "type": "market_buy", "amountUSD": 100 }] }

  • With stop loss: { "project_id": 123, "legs": [ { "type": "market_buy", "amountUSD": 100 }, { "type": "stop_loss", "amountUSD": 100, "triggerPercent": 0.15 } ]}

  • Scaled take profits: { "project_id": 123, "legs": [ { "type": "market_buy", "amountUSD": 100 }, { "type": "stop_loss", "amountUSD": 100, "triggerPercent": 0.10 }, { "type": "take_profit", "amountUSD": 50, "triggerPercent": 0.25, "positionPercent": 0.5 }, { "type": "take_profit", "amountUSD": 50, "triggerPercent": 0.50, "positionPercent": 0.5 } ]}

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idNoProject ID to trade (use this OR contract_address)
contract_addressNoContract address to trade (use this OR project_id)
chainNoBlockchain (required if using contract_address)solana
legsYesTrade legs (1-10)
rationaleNoRationale for the trade

TDQS

A4.2/5.0
Behavior4/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. It effectively explains key traits: it's a creation tool (opening a position), details trigger interpretations for each leg type (e.g., market_buy is immediate, stop_loss sells at a drop), and includes practical constraints like minimum amountUSD in examples. However, it lacks information on permissions, rate limits, or error handling.

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 well-structured and front-loaded with the core purpose, followed by detailed leg type explanations and practical examples. Every sentence earns its place by providing essential context or clarification, with no redundant or verbose content.

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

Completeness4/5

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

Given the complexity (trading with multiple leg types), no annotations, and no output schema, the description does a strong job by detailing leg behaviors and providing examples. However, it could improve by mentioning potential outputs or error cases, leaving some gaps for a tool of this complexity.

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?

Schema description coverage is 100%, so the baseline is 3. The description adds significant value by explaining the semantics of leg types and triggerPercent with concrete examples (e.g., '0.05 = buy at 5% below current'), clarifying how parameters interact in real-world scenarios beyond the schema's basic descriptions.

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

Purpose5/5

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

The description clearly states the tool's purpose as 'Open a new trading position with flexible leg configurations,' which is a specific verb ('open') + resource ('trading position') + distinguishing feature ('flexible leg configurations'). It differentiates from sibling tools like droyd_get_positions (which retrieves) and droyd_manage_trade (which modifies existing trades).

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

Usage Guidelines3/5

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

The description implies usage through examples showing when to use different leg types (e.g., 'Simple buy' vs. 'With stop loss'), but it does not explicitly state when to use this tool versus alternatives like droyd_manage_trade or provide exclusions. The guidance is contextual but not comprehensive.

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

droyd_search_contentA

Search the DROYD knowledge base for crypto content.

Search Modes:

  • recent - Browse latest content by type, category, or ecosystem

  • semantic - AI-powered search with natural language query

Content Types: posts, news, developments, tweets, youtube, memories, concepts

Categories: defi, nfts, gaming, ai, memecoins, stablecoins, rwas, depin, wallets, etc.

Ecosystems: solana, ethereum, base, bitcoin, arbitrum, optimism, polygon, avalanche, etc.

Examples:

  • Recent DeFi news: { "search_mode": "recent", "content_types": ["news"], "categories": ["defi"], "days_back": 7 }

  • Semantic search: { "search_mode": "semantic", "query": "AI agents in crypto", "include_analysis": true }

  • Ecosystem research: { "search_mode": "recent", "ecosystems": ["solana", "base"], "content_types": ["posts", "tweets"] }

ParametersJSON Schema
NameRequiredDescriptionDefault
search_modeYesSearch mode
queryNoSearch query (required for semantic mode)
content_typesNoContent types to include
categoriesNoCategory slugs (max 5)
ecosystemsNoEcosystem slugs (max 5)
days_backNoDays to look back (1-90)
limitNoMax results (10-100)
sort_byNoSort order
include_analysisNoInclude AI analysis (semantic mode only)
minimum_relevance_scoreNoMin relevance score (0-1)

TDQS

A4.6/5.0
Behavior4/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. It does well by explaining the two distinct search modes and their characteristics, listing available content types, categories, and ecosystems, and providing example parameter structures. However, it doesn't mention rate limits, authentication requirements, or error conditions that would be helpful for a search tool.

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 perfectly structured with clear sections (Search Modes, Content Types, Categories, Ecosystems, Examples) and bullet points. Every sentence earns its place by providing essential information about how to use the tool effectively. The examples are particularly valuable for showing parameter combinations.

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

Completeness4/5

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

For a search tool with 10 parameters, 100% schema coverage, and no output schema, the description does an excellent job explaining the tool's functionality. It covers the two search modes thoroughly, lists available filters, and provides practical examples. The main gap is the lack of information about what the output looks like (no output schema), but the description compensates well for this through clear usage guidance.

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?

With 100% schema description coverage, the baseline is 3. The description adds significant value by explaining the meaning and purpose of search_mode options (recent vs semantic), listing all possible content_types, categories, and ecosystems, and showing through examples how parameters interact. It provides context that helps understand when to use which parameters beyond what the schema provides.

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

Purpose5/5

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

The description clearly states the tool searches the DROYD knowledge base for crypto content, specifying both the action (search) and resource (crypto content in DROYD knowledge base). It distinguishes itself from sibling tools like droyd_search_projects by focusing on content rather than projects, and from droyd_chat by being a search tool rather than conversational.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use each search mode: 'recent' for browsing latest content by type/category/ecosystem, and 'semantic' for AI-powered natural language queries. It includes three concrete examples showing different use cases, making it clear when to choose each mode and how to structure requests.

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

droyd_search_projectsA

Search for crypto projects by name, symbol, address, or semantic query.

Search Types:

  • project_id - Direct ID lookup (fastest)

  • name - Search by project name (e.g., "Jupiter", "Raydium")

  • symbol - Search by ticker symbol (e.g., "JUP", "RAY", "SOL")

  • address - Search by contract address (exact match)

  • semantic - AI-powered concept search (e.g., "AI agents in DeFi")

Attributes: developments, recent_content, technical_analysis, market_data, mindshare, detailed_description, metadata

Examples:

  • By name: { "search_type": "name", "queries": ["Jupiter", "Raydium"] }

  • By symbol: { "search_type": "symbol", "queries": ["SOL", "ETH", "BTC"] }

  • Semantic: { "search_type": "semantic", "queries": ["liquid staking protocols on Solana"] }

  • With data: { "search_type": "name", "queries": ["Bitcoin"], "include_attributes": ["market_data", "technical_analysis"] }

ParametersJSON Schema
NameRequiredDescriptionDefault
search_typeYesType of search
queriesYesSearch queries (1-15)
limitNoResults per query (1-25)
include_attributesNoAdditional data to include
developments_limitNoMax developments per project (1-10)
recent_content_limitNoMax content items per project (1-25)
recent_content_days_backNoDays back for content (1-30)

TDQS

A3.8/5.0
Behavior3/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 describes what the tool does (searching) and different search types, but doesn't mention rate limits, authentication requirements, error conditions, or what happens when no results are found. The description doesn't contradict any annotations since none exist.

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 well-structured with clear sections (Search Types, Attributes, Examples) and uses bullet points effectively. It's appropriately sized for the tool's complexity, though the examples section is somewhat lengthy. Most sentences earn their place by providing useful information.

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?

For a search tool with 7 parameters, 100% schema coverage, and no output schema, the description provides adequate context about what the tool does and how to use it. However, it doesn't describe the return format, result structure, or what happens when searches fail. Given the complexity and lack of output schema, more information about expected results would be helpful.

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?

With 100% schema description coverage, the schema already documents all 7 parameters thoroughly. The description adds some value by explaining the different search types in more detail and listing available attributes, but doesn't provide additional parameter semantics beyond what's in the schema descriptions. The examples help illustrate parameter usage patterns.

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

Purpose5/5

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

The description clearly states the tool's purpose as searching for crypto projects using multiple search methods (name, symbol, address, semantic query, project_id). It distinguishes itself from sibling tools like droyd_filter_projects and droyd_search_content by specifying it searches for 'projects' rather than filtering existing ones or searching content.

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

Usage Guidelines4/5

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

The description provides clear context about when to use different search types (e.g., 'project_id - Direct ID lookup (fastest)', 'semantic - AI-powered concept search'), but doesn't explicitly state when NOT to use this tool or mention alternatives like droyd_filter_projects. The examples help illustrate appropriate usage scenarios.

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. 8 tool updatesv0.1.0
    • First observeddroyd_chat
    • First observeddroyd_filter_projects
    • First observeddroyd_get_positions
    • First observeddroyd_get_watchlist
    • First observeddroyd_manage_trade
    • First observeddroyd_open_trade
    • First observeddroyd_search_content
    • First observeddroyd_search_projects

TDQS

A4.1/5.0
Disambiguation4/5

Most tools have distinct purposes: chat, filter projects, get positions, manage trades, open trades, search content, and search projects are clearly separated. However, droyd_get_positions and droyd_get_watchlist could be slightly overlapping in providing portfolio-related data, but their descriptions clarify that positions are for active trades while watchlists are for tracked projects.

Naming Consistency5/5

All tools follow a consistent 'droyd_verb_noun' pattern with snake_case throughout: droyd_chat, droyd_filter_projects, droyd_get_positions, droyd_get_watchlist, droyd_manage_trade, droyd_open_trade, droyd_search_content, droyd_search_projects. This makes them predictable and easy to identify.

Tool Count5/5

With 8 tools, this is well-scoped for a crypto trading and research server. Each tool serves a specific function in the domain, from chatting with AI agents to managing trades and searching for projects or content, without being overwhelming or too sparse.

Completeness4/5

The toolset covers core crypto workflows: research (chat, search), project discovery (filter, search), portfolio management (get positions, watchlist), and trading (open, manage). A minor gap is the lack of a tool for direct market data queries or analytics beyond chat, but the chat tool with agent types like 'data' and 'trading' can partially fill this role.

Maintenance

ActivityInactive
ResponsivenessNo issues

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

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables MCP-compatible AI clients to access live crypto market data and AI-driven quantitative analysis, with structured outputs and full observability.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    An MCP server for cryptocurrency trading via Freqtrade, enabling trade management, balance checks, strategy configuration, backtesting, and bot lifecycle control from any MCP-compatible AI agent.
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI tools to execute trades and fetch market data across six crypto exchanges via natural language or API, with dual Telegram and MCP interfaces.
    2
    -
  • A
    license
    B
    quality
    D
    maintenance
    Enables AI agents to trade crypto with paper money, access market data, view leaderboards, and manage trading bots via an MCP-compatible interface.
    16
    MIT

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/droyd-ai/droyd-mcp-server'

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