Skip to main content
Glama
token-metrics

Token Metrics MCP Server

Official

Token Metrics MCP Server

The Token Metrics Model Context Protocol (MCP) server provides comprehensive cryptocurrency data, analytics, and insights through function calling. This server enables AI assistants and agents to access Token Metrics' powerful API for real-time crypto market data, trading signals, price predictions, and advanced analytics.

Features

  • Real-time Crypto Data: Access current prices, market cap, volume, and other key metrics

  • Trading Signals: AI-generated trading signals for long and short positions

  • Price Predictions: Advanced price forecasting and scenario analysis

  • Technical Analysis: Support and resistance levels, correlation analysis

  • Market Analytics: Comprehensive market insights and sentiment analysis

  • Quantitative Metrics: Advanced quantitative analysis and grading systems

Related MCP server: Satellite Tracking MCP Server

Quick Start

Option 1: HTTP Transport

The easiest way to get started is using our hosted HTTP transport - no installation required:

{
  "mcpServers": {
    "token-metrics": {
      "url": "https://mcp.tokenmetrics.com",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}

Option 2: Using npx (Local Installation)

# Set environment variable and run
export TOKEN_METRICS_API_KEY=your_api_key_here
npx -y @token-metrics-ai/mcp@latest

Connection Methods

HTTP Transport (Hosted)

  • URL: https://mcp.tokenmetrics.com

  • Authentication: Use x-api-key header with your Token Metrics API key

  • Benefits:

    • No local installation required

    • Always up-to-date

    • Better performance and reliability

    • Automatic scaling

  • Usage: Perfect for production environments and users who prefer not to install packages locally

Local Installation (npx/npm)

  • Benefits:

    • Full control over the server instance

    • Works offline (after installation)

    • Can modify and extend functionality

  • Usage: Ideal for development, testing, or custom implementations

MCP Listings

You can find the Token Metrics MCP server on these popular MCP listing sites:

Setup with AI Clients

Claude Desktop or VS Code/Cursor

HTTP Transport Configuration

Add the following to your claude_desktop_config.json or mcp.json:

{
  "mcpServers": {
    "token-metrics": {
      "url": "https://mcp.tokenmetrics.com",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}

Local Installation Configuration

Add the following to your claude_desktop_config.json or mcp.json:

{
  "mcpServers": {
    "token-metrics": {
      "command": "npx",
      "args": ["-y", "@token-metrics-ai/mcp@latest"],
      "env": {
        "TOKEN_METRICS_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Available Tools

The Token Metrics MCP server provides the following tools:

Token Data & Prices

  • get_tokens_data - Fetch comprehensive token information

  • get_tokens_price - Get current token prices

  • get_tokens_hourly_ohlcv - Hourly OHLCV data

  • get_tokens_daily_ohlcv - Daily OHLCV data

Trading & Analysis

  • get_tokens_trading_signal - AI-generated trading signals

  • get_tokens_trader_grade - Short-term trader grades

  • get_tokens_investor_grade - Long-term investor grades

  • get_tokens_resistance_and_support - Technical support/resistance levels

  • get_tokens_correlation - Token correlation analysis

Market Intelligence

  • get_market_metrics - Overall market analytics

  • get_sentiment - Market sentiment analysis

  • get_tokens_quant_metrics - Quantitative metrics

  • get_tokens_scenario_analysis - Price prediction scenarios

Research & Reports

  • get_tokens_ai_report - AI-generated token reports

  • get_crypto_investors - Crypto investor information

  • get_top_tokens_by_market_cap - Top tokens by market cap

Indices & Portfolio

  • get_indices - Fetch active and passive crypto indices

  • get_indices_performance - Historical performance data for indices

  • get_indices_holdings - Current holdings and weights for indices

Getting Your API Key

  1. Visit Token Metrics

  2. Sign up for an account

  3. Navigate to your API Dashboard

  4. Generate a new API key

  5. Use the API key with this MCP server

Development

Prerequisites

  • Node.js 18 or higher

  • npm or yarn

  • TypeScript

Local Development

  1. Clone the repository:

git clone https://github.com/token-metrics/mcp.git
cd mcp
  1. Install dependencies:

npm install
  1. Set your API key:

export TOKEN_METRICS_API_KEY=your_api_key_here
  1. Run in development mode:

npm run start:dev

Building

npm run build

Testing with MCP Inspector

You can test the local server using the MCP Inspector:

# Build the server first
npm run build

# Run with MCP Inspector
npx @modelcontextprotocol/inspector node build/src/cli.js

Configuration

HTTP Transport Configuration

When using the hosted HTTP transport at https://mcp.tokenmetrics.com, the server accepts:

Headers:

  • x-api-key - Your Token Metrics API key (required)

  • Content-Type: application/json (for requests)

Supported Endpoints:

  • POST / - Main MCP JSON-RPC endpoint

Local Server Configuration

The local server accepts the following configuration options:

  • --help - Show help information

Environment variables:

  • TOKEN_METRICS_API_KEY - Your Token Metrics API key

Error Handling

The server includes comprehensive error handling:

  • Invalid API Key: Returns authentication error

  • Rate Limiting: Handles API rate limits gracefully

  • Network Issues: Retries failed requests

  • Invalid Parameters: Validates input parameters

Security

  • API keys are handled securely

  • No sensitive data is logged

  • Docker container runs as non-root user

  • Input validation on all parameters

Support

License

MIT License - see LICENSE file for details.

Available Tools

19 tools
get_crypto_investorsC

Fetch the latest list of crypto investors and their scores from Token Metrics API.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoLimit the number of results returned. Default is 50. Maximum is 100.
pageNoEnables pagination and data retrieval control by skipping a specified number of items before fetching data. Page should be a non-negative integer, with 1 indicating the beginning of the dataset.

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. It mentions fetching 'latest' data, implying freshness, but doesn't disclose critical behavioral traits like authentication requirements, rate limits, data format, or whether this is a read-only operation. For a tool with zero annotation coverage, this leaves significant 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 that directly states the tool's purpose without any unnecessary words. It is appropriately sized and front-loaded, making it easy to understand at a glance.

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 the lack of annotations and output schema, the description is incomplete. It doesn't explain what the returned data looks like (e.g., structure of investors and scores), authentication needs, or error handling. For a tool fetching potentially complex data, this leaves too much unspecified.

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, clearly documenting both parameters ('limit' and 'page') with their purposes, defaults, and constraints. The description adds no additional parameter information beyond what the schema provides, so it meets the baseline for high schema coverage.

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 ('Fetch') and the resource ('latest list of crypto investors and their scores from Token Metrics API'), making the purpose understandable. However, it doesn't explicitly differentiate this tool from its many siblings (like 'get_tokens_investor_grade' or 'get_tokens_data'), which would be needed for 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. With many sibling tools available (e.g., 'get_tokens_investor_grade', 'get_tokens_data'), there's no indication of what makes this tool distinct or when it should be preferred over others.

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

get_indicesC

Fetch active and passive crypto indices with performance and market data from Token Metrics API.

ParametersJSON Schema
NameRequiredDescriptionDefault
indicesTypeNoFilter to return indices by type: "active" for actively managed, "passive" for passively managed.
limitNoLimit the number of results returned. Default is 50. Maximum is 100.
pageNoEnables pagination and data retrieval control by skipping a specified number of items before fetching data. Page should be a non-negative integer, with 1 indicating the beginning of the dataset.

TDQS

C2.9/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. It mentions fetching data but does not cover critical aspects such as rate limits, authentication requirements, data freshness, or error handling. This leaves significant gaps for a tool interacting with an external API.

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 that front-loads the core purpose without unnecessary details. It is appropriately sized and wastes no words.

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 the lack of annotations and output schema, the description is incomplete. It does not explain return values, data format, or behavioral traits like pagination or API constraints, which are essential for effective tool use in this context.

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 input schema fully documents all three parameters. The description does not add any parameter-specific information beyond what the schema provides, resulting in a baseline score of 3.

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 ('fetch') and resource ('active and passive crypto indices with performance and market data'), specifying the source ('Token Metrics API'). It distinguishes from siblings like 'get_indices_holdings' or 'get_indices_performance' by mentioning both performance and market data, though not explicitly contrasting them.

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 like 'get_indices_holdings' or 'get_indices_performance'. The description implies a broad data fetch but lacks explicit context or exclusions for tool selection.

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

get_indices_holdingsC

Fetch the current holdings of the given Index, along with their respective weight in percentage from Token Metrics API.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesId of the index. Example: 1

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 states it 'fetches' data, implying a read-only operation, but doesn't mention authentication needs, rate limits, error handling, or response format. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior and constraints.

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, well-structured sentence that efficiently conveys the tool's purpose, resource, data attributes, and source. Every word earns its place, with no redundancy or fluff, making it easy to parse and front-loaded with key information.

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 and no output schema, the description is incomplete for a tool that fetches data. It doesn't explain what the return values look like (e.g., structure of holdings data), potential errors, or operational limits. For a read operation with missing structured data, more context is needed to guide effective use.

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%, with the 'id' parameter documented as 'Id of the index. Example: 1'. The description adds no additional parameter details beyond what the schema provides, such as valid index IDs or formatting. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't enhance parameter understanding.

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 ('fetch'), resource ('current holdings of the given Index'), and data attributes ('weight in percentage'), and specifies the source ('Token Metrics API'). It distinguishes from siblings like 'get_indices' (which likely lists indices) and 'get_indices_performance' (which likely returns performance metrics). However, it doesn't explicitly contrast with these siblings, keeping it from 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 'get_indices' or 'get_tokens_data'. It mentions the source but not prerequisites, constraints, or typical use cases. Without any when/when-not instructions, the agent must infer usage from the name and description alone.

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

get_indices_performanceB

Fetch historical performance data for a given index, including cumulative return on investment (ROI) over time from Token Metrics API. This data is useful for analyzing index trends and evaluating investment performance.

ParametersJSON Schema
NameRequiredDescriptionDefault
endDateNoEnd Date accepts date as a string - YYYY-MM-DD format. Example: 2023-10-10
idYesId of the index. Example: 1
limitNoLimit the number of results returned. Default is 50. Maximum is 100.
pageNoEnables pagination and data retrieval control by skipping a specified number of items before fetching data. Page should be a non-negative integer, with 1 indicating the beginning of the dataset.
startDateNoStart Date accepts date as a string - YYYY-MM-DD format. Example: 2023-10-01

TDQS

B3.2/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 fetching data from an API and its usefulness but fails to disclose critical behavioral traits such as rate limits, authentication requirements, error handling, pagination behavior (implied by 'page' parameter but not explained), or data freshness. This leaves significant gaps for an agent to understand operational constraints.

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 with two sentences: the first states the purpose and data included, and the second provides usage context. It is front-loaded with the core functionality, though the second sentence could be more specific to earn a perfect score.

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 moderately complete for a read-only tool with full schema coverage. It covers the what and why but lacks details on behavioral aspects like API limits or response format, which are important for an agent to use it effectively without structured output guidance.

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 5 parameters thoroughly with examples and constraints. The description adds no additional parameter semantics beyond implying date-range filtering and ROI data, which is partially covered by the schema. 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.

Purpose4/5

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

The description clearly states the action ('fetch historical performance data') and resource ('for a given index'), specifying it includes cumulative ROI over time from Token Metrics API. It distinguishes from siblings by focusing on index performance rather than holdings, metrics, or token data, though it doesn't explicitly contrast with similar tools like get_indices.

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 for analyzing index trends and evaluating investment performance, providing general context. However, it lacks explicit guidance on when to use this tool versus alternatives like get_indices (which might list indices) or get_tokens_quant_metrics (which might provide similar data for tokens), with no mention of exclusions or prerequisites.

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

get_market_metricsC

Fetch Market Analytics from Token Metrics API. They provide insight into the full Crypto Market, including the Bullish/Bearish Market indicator for a specific date or date range.

ParametersJSON Schema
NameRequiredDescriptionDefault
endDateNoEnd Date accepts date as a string - YYYY-MM-DD format. Example: 2023-10-10
limitNoLimit the number of results returned. Default is 50. Maximum is 100.
pageNoEnables pagination and data retrieval control by skipping a specified number of items before fetching data. Page should be a non-negative integer, with 1 indicating the beginning of the dataset.
startDateNoStart Date accepts date as a string - YYYY-MM-DD format. Example: 2023-10-01

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 full burden. It mentions fetching data and the API source but lacks critical behavioral details: no information on authentication requirements, rate limits, error handling, pagination behavior (implied by 'page' parameter but not explained), or what happens if dates are invalid. The description doesn't contradict annotations (none exist), but is insufficient for a mutation-free read operation.

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?

Two sentences that are reasonably efficient. The first sentence states the core purpose, and the second adds context about the data type. However, the second sentence could be more precise (e.g., specifying that Bullish/Bearish indicator is one of the metrics). No redundant information, but room for tighter phrasing.

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?

For a tool with 4 parameters, no annotations, and no output schema, the description is incomplete. It doesn't cover authentication needs, rate limits, error cases, pagination behavior, or example return values. While the schema documents parameters well, the overall context for safe and effective use is lacking, especially given the sibling tools suggest this is part of a broader crypto analytics suite.

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 parameters are well-documented in the schema. The description adds minimal value beyond the schema: it mentions 'specific date or date range' which aligns with startDate/endDate parameters, but doesn't explain parameter interactions (e.g., how limit/page work together) or default behaviors. Baseline 3 is appropriate given high schema coverage.

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 tool fetches market analytics from a specific API (Token Metrics API) and mentions the type of data (Bullish/Bearish Market indicator). It distinguishes from siblings by focusing on overall market metrics rather than specific tokens, indices, or sentiment, but doesn't explicitly contrast with alternatives like 'get_indices' or 'get_sentiment'.

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. The description mentions 'full Crypto Market' analytics, which implies it's for broad market overviews, but doesn't specify scenarios where other tools (e.g., get_tokens_data for token-specific info) would be more appropriate. No exclusions or prerequisites are provided.

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

get_sentimentB

Fetch the hourly sentiment score for Twitter, Reddit, and all the News, including quick summary of what happened from Token Metrics API.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/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. It mentions fetching data and including a 'quick summary', but doesn't disclose behavioral traits like rate limits, authentication requirements, data freshness, error handling, or whether it's a read-only operation. For a data-fetching tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.

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 front-loads the key action ('Fetch the hourly sentiment score') and specifies sources and output details. There's no wasted verbiage, though it could be slightly more structured (e.g., separating the score from the summary).

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 (simplifying input) but no output schema (requiring description to explain returns), the description partially compensates by mentioning 'sentiment score' and 'quick summary'. However, it lacks details on output format (e.g., numerical scores, text summary structure), and with no annotations, it misses behavioral context. It's adequate but has clear gaps for a data-fetching tool.

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%. The description doesn't need to explain parameters, and it appropriately doesn't mention any. It focuses on what the tool fetches (sentiment scores and summary) rather than inputs, which is correct for a parameterless tool.

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 tool's purpose: 'Fetch the hourly sentiment score for Twitter, Reddit, and all the News, including quick summary of what happened from Token Metrics API.' It specifies the verb ('fetch'), resource ('sentiment score'), sources (Twitter, Reddit, News), and timeframe (hourly). However, it doesn't explicitly differentiate from sibling tools like 'get_tokens_ai_report' or 'get_tokens_trading_signal', which might also involve sentiment analysis.

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. It doesn't mention prerequisites, frequency of use, or compare it to sibling tools like 'get_tokens_ai_report' (which might include sentiment) or 'get_tokens_trading_signal'. The context is implied (hourly sentiment from specific sources), but no explicit usage rules are given.

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

get_tokens_ai_reportC

Fetch token(s) AI-generated reports providing comprehensive analyses of cryptocurrency tokens, including deep dives, investment analyses, and code reviews from Token Metrics API.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoLimit the number of results returned. Default is 50. Maximum is 100.
pageNoEnables pagination and data retrieval control by skipping a specified number of items before fetching data. Page should be a non-negative integer, with 1 indicating the beginning of the dataset.
symbolNoComma-separated string of token symbols (e.g., 'BTC,ETH,ADA')
token_idNoComma-separated string of token IDs (e.g., '1,2,3')

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 fetching reports from an API but omits critical details: it doesn't specify if this is a read-only operation, whether it requires authentication, rate limits, pagination behavior beyond the schema, or what the output format looks like (e.g., structured data vs. text reports). For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.

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 front-loads the core purpose ('fetch token(s) AI-generated reports') and elaborates on the content. It avoids redundancy and wastes no words, though it could be slightly more structured by separating usage context from purpose.

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 the complexity of fetching reports with multiple parameters and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., read-only status, authentication), output format, and usage guidelines relative to siblings. Without annotations or output schema, the agent is left guessing about key aspects of tool operation, making this inadequate for a 4-parameter tool in a crowded sibling set.

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 four parameters (limit, page, symbol, token_id) with clear descriptions. The description adds no additional meaning beyond implying that parameters filter or paginate reports, which is already evident from the schema. Baseline 3 is appropriate as the schema does the heavy lifting, but the description doesn't compensate with extra context like parameter interactions or examples.

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 ('fetch') and resource ('token(s) AI-generated reports'), specifying the content includes comprehensive analyses like deep dives, investment analyses, and code reviews. It distinguishes from siblings by focusing on AI-generated reports rather than metrics, prices, or grades, but could be more explicit about how it differs from tools like 'get_tokens_scenario_analysis' or 'get_tokens_investor_grade'.

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. With many sibling tools (e.g., get_tokens_data, get_tokens_price, get_tokens_investor_grade), it lacks explicit context for choosing this specific report-fetching tool over others, leaving the agent to infer based on the 'AI-generated reports' focus without clear exclusions or prerequisites.

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

get_tokens_correlationC

Fetch token(s) Top 10 and Bottom 10 correlated tokens from the top 100 market cap tokens from Token Metrics API.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoComma Separated category name. Example: yield farming,defi
exchangeNoComma Separated exchange name. Example: binance,gate
limitNoLimit the number of results returned. Default is 50. Maximum is 100.
pageNoEnables pagination and data retrieval control by skipping a specified number of items before fetching data. Page should be a non-negative integer, with 1 indicating the beginning of the dataset.
symbolNoComma-separated string of token symbols (e.g., 'BTC,ETH,ADA')
token_idNoComma-separated string of token IDs (e.g., '1,2,3')
token_nameNoComma Separated Crypto Asset Names (e.g., Bitcoin, Ethereum)

TDQS

C2.9/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. It mentions fetching from 'Token Metrics API' which implies an external API call, but doesn't disclose important behavioral traits like rate limits, authentication requirements, error handling, response format, or whether this is a read-only operation. The description is too sparse for a tool with 7 parameters and 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.

Conciseness5/5

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

The description is a single, efficient sentence that communicates the core purpose without unnecessary words. It's appropriately sized and front-loaded with the essential information about what the tool fetches. Every word earns its place in this concise formulation.

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 the tool's complexity (7 parameters, no annotations, no output schema), the description is inadequate. It doesn't explain what 'correlated tokens' means operationally, what time period the correlation covers, how the top/bottom 10 are determined, or what format the results will be in. For a correlation analysis tool with rich filtering options, this minimal description leaves too many questions unanswered.

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 schema description coverage is 100%, so the schema already documents all 7 parameters thoroughly with clear descriptions and examples. The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain how parameters interact, which combinations are most useful, or provide context about the correlation calculation. This meets the baseline for high schema coverage.

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 ('Fetch') and the resource ('token(s) Top 10 and Bottom 10 correlated tokens from the top 100 market cap tokens'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate this correlation-focused tool from its many siblings (like get_tokens_price, get_tokens_quant_metrics, etc.), which is why it doesn't achieve 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. With 17 sibling tools available, including several that also fetch token-related data (e.g., get_tokens_price, get_tokens_quant_metrics), there's no indication of when correlation data is specifically needed or what distinguishes this tool from those other options.

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

get_tokens_daily_ohlcvB

Fetch daily OHLCV (Open, High, Low, Close, Volume) data for token(s) for a specific date or date range from Token Metrics API.

ParametersJSON Schema
NameRequiredDescriptionDefault
endDateNoEnd Date accepts date as a string - YYYY-MM-DD format. Example: 2023-10-10
limitNoLimit the number of results returned. Default is 50. Maximum is 100.
pageNoEnables pagination and data retrieval control by skipping a specified number of items before fetching data. Page should be a non-negative integer, with 1 indicating the beginning of the dataset.
startDateNoStart Date accepts date as a string - YYYY-MM-DD format. Example: 2023-10-01
symbolNoComma-separated string of token symbols (e.g., 'BTC,ETH,ADA')
token_idNoComma-separated string of token IDs (e.g., '1,2,3')
token_nameNoComma Separated Crypto Asset Names (e.g., Bitcoin, Ethereum)

TDQS

B3.4/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 but lacks behavioral details. It doesn't disclose whether this is a read-only operation, authentication requirements, rate limits, pagination behavior (implied by 'limit' and 'page' parameters but not explained), error handling, or response format. The description is minimal beyond stating the basic function.

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 that front-loads the core purpose without unnecessary words. Every element ('Fetch daily OHLCV data', 'for token(s)', 'for a specific date or date range', 'from Token Metrics API') contributes essential information with zero redundancy.

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?

For a tool with 7 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain the return format (structure of OHLCV data), pagination behavior, how multiple identifier fields interact, error cases, or API constraints. The description provides basic purpose but lacks necessary operational context for effective use.

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 parameters are well-documented in the schema itself. The description adds no additional parameter semantics beyond mentioning 'date or date range' (covered by startDate/endDate) and 'token(s)' (covered by symbol/token_id/token_name). It doesn't explain parameter interactions, defaults beyond 'limit', or which identifier fields are preferred.

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 action ('Fetch'), the resource ('daily OHLCV data for token(s)'), and the source ('from Token Metrics API'). It specifies the data type (Open, High, Low, Close, Volume) and temporal scope ('for a specific date or date range'), distinguishing it from sibling tools like get_tokens_hourly_ohlcv (hourly data) and get_tokens_price (price only).

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 for retrieving historical OHLCV data, but provides no explicit guidance on when to use this tool versus alternatives like get_tokens_hourly_ohlcv (for hourly data) or get_tokens_price (for current price). It mentions the API source but doesn't specify prerequisites, rate limits, or error conditions.

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

get_tokens_dataC

Fetch token(s) data from Token Metrics API. Provide either token_id or symbol (or both) along with optional date range.

ParametersJSON Schema
NameRequiredDescriptionDefault
blockchain_addressNoUse this parameter to search tokens through specific blockchains and contract addresses. Input the blockchain name followed by a colon and then the contract address. Example: binance-smart-chain:0x57185189118c7e786cafd5c71f35b16012fa95ad
categoryNoComma Separated category name. Example: yield farming,defi
exchangeNoComma Separated exchange name. Example: binance,gate
limitNoLimit the number of results returned. Default is 50. Maximum is 100.
pageNoEnables pagination and data retrieval control by skipping a specified number of items before fetching data. Page should be a non-negative integer, with 1 indicating the beginning of the dataset.
symbolNoComma-separated string of token symbols (e.g., 'BTC,ETH,ADA')
token_idNoComma-separated string of token IDs (e.g., '1,2,3')
token_nameNoComma Separated Crypto Asset Names (e.g., Bitcoin, Ethereum)

TDQS

C2.9/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 fetching data but fails to describe key behaviors: what specific data is returned (e.g., metrics, metadata), whether it's read-only (implied but not stated), pagination details (only hinted via 'limit' and 'page' in schema), rate limits, or authentication needs. This leaves significant gaps for a tool with 8 parameters.

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 front-loads the core purpose. It avoids redundancy and wastes no words, though it could be slightly more structured (e.g., separating purpose from parameter guidance). Given the complexity, it's appropriately concise without being under-specified.

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 the tool's complexity (8 parameters, no annotations, no output schema, and many siblings), the description is incomplete. It doesn't explain what data is fetched (e.g., types of metrics), how results are structured, or how to interpret outputs. With no output schema and rich sibling tools, more context is needed to guide effective use.

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 fully documents all 8 parameters. The description adds minimal value beyond the schema, mentioning 'token_id or symbol (or both) along with optional date range' but not explaining other parameters like 'blockchain_address' or 'category'. This meets the baseline of 3 since the schema does the heavy lifting, but the description doesn't enhance understanding of parameter interactions or semantics.

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 ('Fetch') and resource ('token(s) data from Token Metrics API'), making the purpose understandable. It distinguishes itself from siblings by focusing on general token data retrieval rather than specific metrics like price, OHLCV, or investor grades. However, it doesn't explicitly differentiate from all siblings (e.g., 'get_tokens_quant_metrics' might overlap).

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 minimal guidance, mentioning 'Provide either token_id or symbol (or both) along with optional date range' but offers no context on when to use this tool versus alternatives like 'get_tokens_price' or 'get_tokens_quant_metrics'. It lacks explicit when-to-use or when-not-to-use statements, leaving the agent to infer from sibling names alone.

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

get_tokens_hourly_ohlcvA

Fetch hourly OHLCV (Open, High, Low, Close, Volume) data for token(s) for a specific date or date range from Token Metrics API.

ParametersJSON Schema
NameRequiredDescriptionDefault
endDateNoEnd Date accepts date as a string - YYYY-MM-DD format. Example: 2023-10-10
limitNoLimit the number of results returned. Default is 50. Maximum is 100.
pageNoEnables pagination and data retrieval control by skipping a specified number of items before fetching data. Page should be a non-negative integer, with 1 indicating the beginning of the dataset.
startDateNoStart Date accepts date as a string - YYYY-MM-DD format. Example: 2023-10-01
symbolNoComma-separated string of token symbols (e.g., 'BTC,ETH,ADA')
token_idNoComma-separated string of token IDs (e.g., '1,2,3')
token_nameNoComma Separated Crypto Asset Names (e.g., Bitcoin, Ethereum)

TDQS

A3.5/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. It mentions data fetching but lacks details on rate limits, authentication requirements, error handling, or response format. For an API tool with 7 parameters, 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 that front-loads key information (fetch, hourly OHLCV, tokens, date range, API source). Every word contributes meaning without redundancy, making it appropriately 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?

For a data-fetching tool with 7 parameters and no output schema, the description is minimally adequate but incomplete. It covers the basic purpose but lacks behavioral context (e.g., rate limits, pagination behavior, error cases) and output details, which are crucial for effective tool use.

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 schema description coverage is 100%, with each parameter well-documented in the input schema. The description adds minimal value beyond the schema by mentioning 'date or date range' and 'token(s)', but does not explain parameter interactions or provide additional semantic context. Baseline 3 is appropriate given high schema coverage.

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 specific action ('Fetch'), resource ('hourly OHLCV data for token(s)'), and scope ('from Token Metrics API'), distinguishing it from sibling tools like get_tokens_daily_ohlcv (daily vs. hourly) and get_tokens_price (price only vs. full OHLCV). It precisely communicates what the tool does.

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 for retrieving historical hourly OHLCV data, but does not explicitly state when to use this tool versus alternatives like get_tokens_daily_ohlcv (for daily data) or get_tokens_price (for current prices). No guidance on prerequisites or exclusions is provided.

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

get_tokens_investor_gradeC

Fetch token(s) long term grades, including Technology and Fundamental metrics for a specific date or date range from Token Metrics API.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoComma Separated category name. Example: yield farming,defi
endDateNoEnd Date accepts date as a string - YYYY-MM-DD format. Example: 2023-10-10
exchangeNoComma Separated exchange name. Example: binance,gate
fdvNoMinimum fully diluted valuation in $ (USD) of the token. Example: 100
investorGradeNoMinimum TM Investor Grade of the token. Example: 17
limitNoLimit the number of results returned. Default is 50. Maximum is 100.
marketcapNoMinimum MarketCap in $ (USD) of the token. Example: 100
pageNoEnables pagination and data retrieval control by skipping a specified number of items before fetching data. Page should be a non-negative integer, with 1 indicating the beginning of the dataset.
startDateNoStart Date accepts date as a string - YYYY-MM-DD format. Example: 2023-10-01
symbolNoComma-separated string of token symbols (e.g., 'BTC,ETH,ADA')
token_idNoComma-separated string of token IDs (e.g., '1,2,3')
volumeNoMinimum 24h trading volume in $ (USD) of the token. Example: 100

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 full burden. It mentions fetching 'for a specific date or date range' which implies time-based querying, but doesn't disclose critical behavioral traits like pagination behavior (implied by 'page' parameter but not explained), rate limits, authentication requirements, error handling, or what happens when no data matches filters. For a tool with 12 parameters and no annotations, this is inadequate.

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 front-loads the core purpose. It wastes no words on unnecessary details. However, it could be slightly more structured by separating the core action from the scope details for better readability.

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?

For a complex tool with 12 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain the return format, what 'investor grade' means in practice, how different filters interact, or provide examples of typical use cases. The agent would struggle to understand how to effectively use this tool beyond basic parameter filling.

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 12 parameters thoroughly. The description adds minimal value beyond the schema - it mentions 'date or date range' which corresponds to startDate/endDate parameters, but doesn't provide additional context about parameter interactions or filtering logic. Baseline 3 is appropriate when schema does the heavy lifting.

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 ('Fetch'), the resource ('token(s) long term grades'), and the scope ('including Technology and Fundamental metrics for a specific date or date range from Token Metrics API'). It distinguishes from siblings like 'get_tokens_trader_grade' by specifying 'investor grade' focus. However, it doesn't explicitly contrast with other token-related tools like 'get_tokens_data' or 'get_tokens_quant_metrics'.

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. With 17 sibling tools, many related to tokens (e.g., 'get_tokens_trader_grade', 'get_tokens_data'), there's no mention of when this specific investor-grade tool is appropriate versus other token analysis tools. The description only states what it does, not when to choose it.

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

get_tokens_priceC

Fetch token(s) price from Token Metrics API. Provide token_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
token_idYesComma-separated string of token IDs (e.g., '1,2,3')

TDQS

C2.9/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. It states the tool fetches prices but lacks details on rate limits, authentication needs, error handling, or response format. For a read operation with external API calls, this is insufficient, leaving the agent with gaps in understanding operational constraints.

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 concise and front-loaded in a single sentence, efficiently stating the tool's purpose without unnecessary words. However, it could be slightly improved by integrating usage hints more seamlessly, but overall, it's well-structured and to the point.

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 the tool's complexity (external API call, no annotations, no output schema), the description is incomplete. It doesn't cover behavioral aspects like rate limits or authentication, and without an output schema, it fails to explain return values. For a tool fetching financial data, this leaves significant gaps for the agent.

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 description adds minimal value beyond the input schema, which has 100% coverage and fully documents the 'token_id' parameter. It mentions 'Provide token_id' but doesn't elaborate on semantics like token ID formats or examples beyond what the schema already specifies. 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.

Purpose4/5

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

The description clearly states the action ('Fetch') and resource ('token(s) price from Token Metrics API'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_tokens_data' or 'get_tokens_quant_metrics', which might also involve token price data, so it misses full 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 minimal guidance by specifying 'Provide token_id' as a requirement, but it offers no context on when to use this tool versus alternatives such as 'get_tokens_daily_ohlcv' for historical prices or 'get_market_metrics' for broader metrics. There's no mention of prerequisites, exclusions, or comparative use cases.

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

get_tokens_quant_metricsC

Fetch the latest quantitative metrics for token(s). Note that Token Metrics pricing data starts on 2019-01-01 for most tokens. More historical data will be available soon.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoComma Separated category name. Example: yield farming,defi
exchangeNoComma Separated exchange name. Example: binance,gate
fdvNoMinimum fully diluted valuation in $ (USD) of the token. Example: 100
limitNoLimit the number of results returned. Default is 50. Maximum is 100.
marketcapNoMinimum MarketCap in $ (USD) of the token. Example: 100
pageNoEnables pagination and data retrieval control by skipping a specified number of items before fetching data. Page should be a non-negative integer, with 1 indicating the beginning of the dataset.
symbolNoComma-separated string of token symbols (e.g., 'BTC,ETH,ADA')
token_idNoComma-separated string of token IDs (e.g., '1,2,3')
volumeNoMinimum 24h trading volume in $ (USD) of the token. Example: 100

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only mentions historical data starting date and future availability. It lacks critical behavioral details like rate limits, authentication needs, error handling, or what 'quantitative metrics' specifically include (e.g., price, volume, market cap).

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 brief and front-loaded with the core purpose. The second sentence about historical data adds context but could be more integrated. It avoids redundancy and stays focused.

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?

For a tool with 9 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what metrics are returned, how results are structured, or provide enough behavioral context for safe and effective use by an AI agent.

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 fully documents all 9 parameters. The description adds no parameter-specific information beyond what's in the schema, maintaining the baseline score of 3 for adequate but no 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 ('Fetch') and resource ('latest quantitative metrics for token(s)'), distinguishing it from siblings like get_tokens_price or get_tokens_data. However, it doesn't explicitly differentiate from get_market_metrics or get_top_tokens_by_market_cap, which might overlap in purpose.

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 get_market_etrics or get_tokens_data. It mentions historical data availability but doesn't help the agent choose between this and sibling tools for similar queries.

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

get_tokens_resistance_and_supportC

Fetch token(s) historical levels of resistance and support from Token Metrics API. Provide token_id or symbol.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoLimit the number of results returned. Default is 50. Maximum is 100.
pageNoEnables pagination and data retrieval control by skipping a specified number of items before fetching data. Page should be a non-negative integer, with 1 indicating the beginning of the dataset.
symbolYesComma-separated string of token symbols (e.g., 'BTC,ETH,ADA')
token_idYesComma-separated string of token IDs (e.g., '1,2,3')

TDQS

C2.9/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. It mentions fetching 'historical levels' but lacks details on data freshness, rate limits, authentication needs, error handling, or response format. For a data retrieval tool with zero annotation coverage, this leaves significant gaps in understanding its operational behavior.

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 concise with two sentences that directly address the tool's function and parameter requirement. It avoids unnecessary fluff and is front-loaded with the core purpose, though it could be slightly more structured by separating usage hints from the main description.

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 the complexity of fetching financial data with multiple parameters and no output schema or annotations, the description is inadequate. It doesn't cover response format, data interpretation, error cases, or how to handle the 'limit' and 'page' parameters for pagination, leaving the agent with insufficient context for effective use.

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 description adds minimal value beyond the input schema, which has 100% coverage. It mentions 'Provide token_id or symbol' but doesn't explain the relationship between these parameters or clarify that both are required (as per schema). Since the schema already documents all parameters thoroughly, the baseline score of 3 is appropriate.

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 ('Fetch') and resource ('token(s) historical levels of resistance and support from Token Metrics API'), making the purpose understandable. However, it doesn't explicitly differentiate this tool from sibling tools like 'get_tokens_price' or 'get_tokens_quant_metrics', which might also involve token data retrieval but for different metrics.

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 minimal guidance, only mentioning to 'Provide token_id or symbol' without specifying when to use this tool versus alternatives like 'get_tokens_price' for price data or 'get_tokens_quant_metrics' for other quantitative metrics. No context on prerequisites, exclusions, or typical use cases is given.

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

get_tokens_scenario_analysisC

Fetch tokens(s) price prediction based on different Crypto Market scenarios from Token Metrics API.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoLimit the number of results returned. Default is 50. Maximum is 100.
pageNoEnables pagination and data retrieval control by skipping a specified number of items before fetching data. Page should be a non-negative integer, with 1 indicating the beginning of the dataset.
symbolNoComma-separated string of token symbols (e.g., 'BTC,ETH,ADA')
token_idNoComma-separated string of token IDs (e.g., '1,2,3')

TDQS

C2.9/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 but lacks behavioral details. It doesn't disclose rate limits, authentication requirements, response format, or error handling. The mention of 'scenarios' is vague without explaining what they entail or how predictions are generated.

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 front-loads the core purpose. It avoids unnecessary words, though it could be slightly more structured by explicitly mentioning key parameters or output expectations.

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?

For a tool with 4 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain the nature of 'scenarios', how predictions are formatted, or what the API returns. Given the complexity and lack of structured data, more context is needed for effective use.

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%, providing clear documentation for all parameters. The description adds no additional parameter semantics beyond implying 'scenarios' might be inferred from inputs, but it doesn't specify how symbols or token_ids relate to scenario analysis. Baseline 3 is appropriate as the schema handles most details.

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 ('Fetch') and resource ('tokens price prediction based on different Crypto Market scenarios'), specifying it comes from the Token Metrics API. It distinguishes from siblings like get_tokens_price by focusing on scenario-based predictions rather than current prices, though it doesn't explicitly name alternatives.

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 like get_tokens_price or get_tokens_ai_report. The description mentions 'different Crypto Market scenarios' but doesn't clarify what scenarios are available or when this tool is preferred over other prediction or analysis tools.

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

get_tokens_trader_gradeC

Fetch token(s) trader grade including the 24h percent change for the trader grade for a specific date or date range from Token Metrics API.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoComma Separated category name. Example: yield farming,defi
endDateNoEnd Date accepts date as a string - YYYY-MM-DD format. Example: 2023-10-10
exchangeNoComma Separated exchange name. Example: binance,gate
fdvNoMinimum fully diluted valuation in $ (USD) of the token. Example: 100
limitNoLimit the number of results returned. Default is 50. Maximum is 100.
marketcapNoMinimum MarketCap in $ (USD) of the token. Example: 100
pageNoEnables pagination and data retrieval control by skipping a specified number of items before fetching data. Page should be a non-negative integer, with 1 indicating the beginning of the dataset.
startDateNoStart Date accepts date as a string - YYYY-MM-DD format. Example: 2023-10-01
symbolNoComma-separated string of token symbols (e.g., 'BTC,ETH,ADA')
token_idNoComma-separated string of token IDs (e.g., '1,2,3')
traderGradeNoMinimum TM Trader Grade of the token. Example: 17
traderGradePercentChangeNoMinimum 24h percent change in TM Trader Grade of the token. Example: 0.14
volumeNoMinimum 24h trading volume in $ (USD) of the token. Example: 100

TDQS

C2.9/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. It mentions fetching data, implying a read-only operation, but doesn't specify whether this requires authentication, rate limits, pagination behavior (beyond the 'page' parameter in schema), or error handling. The description lacks details on what 'trader grade' entails or how the 24h percent change is calculated, leaving 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.

Conciseness4/5

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

The description is a single, well-structured sentence that efficiently conveys the core purpose. It front-loads the key action and resource, with no wasted words. However, it could be slightly more concise by avoiding redundancy like 'for the trader grade' after 'token(s) trader grade'.

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 complexity (13 parameters, no annotations, no output schema), the description is minimally adequate. It covers the basic purpose but lacks details on behavioral traits (e.g., authentication, rate limits), output format, or error handling. Without annotations or an output schema, the agent must rely heavily on the schema and trial-and-error, making this incomplete for safe and effective use.

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 schema description coverage is 100%, so all parameters are documented in the schema. The description adds minimal value beyond the schema by implying date-range filtering ('for a specific date or date range') and mentioning 'trader grade' and '24h percent change', which correspond to parameters like 'traderGrade' and 'traderGradePercentChange'. However, it doesn't explain parameter interactions or default behaviors beyond what's in the schema.

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 ('Fetch') and the resource ('token(s) trader grade including the 24h percent change'), specifying it's from the Token Metrics API. It distinguishes itself from siblings like 'get_tokens_investor_grade' by focusing on trader grade, but doesn't explicitly contrast with other filtering tools like 'get_tokens_data' or 'get_top_tokens_by_market_cap'.

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 mentions fetching for 'a specific date or date range', which implies usage context, but provides no guidance on when to use this tool versus alternatives like 'get_tokens_data' (general data) or 'get_top_tokens_by_market_cap' (market cap ranking). There are no explicit when/when-not statements or named alternatives, leaving the agent to infer based on tool names alone.

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

get_tokens_trading_signalC

Fetch token(s) AI generated trading signals for long and short positions for a specific date or date range from Token Metrics API.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoComma Separated category name. Example: yield farming,defi
endDateNoEnd Date accepts date as a string - YYYY-MM-DD format. Example: 2023-10-10
exchangeNoComma Separated exchange name. Example: binance,gate
fdvNoMinimum fully diluted valuation in $ (USD) of the token. Example: 100
limitNoLimit the number of results returned. Default is 50. Maximum is 100.
marketcapNoMinimum MarketCap in $ (USD) of the token. Example: 100
pageNoEnables pagination and data retrieval control by skipping a specified number of items before fetching data. Page should be a non-negative integer, with 1 indicating the beginning of the dataset.
signalNoThe current signal value of the strategy of the token, between bullish (1), bearish (-1) or no signal (0). Example: 1
startDateNoStart Date accepts date as a string - YYYY-MM-DD format. Example: 2023-10-01
symbolNoComma-separated string of token symbols (e.g., 'BTC,ETH,ADA')
token_idNoComma-separated string of token IDs (e.g., '1,2,3')
volumeNoMinimum 24h trading volume in $ (USD) of the token. Example: 100

TDQS

C2.9/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 but lacks behavioral details. It doesn't disclose whether this is a read-only operation, rate limits, authentication requirements, error handling, or response format. The phrase 'Fetch' implies a safe read operation, but this isn't explicitly confirmed. More context on API constraints or data freshness would help.

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 that front-loads the core purpose without unnecessary words. Every part earns its place: verb, resource, key attributes (long/short positions, date range), and data source. No redundancy or fluff.

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?

For a tool with 12 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain the return structure (e.g., list of signals with fields), pagination behavior (implied by page/limit but not described), or how filters combine. The agent lacks context to interpret results or handle edge cases.

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 parameters are well-documented in the schema itself. The description adds no additional parameter semantics beyond implying date-range filtering. It doesn't explain relationships between parameters (e.g., how symbol interacts with category) or provide examples of combined usage. Baseline 3 is appropriate given the schema does the heavy lifting.

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 ('Fetch'), resource ('token(s) AI generated trading signals'), and scope ('for long and short positions for a specific date or date range from Token Metrics API'). It distinguishes from siblings like get_tokens_price or get_tokens_data by specifying trading signals, but doesn't explicitly differentiate from get_tokens_ai_report or get_tokens_quant_metrics which might overlap.

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 get_tokens_ai_report or get_tokens_quant_metrics. It mentions the source (Token Metrics API) but doesn't explain use cases, prerequisites, or exclusions. The agent must infer usage from the tool name and parameters alone.

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

get_top_tokens_by_market_capC

Fetch the the list of coins with top market cap from Token Metrics API.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoEnables pagination and data retrieval control by skipping a specified number of items before fetching data. Page should be a non-negative integer, with 1 indicating the beginning of the dataset.
top_kNoSpecifies the number of top cryptocurrencies to retrieve, based on their market capitalization. Default is 50. Maximum is 100. Exmaple: 100

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 fetching data but lacks details on rate limits, authentication needs, error handling, or response format. For a data retrieval tool with zero annotation coverage, this is a significant gap in transparency.

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 directly states the tool's purpose without unnecessary words. However, it contains a minor typo ('the the'), and could be slightly improved in structure, but overall it is well-sized and front-loaded.

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 the complexity of fetching market data, no annotations, and no output schema, the description is incomplete. It lacks details on behavioral traits, response format, and usage context, making it inadequate for an agent to fully understand how to interact with this tool effectively.

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%, with clear documentation for both parameters ('page' and 'top_k'). The description adds no additional parameter semantics beyond what the schema provides, such as default values or usage examples, so it meets the baseline for adequate but not enhanced coverage.

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 ('fetch') and resource ('list of coins with top market cap from Token Metrics API'), making the purpose understandable. However, it doesn't explicitly differentiate this tool from sibling tools like 'get_market_metrics' or 'get_tokens_data' which might also retrieve market-related data, preventing 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. With many sibling tools available (e.g., 'get_market_metrics', 'get_tokens_data'), there is no indication of specific use cases, prerequisites, or comparisons, leaving the agent without contextual direction.

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.

  1. 19 tool updatesv1.0.0
    • First observedget_crypto_investors
    • First observedget_indices
    • First observedget_indices_holdings
    • First observedget_indices_performance
    • First observedget_market_metrics
    • First observedget_sentiment
    • First observedget_tokens_ai_report
    • First observedget_tokens_correlation
    • First observedget_tokens_daily_ohlcv
    • First observedget_tokens_data
    • First observedget_tokens_hourly_ohlcv
    • First observedget_tokens_investor_grade
    • First observedget_tokens_price
    • First observedget_tokens_quant_metrics
    • First observedget_tokens_resistance_and_support
    • First observedget_tokens_scenario_analysis
    • First observedget_tokens_trader_grade
    • First observedget_tokens_trading_signal
    • First observedget_top_tokens_by_market_cap

TDQS

B3.4/5.0

Scored across 19 tools

Disambiguation4/5

Most tools have distinct purposes targeting specific data types like indices, tokens, or market metrics, but there is some overlap between get_tokens_data and get_tokens_price which could cause confusion. The descriptions help clarify, but agents might misselect between these for basic token information.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case, starting with 'get_' followed by descriptive nouns (e.g., get_crypto_investors, get_tokens_ai_report). This uniformity makes the set predictable and easy to navigate.

Tool Count3/5

With 19 tools, the count is borderline high for a crypto analytics server, potentially overwhelming for agents. While it covers many aspects, it feels heavy and could benefit from consolidation, such as merging some token-related tools.

Completeness5/5

The tool set provides comprehensive coverage for crypto analytics, including data fetching for investors, indices, market metrics, sentiment, and detailed token analyses (e.g., reports, grades, signals). No obvious gaps exist; agents can perform a wide range of investment and research tasks.

Related MCP Connectors

Related MCP Servers