Skip to main content
Glama
twelvedata

Twelve Data MCP Server

Official
by twelvedata

Twelve Data MCP Server

Connect Claude, ChatGPT, and other AI assistants to the Twelve Data financial API — real-time and historical prices, 60+ technical indicators, fundamentals, earnings, dividends, ETFs, company news, market movers, and more.

You need a Twelve Data account. Sign up at twelvedata.com.

There are two ways to use it. Most people should use the cloud server (Option 1) — there is nothing to install.


Connect your AI assistant to our hosted server:

https://mcp.twelvedata.com/mcp

That's it. No installation, no API key to copy and paste. When you connect, a browser window opens and you log in with your Twelve Data account — your personal API key is linked automatically and stays tied to your account.

How to add it

Claude (Desktop / Web) and ChatGPT support custom connectors / MCP servers:

  1. Open your assistant's Connectors (or Integrations / MCP servers) settings.

  2. Add a new connector with the URL https://mcp.twelvedata.com/mcp.

  3. When prompted, click Connect / Log in — a Twelve Data login page opens in your browser.

  4. Authorize, and you're done. Ask things like "What's the RSI for AAPL?" or "Show me TSLA's latest earnings."

The exact menu names differ between apps and versions, but the flow is always the same: add the URL, then log in via the browser popup.


Related MCP server: Stocks MCP Server

Option 2 — Run it locally with your API key

Prefer to run the server on your own machine (e.g. for Claude Desktop over stdio)? You only need your Twelve Data API key — no OAuth setup.

1. Get your API key

Log in at twelvedata.com → your dashboard → API Keys. Copy your key.

2. Install

Requires Python 3.10+ (3.12 recommended; on macOS brew install python@3.12 or make python-install).

make install

3. Add your API key

Create a .env file in the project root with your key:

TWELVE_DATA_API_KEY=your_api_key_here

4. Connect to Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "twelvedata": {
      "command": "/path/to/twelve-data-mcp/.venv/bin/python",
      "args": ["/path/to/twelve-data-mcp/src/server.py"]
    }
  }
}

Use the .venv/bin/python path (not the system Python — macOS ships 3.9, and this server needs 3.10+). Restart Claude Desktop after editing the config.

That's all — the server reads your API key from .env and every request uses it. No login step needed.


What you can ask

  • Prices — stocks, ETFs, forex, crypto, commodities (real-time & historical)

  • Technical indicators — RSI, MACD, SMA, BBANDS, ATR, and 60+ more

  • Fundamentals — financial statements, earnings, dividends, splits, company profiles, market cap, key stats, IPO calendar

  • Funds — ETF & mutual fund profiles, performance, holdings, risk

  • News — company news & press releases

  • Market intelligence — movers, exchange rates, analyst ratings, price targets

  • Regulatory — SEC/EDGAR filings, insider transactions, institutional holdings

Symbol formats: stocks AAPL, crypto BTC/USD, forex EUR/USD.


Partners

Running your own public instance or setting up a dedicated OAuth login? That's a partner arrangement — reach out to us at twelvedata.com and we'll provide the setup guide and OAuth credentials.

Available Tools

35 tools
GetApiUsageCInspect

This endpoint will provide information on the current usage of Twelve Data API.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.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 the full burden of behavioral disclosure. It states the tool provides information, implying a read-only operation, but doesn't specify if it's safe (e.g., no side effects), requires authentication, has rate limits, or returns structured data. The description lacks details on response format, error handling, or any constraints beyond the basic purpose.

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, straightforward sentence that efficiently states the tool's purpose without unnecessary words. It's front-loaded with the core function, making it easy to parse. However, it could be more structured by including key details, but as-is, it avoids verbosity.

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 (1 parameter with nested properties), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., usage metrics format), behavioral traits, or parameter interactions. For a tool that likely involves API key handling and data retrieval, 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.

Parameters2/5

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

The description has 0% schema description coverage, as it repeats the same text without explaining parameters. It doesn't add meaning beyond the input schema, which documents parameters like format, delimiter, timezone, outputsize, and apikey. For a tool with 1 parameter (a nested object with 5 sub-parameters), this is inadequate, failing to compensate for the low coverage.

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

Purpose3/5

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

The description states the tool 'will provide information on the current usage of Twelve Data API,' which clarifies it retrieves API usage data. However, it's vague about what specific usage metrics are returned (e.g., rate limits, quotas, historical data) and doesn't differentiate from siblings like GetStatistics or GetTechnicalIndicators, which might also provide data-related insights. The purpose is understandable but lacks specificity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., API key requirements), frequency of use, or comparisons to sibling tools like GetStatistics for general data or GetTimeSeries for time-based metrics. This leaves the agent without context for tool selection.

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

GetCommoditiesCInspect

This API call returns an array of commodity pairs available at Twelve Data API. This list is updated daily.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool returns an array and that the list is updated daily, which adds some context about data freshness. However, it lacks critical details: whether this is a read-only operation, potential rate limits, authentication needs (implied by 'apikey' in schema but not described), error handling, or response format beyond 'array.' For a tool with no annotations, this is insufficient.

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 with the core purpose in the first sentence. It consists of two sentences with no wasted words, efficiently conveying the return type and update frequency. However, it could be slightly improved by integrating parameter hints, but as-is, 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 complexity (6 parameters with 0% schema coverage, no annotations, no output schema), the description is incomplete. It covers the basic purpose and data freshness but misses parameter explanations, usage context, behavioral traits like auth or limits, and output details. For a tool with rich input schema and no structured support, this leaves significant gaps for an agent.

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

Parameters1/5

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

Schema description coverage is 0%, meaning parameters are undocumented in the schema, so the description must compensate. The description mentions no parameters at all, failing to explain what 'params' includes (e.g., symbol, category, format) or their purposes. With 1 required parameter and 6 total in the schema, this leaves semantics entirely unclear, making it hard for an agent to invoke the tool correctly.

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: 'returns an array of commodity pairs available at Twelve Data API.' It specifies the verb ('returns') and resource ('commodity pairs'), making the action clear. However, it doesn't explicitly differentiate from sibling tools like 'GetForexPairs' or 'GetStocks' beyond mentioning 'commodity pairs,' which is somewhat implied but not stated.

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 mentions the list is 'updated daily,' which hints at freshness, but doesn't specify use cases, prerequisites, or comparisons to siblings like 'GetSymbolSearch' or 'GetExchanges.' There's no explicit when/when-not or alternative tool recommendations.

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

GetCrossListingsCInspect

This API call returns an array of cross listed symbols for a specified instrument. Cross listings are the same securities listed on different exchanges. This list is updated daily.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.6/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 the data is 'updated daily' which is useful context about freshness, but doesn't disclose important behavioral traits like whether this is a read-only operation (implied but not stated), rate limits, authentication requirements (though apikey is in schema), error conditions, or response format details.

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 concise with two sentences that efficiently convey the core functionality and data freshness. It's front-loaded with the main purpose. However, the second sentence defining cross-listings could be considered slightly redundant for financial domain experts.

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 has 6 parameters (1 required, 5 optional) with 0% schema description coverage and no output schema, the description is incomplete. It doesn't explain what parameters are needed, what the return format looks like (beyond 'array'), or important behavioral constraints. For a data retrieval tool with multiple filtering parameters, this leaves significant gaps.

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

Parameters1/5

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

Schema description coverage is 0% (the schema description merely repeats the tool description), so the description must compensate for parameter documentation. However, the description provides no information about any parameters - it doesn't mention the required 'symbol' parameter or optional parameters like 'exchange', 'mic_code', 'country', 'outputsize', or 'apikey'. This leaves all parameter semantics undocumented.

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: 'returns an array of cross listed symbols for a specified instrument' with the specific resource being cross-listings. It distinguishes from siblings by focusing on cross-listings rather than other financial data types like dividends, earnings, or technical indicators. However, it doesn't explicitly differentiate from similar lookup tools like GetSymbolSearch.

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 when cross-listing data is needed versus other symbol lookup tools, nor does it specify prerequisites or constraints beyond daily updates. No explicit alternatives or exclusions are provided.

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

GetCryptocurrenciesCInspect

This API call returns an array of cryptocurrencies available at Twelve Data API. This list is updated daily.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.6/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 returns an array and that the list is updated daily, but it doesn't cover critical aspects like whether this is a read-only operation, potential rate limits, authentication requirements (implied by the 'apikey' parameter but not stated), error handling, or pagination. For a tool with multiple parameters and 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 concise and front-loaded, consisting of two clear sentences that state the core functionality and update frequency. There is no unnecessary verbosity, and every sentence adds value (though limited). However, it could be more structured by explicitly mentioning key parameters or usage scenarios.

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 (8 parameters, no annotations, no output schema), the description is incomplete. It lacks details on parameter usage, behavioral traits like authentication or rate limits, and output format. The daily update note is helpful but insufficient for a tool with this level of parameter richness and no structured support from annotations or output schema.

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

Parameters1/5

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

The description adds no parameter semantics beyond what the input schema provides. With a schema description coverage of 0% (the schema's description is identical to the tool description), the description fails to explain any of the 8 parameters (e.g., 'symbol', 'exchange', 'outputsize') or their purposes. This is inadequate given the low schema coverage and multiple parameters.

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: 'returns an array of cryptocurrencies available at Twelve Data API.' It specifies the verb ('returns') and resource ('cryptocurrencies'), and mentions the data source. However, it doesn't explicitly differentiate from sibling tools like 'GetStocks' or 'GetForexPairs' beyond the resource name, which is why it doesn't reach 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. It doesn't mention any prerequisites, such as needing an API key, or compare it to related tools like 'GetCryptocurrencyExchanges' or 'GetSymbolSearch'. The only contextual note is that the list is updated daily, which is minimal usage information.

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

GetCryptocurrencyExchangesCInspect

This API call returns an array of cryptocurrency exchanges available at Twelve Data API. This list is updated daily.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.6/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 states the tool returns an array and that the list is updated daily, which adds some context (freshness). However, it lacks details on permissions, rate limits, error handling, or response format, which are critical for a read operation with 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 concise and front-loaded, consisting of two clear sentences that state the core functionality and update frequency. There's no wasted text, and it efficiently communicates the essential information without unnecessary elaboration.

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 (a read operation with parameters), no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It lacks details on parameters, return values, error cases, and usage context, making it inadequate for effective tool invocation by an AI agent.

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

Parameters1/5

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

The description adds no parameter semantics beyond what the input schema provides. Schema description coverage is 0%, meaning parameters are undocumented in the schema, and the description doesn't mention any parameters, their purposes, or how they affect the output, failing to compensate for the coverage gap.

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: 'returns an array of cryptocurrency exchanges available at Twelve Data API.' It specifies the verb ('returns') and resource ('cryptocurrency exchanges'), and mentions the data source. However, it doesn't explicitly differentiate from sibling tools like 'GetExchanges' or 'GetCryptocurrencies', which reduces clarity.

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 mentions the list is 'updated daily,' which hints at freshness, but offers no explicit when/when-not instructions or references to sibling tools for comparison, leaving usage context unclear.

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

GetCurrencyConversionCInspect

This API call returns real-time exchange rate and converted amount for currency pair. Works with forex and cryptocurrency.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.6/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. While it mentions 'real-time exchange rate' and works with 'forex and cryptocurrency,' it doesn't disclose important behavioral traits like rate limits, authentication requirements (though apikey parameter exists), data freshness guarantees, error conditions, or response format details. The description is too sparse for a tool with 9 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.

Conciseness4/5

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

The description is appropriately concise with just two sentences that directly state the tool's core functionality. There's no wasted verbiage or unnecessary elaboration. However, it could be better structured by front-loading the most critical information more explicitly, but overall it's efficient 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 (9 parameters, no output schema, no annotations), the description is incomplete. It doesn't explain what the tool returns beyond 'exchange rate and converted amount,' doesn't clarify the relationship between parameters, and doesn't address important contextual factors like data sources, accuracy, or limitations. For a financial data tool with multiple parameters affecting output format and historical data retrieval, this 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.

Parameters1/5

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

The description provides zero information about parameters beyond what's already in the schema. With 0% schema description coverage (meaning schema properties lack descriptions), the description should compensate by explaining key parameters, but it doesn't mention any parameters at all. For a tool with 9 parameters including complex ones like date, timezone, and outputsize, this is a significant gap that leaves the agent guessing about parameter meanings and usage.

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: 'returns real-time exchange rate and converted amount for currency pair' with the specific scope of 'Works with forex and cryptocurrency.' This provides a specific verb (returns), resource (exchange rate and converted amount), and scope. However, it doesn't explicitly distinguish this tool from sibling tools like GetExchangeRate or GetForexPairs, which appear to offer similar functionality.

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 multiple sibling tools that appear related to currency/exchange data (GetExchangeRate, GetForexPairs, GetCryptocurrencies), the description fails to explain what makes this tool unique or when it should be preferred over those alternatives. There's no mention of prerequisites, limitations, 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.

GetDividendsCInspect

Returns the amount of dividends paid out for the last 10+ years.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.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 the full burden of behavioral disclosure. It mentions the time range ('last 10+ years') but doesn't cover critical aspects like rate limits, authentication needs (implied by 'apikey' in schema), error handling, or data freshness. The description is minimal and lacks details on what the return looks like (e.g., structured data, pagination).

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 with no wasted words. It's front-loaded with the core purpose, making it easy to scan. Every part of the sentence contributes to understanding the tool's function.

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 (1 parameter but with nested object containing 13 fields), no annotations, and no output schema, the description is incomplete. It doesn't address the rich parameter set, return format, or behavioral traits needed for effective use. The tool likely returns time-series data, but the description doesn't hint at structure or limitations.

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

Parameters1/5

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

The description adds no parameter semantics beyond what's implied in the purpose. With 0% schema description coverage (the schema has detailed param descriptions, but coverage is calculated as 0% based on context signals), the description fails to compensate by explaining key parameters like 'symbol', 'range', or 'outputsize'. It doesn't clarify how parameters interact or default behaviors.

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

Purpose3/5

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

The description states the tool returns dividend amounts for the last 10+ years, which is a clear purpose. However, it's somewhat vague about the exact scope (e.g., '10+ years' is imprecise) and doesn't explicitly differentiate from sibling tools like 'GetEarnings' or 'GetSplits', which might also return financial data. It specifies the resource (dividends) but lacks detail on format or granularity.

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 sibling tools or clarify if this is the primary method for dividend data versus other financial data tools. There's no context on prerequisites, such as API plan requirements (though hinted in schema), or typical use cases like investment analysis.

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

GetEarliestTimestampCInspect

This method returns the first available DateTime for a given instrument at the specific interval.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.3/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 states it 'returns' data, implying a read-only operation, but doesn't mention authentication needs (though 'apikey' parameter suggests it), rate limits, error conditions, or what happens with invalid inputs. The description lacks crucial behavioral context for a tool with multiple 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 gets straight to the point without unnecessary words. It's appropriately sized for a simple retrieval tool, though it could benefit from being more informative given the parameter complexity.

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 10 parameters, 0% schema description coverage, no annotations, and no output schema, the description is inadequate. It doesn't explain what the tool returns (beyond 'DateTime'), how to interpret the result, or provide any context about the parameters. The description fails to compensate for the lack of structured documentation.

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

Parameters1/5

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

The schema description coverage is 0%, meaning none of the 10 parameters have descriptions in the schema. The tool description doesn't mention any parameters at all, failing to compensate for this gap. It doesn't explain what 'instrument' means, what 'interval' refers to, or any other parameter semantics.

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

Purpose3/5

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

The description states the tool 'returns the first available DateTime for a given instrument at the specific interval', which provides a clear verb ('returns') and resource ('first available DateTime'). However, it doesn't distinguish this from sibling tools like 'GetTimeSeries' or 'GetEod' that might also retrieve time-related data. The purpose is understandable but lacks sibling differentiation.

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, such as needing an instrument identifier, or compare it to sibling tools like 'GetTimeSeries' for retrieving full time series data. There's no explicit when/when-not usage context.

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

GetEarningsCInspect

This API call returns earnings data for a given company, including EPS estimate and EPS actual. Earnings are available for complete company history.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions 'Earnings are available for complete company history' which provides some context about data availability, but doesn't disclose rate limits, authentication requirements (though apikey is in schema), error conditions, or response format details. For a financial data tool with 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 appropriately concise with two sentences. The first sentence states the core purpose clearly, and the second adds important context about data availability. No wasted words, though it could be more comprehensive given the tool's complexity.

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 (15 parameters, no output schema, no annotations), the description is severely incomplete. It doesn't explain parameters, return format, authentication, or usage context. While it states the basic purpose, it leaves too many unknowns for effective tool selection and invocation.

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

Parameters1/5

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

The description provides zero information about parameters. With 0% schema description coverage (the schema has no descriptions for parameters), the description doesn't compensate at all. It doesn't explain what 'symbol' means, what format it expects, or any of the 14 other parameters. This is a critical deficiency.

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: 'returns earnings data for a given company, including EPS estimate and EPS actual.' It specifies the resource (earnings data) and key data points (EPS estimate/actual). However, it doesn't differentiate from siblings like GetDividends or GetStatistics, which might also return financial data.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description mentions 'Earnings are available for complete company history' but doesn't specify prerequisites, limitations, or when other tools might be more appropriate. With many sibling tools for financial data, this is a significant gap.

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

GetEodCInspect

This endpoint returns the latest End of Day (EOD) price of an instrument.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.7/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 the tool returns data but doesn't cover critical aspects like whether it's a read-only operation, potential rate limits, authentication needs (though 'apikey' is in the schema), error handling, or data freshness. 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.

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 unnecessary words. It's appropriately sized and front-loaded, providing essential information in a clear and concise manner.

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 (13 parameters, no annotations, no output schema), the description is insufficient. It doesn't explain the return values, parameter interactions, or behavioral traits. For a tool with rich input options and no structured metadata, the description should provide more context to guide effective use.

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

Parameters1/5

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

The description mentions no parameters, while the input schema has 13 parameters with 0% schema description coverage (i.e., no descriptions in the schema itself). This leaves all parameters undocumented in both the schema and the description. The description fails to compensate for the lack of schema documentation, making it inadequate for understanding parameter usage.

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: 'returns the latest End of Day (EOD) price of an instrument.' It specifies the verb ('returns') and resource ('EOD price'), making it easy to understand what the tool does. However, it doesn't distinguish this tool from sibling tools like 'GetPrice' or 'GetQuote', which might also retrieve price-related data, so it doesn't reach the highest 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. It doesn't mention sibling tools like 'GetPrice' or 'GetQuote', nor does it specify contexts or exclusions for usage. This lack of comparative information leaves the agent without clear direction on tool selection.

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

GetEtfCInspect

This API call returns an array of ETFs available at Twelve Data API. This list is updated daily.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.3/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 the list is 'updated daily', which adds useful context about data freshness. However, it doesn't describe important behaviors: whether this is a read-only operation, what happens with invalid parameters, rate limits, authentication requirements (though apikey is in schema), or the response format details. 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 appropriately concise with two sentences that convey the core functionality and a useful data freshness detail. It's front-loaded with the main purpose. However, the second sentence about daily updates, while helpful, could be more integrated with the first for better flow.

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, 0% schema description coverage, no annotations, and no output schema, the description is severely incomplete. It explains what the tool returns at a high level but provides no guidance on how to use the numerous filtering parameters, what the response contains, error conditions, or authentication requirements. The daily update note is helpful but insufficient for the tool's complexity.

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

Parameters1/5

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

Schema description coverage is 0%, meaning none of the 12 parameters have descriptions in the schema. The tool description provides no parameter information whatsoever - it doesn't mention any of the filtering options (symbol, exchange, country, etc.) or configuration parameters (format, delimiter, outputsize). The description fails completely to compensate for the lack of schema documentation.

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

Purpose3/5

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

The description states the tool 'returns an array of ETFs available at Twelve Data API', which provides a clear verb ('returns') and resource ('ETFs'). However, it doesn't distinguish this from sibling tools like GetStocks or GetFunds that also return financial instruments, nor does it clarify if this is a list of all ETFs or filtered results. The purpose is understandable but lacks sibling differentiation.

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 sibling tools like GetStocks for stocks or GetFunds for mutual funds, nor does it explain when filtering by parameters like symbol or exchange is appropriate versus using other tools. There's no context about prerequisites or typical use cases.

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

GetExchangeRateCInspect

This API call returns real-time exchange rate for currency pair. Works with forex and cryptocurrency.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

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 states 'returns real-time exchange rate' which implies a read operation, but doesn't mention rate limits, authentication requirements (though apikey is in schema), error conditions, or whether historical data is available. The description is minimal and leaves many behavioral aspects unspecified.

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

Conciseness5/5

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

The description is extremely concise at just two sentences, with zero wasted words. It's front-loaded with the core purpose and efficiently adds the asset type scope in the second sentence. Every word earns its place in this minimal 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?

For a tool with 8 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what the return value looks like, doesn't mention the historical data capability (implied by date parameter), and provides minimal behavioral context. The schema carries most of the documentation burden, but the description should do more given the tool's complexity.

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 0%, but the description itself provides no parameter information beyond what's implied by 'currency pair'. The schema comprehensively documents all 8 parameters with detailed descriptions, examples, and defaults, making the description's lack of parameter details less critical. Baseline 3 is appropriate given the schema does 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 tool's purpose: 'returns real-time exchange rate for currency pair' with the specific verb 'returns' and resource 'exchange rate'. It distinguishes from some siblings by mentioning 'forex and cryptocurrency', but doesn't explicitly differentiate from GetCurrencyConversion or GetForexPairs which might have overlapping functionality.

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 GetCurrencyConversion or GetForexPairs. It mentions 'Works with forex and cryptocurrency' which gives some context about supported asset types, but offers no explicit when/when-not instructions or comparison to sibling tools.

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

GetExchangesCInspect

This API call returns an array of stock or ETF exchanges available at Twelve Data API. This list is updated daily.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.6/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 provides minimal behavioral context. It mentions the list is 'updated daily,' which is useful for understanding data freshness, but lacks details on rate limits, authentication needs (though apikey is in schema), error handling, or response structure. For a tool with 9 parameters, this is insufficient.

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, stating the core purpose in the first sentence. The second sentence adds useful context about update frequency. No wasted words, though it could be more informative given the tool's complexity.

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 (9 parameters, no output schema, no annotations), the description is inadequate. It doesn't explain the filtering logic, response format, or usage constraints. For a data retrieval tool with multiple filters and output options, 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.

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate but adds no parameter information. It doesn't explain what 'params' contains, how filtering works, or the purpose of any input fields. With 9 undocumented parameters, this is a significant gap.

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: 'returns an array of stock or ETF exchanges available at Twelve Data API.' It specifies the resource (exchanges) and verb (returns/gets), but doesn't distinguish it from sibling tools like GetCryptocurrencyExchanges or GetStocks, which target different asset classes.

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 on when to use this tool versus alternatives is provided. The description mentions the list is 'updated daily,' which hints at freshness but doesn't help an agent choose between this and other data retrieval tools like GetStocks or GetCryptocurrencyExchanges.

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

GetForexPairsCInspect

This API call returns an array of forex pairs available at Twelve Data API. This list is updated daily.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool returns an array and that the list is updated daily, but lacks critical details: it doesn't mention authentication needs (though 'apikey' is in the schema), rate limits, error handling, or the structure of the returned array. For a tool with no 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 concise and front-loaded in a single sentence, stating the core purpose efficiently. The second sentence adds useful context about daily updates. There's no wasted verbiage, though it could be slightly more informative without sacrificing brevity.

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 (7 parameters, no annotations, no output schema), the description is incomplete. It covers the basic purpose but omits parameter semantics, behavioral traits like authentication or limits, and output details. For a data-fetching tool with multiple filters, this leaves the agent under-informed about how to invoke it effectively.

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

Parameters1/5

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

The description provides no information about parameters, while the schema description coverage is 0% (the schema's description merely repeats the tool description). With 7 parameters (via nested 'params' object) and no semantic guidance in either the description or schema, the agent lacks context on how to use filters like 'symbol', 'currency_base', or 'outputsize'. This fails to compensate for the low 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's purpose: 'returns an array of forex pairs available at Twelve Data API.' It specifies the verb ('returns') and resource ('forex pairs'), and distinguishes it from siblings by focusing on forex pairs rather than stocks, commodities, or other data types. However, it doesn't explicitly differentiate from similar tools like 'GetStocks' or 'GetCryptocurrencies' beyond the resource name.

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 mentions the list is 'updated daily,' which hints at freshness, but offers no explicit usage context, prerequisites, or comparisons to sibling tools like 'GetCurrencyConversion' or 'GetExchangeRate' that might overlap in forex-related queries.

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

GetFundsCInspect

This API call returns an array of funds available at Twelve Data API. This list is updated daily.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.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 the full burden of behavioral disclosure. It states the tool returns data and that the list is updated daily, which is useful context. However, it lacks critical details such as whether this is a read-only operation, potential rate limits, authentication requirements (implied by the 'apikey' parameter but not explained), or error handling, leaving significant gaps for safe and effective use.

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

Conciseness3/5

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

The description is brief with two sentences, but the second sentence about daily updates adds value. However, it repeats the schema description verbatim, which is redundant and doesn't earn its place efficiently. A more structured approach could have better differentiated purpose from behavioral details.

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 11 parameters, no annotations, and no output schema, the description is incomplete. It covers the basic purpose and update frequency but misses parameter explanations, usage guidelines, and behavioral traits like authentication or pagination, making it inadequate for a tool with this level of detail required for proper invocation.

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

Parameters1/5

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

The description repeats the same text as the schema description ('This API call returns an array of funds available at Twelve Data API. This list is updated daily.') without adding any meaningful details about the 11 parameters. With 0% schema description coverage, the parameters are undocumented in both the schema and description, failing to compensate for this gap and leaving the agent without guidance on how to use them effectively.

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 'returns an array of funds available at Twelve Data API' with a specific verb ('returns') and resource ('funds'), making the purpose evident. However, it doesn't explicitly differentiate this tool from sibling tools like 'GetEtf' or 'GetStocks', which also retrieve financial instruments, leaving some ambiguity about when to choose funds over other asset types.

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 mentions the list is 'updated daily,' which hints at freshness but doesn't specify use cases, prerequisites, or comparisons to sibling tools like 'GetEtf' for ETFs or 'GetStocks' for stocks, 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.

GetIpoCalendarCInspect

This endpoint returns past, today, or upcoming IPOs.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It only states what the tool returns without mentioning any behavioral traits like rate limits, authentication requirements (though apikey is in schema), pagination, or error handling. This leaves significant gaps for a data retrieval 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 extremely concise - a single sentence that directly states the tool's purpose. There's no wasted language or unnecessary elaboration, making it front-loaded and efficient.

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 data retrieval tool with no annotations, no output schema, and 1 parameter with 0% description coverage, the description is inadequate. It doesn't explain what format the IPO data returns, how results are structured, or provide any context about the data source or limitations. The single sentence is insufficient for proper tool understanding.

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

Parameters1/5

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

The description provides zero information about parameters despite having 1 parameter (params) with 0% schema description coverage. The schema's $defs has good parameter documentation, but the tool description itself adds no semantic value beyond what's already in the structured schema, failing to compensate for the coverage gap.

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: 'returns past, today, or upcoming IPOs', which is a specific verb+resource combination. However, it doesn't distinguish this tool from its siblings (like GetStocks or GetDividends) beyond mentioning IPOs specifically, which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. While it mentions IPOs, it doesn't explain when to choose this over other financial data tools like GetStocks or GetEarnings, nor does it mention any prerequisites or constraints beyond what's implied by the purpose.

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

GetMarketStateCInspect

Check the state of all available exchanges, time to open, and time to close. Returns all available stock exchanges by default.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

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 the tool checks exchange states and returns data by default, but lacks critical details: it doesn't specify if this is a read-only operation, what permissions or API keys are needed (though 'apikey' is in the schema), rate limits, error handling, or the format of the return values. For a tool with no 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 concise and front-loaded, stating the core purpose in the first sentence. It uses two sentences total with no wasted words, making it easy to parse. However, it could be slightly improved by structuring usage hints or parameter context, but it's efficient as-is.

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 (checking exchange states with timing info), no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It doesn't explain what 'state' entails (e.g., open/closed status), how timing data is formatted, or handle edge cases. For a tool that likely returns structured market data, more context is needed to guide an AI agent 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?

The schema description coverage is 0%, meaning parameter descriptions are entirely missing from the schema. The tool description does not mention any parameters or their purposes, failing to compensate for this gap. However, since there is only one parameter ('params'), which is a nested object, the baseline is adjusted to 3 due to low parameter count, but the description adds no semantic value beyond what's implied by the tool name.

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: 'Check the state of all available exchanges, time to open, and time to close.' It specifies the verb ('Check') and resource ('exchanges'), and mentions the return behavior. However, it doesn't explicitly distinguish this tool from sibling tools like 'GetExchanges' or 'GetTimeSeries', which could provide similar market-related data, leaving some ambiguity about its unique role.

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 mentions that it 'Returns all available stock exchanges by default,' but doesn't explain when to use it over other tools like 'GetExchanges' (which might list exchanges without state info) or 'GetTimeSeries' (which could provide time-based data). There are no explicit when/when-not instructions or references to sibling tools.

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

GetPriceCInspect

This endpoint is a lightweight method that allows retrieving only the real-time price of the selected instrument.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions 'lightweight method' and 'real-time price', which hints at performance and data freshness, but lacks critical behavioral details like rate limits, authentication requirements (implied by 'apikey' parameter), error handling, or whether it's a read-only operation. This leaves significant gaps for a tool with 13 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 without unnecessary details. It earns its place by stating the tool's function clearly, though it could be slightly more structured by hinting at key parameters.

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 (13 parameters, no annotations, no output schema), the description is incomplete. It doesn't address parameter usage, behavioral traits, or output format, making it inadequate for an agent to reliably invoke this tool without extensive guesswork.

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

Parameters1/5

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

The description adds no parameter semantics beyond what the input schema provides. With 0% schema description coverage (the schema's descriptions are minimal or generic), the description fails to explain the purpose of the 13 parameters, their interactions, or which are essential versus optional, leaving the agent with inadequate guidance.

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 verb ('retrieving') and resource ('real-time price of the selected instrument'), making the purpose specific. However, it doesn't explicitly differentiate from sibling tools like 'GetQuote' or 'GetTimeSeries' that might also provide price-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 (e.g., 'GetQuote', 'GetEod', 'GetTimeSeries') that could overlap in functionality, there's no indication of this tool's specific context or exclusions, leaving the agent without usage direction.

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

GetProfileDInspect

Returns general information about the company.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

D1.7/5.0
Behavior1/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure but provides almost none. It doesn't mention whether this is a read-only operation, what authentication might be required, rate limits, data freshness, or what happens when multiple identifier parameters are provided. The description doesn't even hint at the complexity revealed by the input schema (multiple identifier options, outputsize parameter, API key requirement). This leaves the agent with minimal understanding of how the tool actually behaves.

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 maximally concise - a single sentence with no wasted words. While this conciseness comes at the cost of completeness, the structure is front-loaded and doesn't contain any redundant information. Every word in the description serves a purpose, even if that purpose is insufficiently fulfilled.

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

Completeness1/5

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

Given the complexity revealed by the input schema (9 parameters including multiple identifier types, output size control, and API key), the complete absence of annotations, and no output schema, the description is woefully incomplete. It doesn't address any of the critical contextual elements: what the tool actually returns, how to use the multiple identifier parameters, what 'general information' encompasses, or any behavioral characteristics. For a data retrieval tool with this level of parameter complexity, the description provides almost no useful context.

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

Parameters1/5

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

The schema description coverage is 0%, meaning none of the 9 parameters in the nested GetProfileRequest object have descriptions in the schema itself. The tool description completely fails to compensate for this gap - it doesn't mention any parameters at all, not even the required 'symbol' parameter. For a tool with 9 parameters (1 required, 8 optional) and zero schema documentation, the description provides no parameter semantics whatsoever, leaving the agent completely in the dark about what inputs are needed or how they should be used.

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

Purpose2/5

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

The description 'Returns general information about the company' is a tautology that essentially restates the tool name 'GetProfile' without providing meaningful specificity. It doesn't clarify what type of 'general information' is returned (financial metrics, company description, contact details, etc.), nor does it distinguish this tool from potential siblings like 'GetStatistics' or 'GetQuote' that might also return company information. The description lacks the verb+resource specificity needed for clear purpose understanding.

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

Usage Guidelines1/5

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

The description provides absolutely no guidance on when to use this tool versus alternatives. With numerous sibling tools like GetStatistics, GetQuote, GetEod, and GetTimeSeries that could potentially provide overlapping or related company data, the description fails to mention any context, prerequisites, or differentiation criteria. There's no indication of what makes this tool unique or when it should be selected over other data retrieval tools in the server.

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

GetQuoteCInspect

Quote endpoint is an efficient method to retrieve the latest quote of the selected instrument.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.3/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 mentions efficiency but doesn't disclose rate limits, authentication needs (though apikey is in schema), data freshness, or error handling. This leaves significant gaps for a tool with many 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 benefit from more structure like bullet points for clarity given the tool's complexity.

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 (many nested parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't explain return values, error conditions, or how parameters interact, leaving the agent poorly equipped to use this tool effectively.

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

Parameters1/5

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

The schema description coverage is 0%, meaning parameters are undocumented in the schema. The description adds no parameter semantics beyond repeating the tool's purpose, failing to compensate for the coverage gap. For a tool with 1 parameter (though nested with many sub-parameters), this is inadequate.

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

Purpose3/5

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

The description states the tool 'retrieve[s] the latest quote of the selected instrument', which provides a basic verb+resource combination. However, it doesn't distinguish this from sibling tools like GetPrice or GetTimeSeries, which likely retrieve similar financial data, leaving the purpose somewhat vague in context.

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 offers no guidance on when to use this tool versus alternatives like GetPrice or GetTimeSeries. It mentions efficiency but doesn't specify scenarios, prerequisites, or exclusions, leaving the agent without contextual usage cues.

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

GetSplitsCInspect

Returns the date and the split factor of shares of the company for the last 10+ years.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.6/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 provides minimal behavioral context. It mentions 'last 10+ years' which hints at data availability, but doesn't cover rate limits, authentication needs (apikey param exists), error conditions, or response format. The agent must infer behavior from parameters alone.

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?

Single sentence is appropriately concise and front-loaded with core purpose. However, it could be more structured by separating scope details from the main action.

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 1 parameter (though nested object has 12 properties), 0% schema coverage, no annotations, and no output schema, the description is inadequate. It doesn't explain what a 'split factor' is, how results are formatted, or important constraints like the 'Grow' plan requirement mentioned in the schema.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate but adds no parameter information. It doesn't explain what 'split factor' means, how date ranges work, or the relationship between symbol/figi/isin parameters. The agent must rely entirely on schema property descriptions.

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 ('Returns') and resource ('date and split factor of shares'), specifying a time scope ('last 10+ years'). It distinguishes from siblings like GetDividends or GetPrice by focusing on stock splits, but doesn't explicitly contrast with similar tools.

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 on when to use this tool versus alternatives like GetDividends for dividend data or GetTimeSeries for price history. The description mentions 'Available starting from the `Grow` plan' in the schema, but this isn't in the main description text for usage context.

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

GetStatisticsCInspect

Returns current overview of company’s main statistics including valuation metrics and financials.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'current overview' which implies real-time or recent data, but doesn't specify data freshness, rate limits, authentication requirements, error conditions, or response format. For a financial data tool with no annotation coverage, 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.

Conciseness4/5

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

The description is a single, efficient sentence that gets straight to the point. It's appropriately sized for what it does cover, though it could be more comprehensive. There's no wasted verbiage or unnecessary elaboration.

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 financial data tool with 9 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what 'main statistics' includes, doesn't clarify parameter usage, doesn't mention authentication (though apikey is in schema), and provides no guidance on when to use this versus other data tools. The context signals show significant complexity that the description doesn't address.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for undocumented parameters. However, the description provides no parameter information whatsoever - it doesn't mention that a symbol parameter is required, doesn't explain what the various identifier parameters do, and doesn't clarify the relationship between parameters. This leaves 9 parameters completely undocumented 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 tool's purpose: 'Returns current overview of company's main statistics including valuation metrics and financials.' It specifies the verb ('returns') and resource ('company's main statistics') with some detail about content types. However, it doesn't distinguish this tool from similar siblings like GetProfile, GetQuote, or GetEod that might also provide financial data.

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 multiple sibling tools that could provide financial data (GetProfile, GetQuote, GetEod, GetTimeSeries, etc.), there's no indication of what makes GetStatistics unique or when it should be preferred over other data retrieval tools.

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

GetStocksCInspect

This API call returns an array of symbols available at Twelve Data API. This list is updated daily.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.6/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 states this is a read operation ('returns') and mentions daily updates, but fails to describe important behaviors: whether this requires authentication (though apikey parameter exists), rate limits, pagination (outputsize parameter suggests it), error conditions, or what 'array of symbols' actually contains beyond tickers. For a tool with 13 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.

Conciseness5/5

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

The description is extremely concise with just two sentences that directly state the core functionality and update frequency. Every word earns its place with zero redundancy. It's perfectly front-loaded with the main purpose stated immediately.

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

Completeness1/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 completely inadequate. It fails to explain what the tool actually does (filtered symbol lookup vs simple list), doesn't document any parameters, provides no output information, and offers minimal behavioral context. For a tool with this many configuration options, the description should explain the filtering logic and expected results.

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

Parameters1/5

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

Schema description coverage is 0% (the schema's description field merely repeats the tool description), so the description must compensate for all parameter documentation. However, the description mentions none of the 13 parameters, their purposes, or how they interact. It doesn't explain that this is actually a filtered search tool with multiple filtering options, nor does it clarify the relationship between parameters like symbol, figi, isin, and cusip.

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: 'returns an array of symbols available at Twelve Data API' with the specific verb 'returns' and resource 'symbols'. It distinguishes from siblings by mentioning the daily update frequency, which is unique among the listed tools. However, it doesn't explicitly differentiate from GetSymbolSearch or other symbol-related tools.

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 GetSymbolSearch or GetCrossListings. It mentions the list is 'updated daily' which gives some context about data freshness, but offers no explicit when/when-not instructions or comparisons to sibling tools.

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

GetSymbolSearchCInspect

This method helps to find the best matching symbol. It can be used as the base for custom lookups. The response is returned in descending order, with the most relevant instrument at the beginning.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.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 the full burden of behavioral disclosure. It states the response is 'returned in descending order, with the most relevant instrument at the beginning,' which adds some context about sorting. However, it lacks critical details such as rate limits, authentication needs (implied by apikey param but not described), error handling, or whether it's a read-only operation. This leaves significant gaps for an agent to understand the tool's 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 brief and front-loaded with the main purpose, followed by additional context about ordering. Both sentences are relevant, with no wasted words. However, it could be more structured by explicitly separating purpose from behavioral details.

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 a search tool with 1 parameter (a nested object with multiple properties), no annotations, and no output schema, the description is incomplete. It fails to explain the input structure, expected output format, or error conditions. The mention of response ordering is helpful but insufficient for an agent to use the tool effectively without additional context.

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

Parameters2/5

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

The description provides no information about parameters beyond what's implied by the tool's purpose. With 0% schema description coverage (the schema's description repeats the tool description verbatim), the description does not compensate by explaining the meaning or usage of the 'params' object or its nested properties like 'symbol' and 'outputsize.' This leaves parameters largely undocumented.

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

Purpose3/5

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

The description states the tool 'helps to find the best matching symbol' and mentions 'custom lookups,' which gives a general purpose. However, it's vague about what 'symbol' refers to (financial instruments) and doesn't clearly distinguish it from sibling tools like GetStocks or GetCryptocurrencies, which also retrieve financial data. It's not tautological but lacks specificity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description mentions it 'can be used as the base for custom lookups,' but this is a vague suggestion rather than explicit usage instructions. There's no mention of prerequisites, context, or comparison to sibling tools like GetStocks for specific asset types.

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

GetTechnicalIndicatorsCInspect

This API call returns an array of objects with available technical indicators. This endpoint might be used to build an abstract interface to make more convenient API calls from the application.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.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 the full burden of behavioral disclosure. It states the tool returns an array but doesn't describe key traits like whether it's read-only, requires authentication (though the schema hints at an apikey), rate limits, pagination, or error handling. The mention of 'abstract interface' adds minimal context without practical details.

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

Conciseness3/5

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

The description is brief at two sentences, but the second sentence about 'abstract interface' is vague and doesn't add actionable value, reducing efficiency. It's front-loaded with the core purpose, but could be more streamlined by omitting the speculative second part.

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 (retrieving technical indicators), lack of annotations, no output schema, and 0% schema description coverage, the description is incomplete. It doesn't cover parameters, behavioral traits, or output format, leaving significant gaps for an AI agent to infer usage correctly.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for parameter documentation. It doesn't mention any parameters, failing to explain the 'params' input or its nested properties like 'outputsize' and 'apikey'. This leaves the AI agent with no semantic understanding beyond what the bare schema provides.

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

Purpose3/5

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

The description states the tool 'returns an array of objects with available technical indicators,' which clarifies it retrieves data rather than performing calculations. However, it's vague about what 'technical indicators' specifically means (e.g., types like RSI or MACD) and doesn't distinguish it from sibling tools like GetTimeSeriesRsi or GetTimeSeriesMacd, which might overlap in functionality.

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 is provided on when to use this tool versus alternatives. The description mentions it 'might be used to build an abstract interface,' but this is too abstract and doesn't help an AI agent decide between this and sibling tools like GetStatistics or GetTimeSeries. There's no mention of prerequisites, exclusions, or specific contexts.

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

GetTimeSeriesCInspect

This API call returns meta and time series for the requested instrument. Metaobject consists of general information about the requested symbol. Time series is the array of objects ordered by time descending with Open, High, Low, Close prices. Non-currency instruments also include volume information.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.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 for behavioral disclosure. It mentions the time series is ordered 'by time descending' and includes volume for 'non-currency instruments,' which adds some behavioral context. However, it doesn't address important aspects like rate limits, authentication requirements (though apikey parameter exists), error conditions, response format details beyond basic structure, or data freshness/update frequency. For a complex financial data tool with 1 parameter object containing 19 properties, this is insufficient behavioral transparency.

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

Conciseness3/5

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

The description is reasonably concise at two sentences, but it's not optimally structured. The first sentence states the core purpose, but the second sentence delves into implementation details about the meta object and time series structure that might be better placed elsewhere. While not verbose, it doesn't front-load the most critical information for tool selection, and some content (like the ordering direction) could be considered behavioral rather than purpose-defining.

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 (19 parameters in the schema, no annotations, no output schema), the description is incomplete. It covers the basic return structure but fails to address parameter requirements, authentication, rate limits, error handling, or how to interpret the output. For a financial data tool with many configuration options and no output schema, the description should provide more context about what the tool returns and how to use it effectively.

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

Parameters1/5

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

The description provides zero information about parameters despite having a complex input schema with 19 properties. With 0% schema description coverage (the schema itself has excellent descriptions, but that's separate from the tool description), the description fails completely to add any parameter semantics. It doesn't mention the required 'symbol' parameter, filtering options like 'interval' or 'outputsize', date ranges, or any of the other 18 parameters. This leaves the agent with no guidance about what inputs are needed or how they affect the output.

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: 'returns meta and time series for the requested instrument' with specific details about the meta object and time series content (Open, High, Low, Close prices, volume for non-currency instruments). It distinguishes from siblings like GetPrice or GetQuote by focusing on historical time series data rather than current prices or quotes. However, it doesn't explicitly differentiate from other time series siblings like GetTimeSeriesAdx or GetTimeSeriesRsi.

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 numerous sibling tools including GetPrice, GetQuote, GetEod, and various technical indicator time series tools, there's no indication of when this general time series tool is appropriate versus more specialized alternatives. The description only states what the tool 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.

GetTimeSeriesAdxCInspect

The Average Directional Index (ADX) measures the strength of a trend, regardless of direction, helping traders determine if a market is trending or ranging.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.3/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 explains what ADX measures but fails to describe key traits like whether it's a read-only operation, potential rate limits, authentication needs (implied by 'apikey' in schema but not mentioned), or output format. This leaves significant gaps for an agent to understand how to invoke it safely.

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 clearly states the tool's purpose without unnecessary details. It's appropriately sized and front-loaded, though it could benefit from additional context to improve completeness without sacrificing conciseness.

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 (1 parameter but with nested object containing 22 fields), no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It doesn't address parameter meanings, behavioral traits, or output expectations, making it inadequate for an agent to use the tool effectively in context.

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

Parameters1/5

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

The schema description coverage is 0%, meaning parameters are undocumented in the schema. The description adds no information about parameters, such as explaining 'symbol' or 'time_period' in the context of ADX calculation. It fails to compensate for the lack of schema documentation, leaving all parameters semantically unclear.

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

Purpose3/5

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

The description states the tool calculates the Average Directional Index (ADX) to measure trend strength, which clarifies the purpose. However, it doesn't specify the action verb (e.g., 'retrieve' or 'calculate') or distinguish it from sibling tools like GetTimeSeriesAtr or GetTimeSeriesRsi, making it somewhat vague compared to the ideal.

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, such as other technical indicators in the sibling list. It mentions the ADX's general purpose but lacks explicit context, prerequisites, or comparisons, leaving the agent with minimal usage direction.

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

GetTimeSeriesAtrDInspect

The Average True Range (ATR) is a volatility indicator that measures the average range of price movement over a specified period, helping traders assess market volatility.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

D1.5/5.0
Behavior1/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 but provides none. It doesn't mention that this is a read-only data retrieval operation, doesn't discuss rate limits, authentication requirements (though apikey parameter suggests some), response format, or any side effects. The description is purely conceptual without operational context.

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

Conciseness3/5

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

The single sentence is concise but under-specified rather than efficiently informative. While it doesn't waste words, it also doesn't provide the necessary functional information. The structure is simple but inadequate for the tool's complexity.

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

Completeness1/5

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

Given the tool's complexity (20 parameters), lack of annotations, and no output schema, the description is completely inadequate. It doesn't explain what the tool does operationally, what inputs it requires, what behavior to expect, or what format the output will take. For a technical indicator tool with many configuration options, this minimal description fails to provide necessary context.

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

Parameters1/5

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

The schema description coverage is 0% (the schema's description field just repeats the tool description), and the tool description provides no information about parameters. With 1 required parameter and 19 total parameters in the schema, the description fails to explain what inputs are needed, their purposes, or how they affect the ATR calculation. This leaves parameters completely undocumented.

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

Purpose2/5

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

The description provides a general definition of ATR as a volatility indicator but doesn't specify what the tool actually does. It doesn't state that this tool retrieves or calculates ATR data for a given instrument, nor does it distinguish this from sibling tools like GetTimeSeries or GetTechnicalIndicators. The description is more educational than functional.

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

Usage Guidelines1/5

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

There are no usage guidelines in the description. It doesn't indicate when to use this tool versus alternatives like GetTimeSeries (for raw price data) or GetTimeSeriesRsi/GetTimeSeriesSma (for other technical indicators). No context about appropriate scenarios or prerequisites is provided.

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

GetTimeSeriesBBandsDInspect

Bollinger Bands (BBANDS) are volatility bands placed above and below a moving average, measuring price volatility and helping traders identify potential overbought or oversold conditions.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

D1.5/5.0
Behavior1/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 but offers none. It doesn't indicate whether this is a read-only operation, whether it requires authentication (though 'apikey' parameter suggests it might), what the response format looks like, or any rate limits. The description is purely conceptual with no operational information.

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

Conciseness3/5

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

The description is a single sentence that's reasonably concise, but it's poorly structured for a tool description. It front-loads conceptual explanation rather than functional purpose. While not verbose, it fails to use its limited space effectively to guide the agent.

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

Completeness1/5

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

This is a complex tool with 21 parameters, no annotations, no output schema, and 0% schema description coverage. The description is completely inadequate - it doesn't explain what the tool does operationally, what inputs it requires, what it returns, or any behavioral characteristics. For a technical indicator calculation tool with many parameters, this level of documentation is insufficient.

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

Parameters1/5

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

The schema description coverage is 0%, meaning all 21 parameters are undocumented in the schema. The description adds no parameter information whatsoever - it doesn't mention any required inputs like 'symbol', optional filters, or technical indicator parameters. This leaves the agent completely in the dark about what parameters are needed and what they mean.

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

Purpose2/5

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

The description explains what Bollinger Bands are conceptually but doesn't state what this specific tool does. It's a tautology that repeats the tool name ('Bollinger Bands') without specifying the action (e.g., 'retrieve', 'calculate', or 'get' Bollinger Bands data). The description fails to distinguish this from sibling technical indicator tools like GetTimeSeriesAdx or GetTimeSeriesRsi.

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

Usage Guidelines1/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 sibling tools (like GetTimeSeries for raw data or other technical indicators), prerequisites, or specific use cases. The agent receives zero direction on appropriate contexts for selecting this tool.

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

GetTimeSeriesCrossCInspect

This API call returns meta and cross rate time series for the requested instruments. Metaobject consists of general information about the requested symbol. Time series is the array of objects ordered by time descending with Open, High, Low, Close prices. Works with stocks, forex and cryptocurrency.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the return structure (meta object and time series array) but lacks critical details: whether this is a read-only operation, any rate limits, authentication requirements (though 'apikey' is in schema), error conditions, or pagination behavior. For a data retrieval tool with many parameters, this is a significant gap.

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 efficiently structured in three sentences: purpose, content details, and supported instrument types. It's front-loaded with the core function and avoids unnecessary repetition, though it could be slightly more concise by integrating the instrument type mention earlier.

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 (18 parameters, no annotations, no output schema), the description is inadequate. It covers the basic purpose and return format but misses parameter explanations, behavioral traits (e.g., rate limits, auth), error handling, and output details beyond high-level structure. For a financial data tool with many configuration options, this leaves too many gaps for effective use.

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

Parameters2/5

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

Schema description coverage is 0% (the schema's description merely repeats the tool description), so the description must compensate. It mentions 'requested instruments' and 'Open, High, Low, Close prices,' which hints at parameters like base/quote currencies and interval, but doesn't explain any of the 18 parameters' purposes, relationships, or constraints. This leaves most parameter semantics undocumented.

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 returns 'meta and cross rate time series for the requested instruments' and specifies the content (Open, High, Low, Close prices ordered by time descending). It distinguishes itself from siblings like GetTimeSeries by focusing on cross rates, but doesn't explicitly contrast with GetForexPairs or GetExchangeRate which might overlap in financial data retrieval.

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 it 'Works with stocks, forex and cryptocurrency,' providing some context, but offers no explicit guidance on when to use this tool versus alternatives like GetTimeSeries, GetForexPairs, or GetExchangeRate. There are no usage prerequisites, exclusions, or comparisons to sibling tools.

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

GetTimeSeriesEmaDInspect

The Exponential Moving Average (EMA) is a weighted moving average that gives more importance to recent price data, making it more responsive to new information and helping traders identify trends and potential entry or exit points.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

D1.5/5.0
Behavior1/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. The description explains what EMA is but doesn't describe what the tool actually does behaviorally: it doesn't state that this retrieves historical EMA data, doesn't mention rate limits, authentication requirements, data freshness, or what format/scope the output will have. It's purely conceptual with no operational information.

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

Conciseness3/5

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

The single sentence is reasonably concise but fails as a tool description because it doesn't describe the tool's function. It's front-loaded with conceptual information that doesn't help an agent understand how to use the tool. While not verbose, it's under-specified rather than appropriately concise.

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

Completeness1/5

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

Completely inadequate given the complexity. No annotations, no output schema, 0% schema description coverage, and the description provides only conceptual background. For a technical indicator tool with many parameters that likely returns time series data, the description should explain what the tool retrieves, what parameters control, and basic usage context.

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

Parameters1/5

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

Schema description coverage is 0%, meaning the schema provides no parameter descriptions. The tool description doesn't mention any parameters at all - it doesn't explain what inputs are required (like symbol, time period) or how they affect the calculation. For a tool with 1 required parameter and complex optional parameters, this is a critical gap.

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

Purpose2/5

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

The description explains what EMA is conceptually but doesn't state what this specific tool does. It's a tautology that restates the name/title ('Exponential Moving Average') without specifying the action (e.g., 'retrieve EMA data for a financial instrument'). It doesn't distinguish this tool from sibling technical indicator tools like GetTimeSeriesSma or GetTimeSeriesRsi.

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

Usage Guidelines1/5

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

No guidance on when to use this tool versus alternatives. The description provides general information about EMA but doesn't indicate when an agent should choose this tool over other technical indicators (like SMA, RSI, MACD) or other time series tools. There's no mention of prerequisites, dependencies, or typical use cases.

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

GetTimeSeriesMacdDInspect

The Moving Average Convergence Divergence (MACD) is a momentum indicator that measures the difference between two moving averages, with a signal line used to identify potential trend reversals and trading opportunities.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

D1.5/5.0
Behavior1/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure but provides none. It doesn't indicate whether this is a read-only operation, what data sources it uses, whether it requires authentication, rate limits, or what the output format looks like. The description is purely conceptual with zero operational information.

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

Conciseness3/5

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

The description is a single, well-structured sentence that efficiently explains what MACD is. However, it's under-specified for a tool description - it's more of a definition than a functional description. While concise, it fails to provide the necessary operational context that would make it truly effective.

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

Completeness1/5

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

This is a complex technical analysis tool with 23 parameters, no annotations, and no output schema. The description is completely inadequate - it provides only conceptual background without any operational details. For a tool of this complexity, the description should explain what it returns, how to interpret results, and key usage considerations.

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

Parameters1/5

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

The schema description coverage is 0%, meaning none of the 23 parameters have descriptions in the schema. The tool description provides no parameter information whatsoever - it doesn't mention any required inputs like symbol, time periods, or date ranges. For a tool with 23 undocumented parameters, this is a critical deficiency.

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

Purpose2/5

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

The description provides a general definition of MACD as a technical indicator but fails to specify what this tool actually does. It doesn't mention retrieving, calculating, or returning MACD data for a financial instrument. The description is essentially a textbook definition rather than a tool purpose statement, making it tautological with the tool name.

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

Usage Guidelines1/5

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

The description provides absolutely no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like GetTimeSeries, GetTimeSeriesRsi, or GetTechnicalIndicators, nor does it explain when MACD analysis is appropriate versus other technical indicators. There's no context about prerequisites, limitations, or appropriate use cases.

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

GetTimeSeriesRsiDInspect

The Relative Strength Index (RSI) is a momentum oscillator that measures the speed and change of price movements, helping traders identify potential overbought or oversold conditions and trend reversals.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

D1.5/5.0
Behavior1/5

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

The description provides no behavioral information about the tool. With no annotations provided, the description carries the full burden of disclosing behavioral traits but fails to do so. It doesn't indicate whether this is a read-only operation, what data sources it uses, whether it requires authentication (though apikey parameter suggests it does), rate limits, or what the output format looks like. For a financial data tool with complex parameters, this lack of behavioral context 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.

Conciseness3/5

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

The description is a single sentence that's reasonably concise, but it's poorly structured for a tool description. It front-loads a textbook definition of RSI rather than stating the tool's purpose. While it's brief, the content is misplaced - it explains the concept rather than the tool. The sentence earns its place as an educational note but fails as a primary tool description.

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

Completeness1/5

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

Given the tool's complexity (20+ parameters, financial data, technical indicator calculation) and the absence of both annotations and output schema, the description is completely inadequate. It doesn't explain what the tool returns, how the RSI is calculated, what time series data format to expect, or any prerequisites for use. For a sophisticated financial analysis tool, this single-sentence conceptual overview fails to provide the necessary context for effective use.

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

Parameters1/5

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

The description adds zero parameter information beyond what's already in the schema. With 0% schema description coverage (the schema has detailed parameter descriptions), the description doesn't compensate by explaining any parameters, their relationships, or usage patterns. The description is completely disconnected from the tool's actual parameters, which include symbol, interval, time_period, and many others that control the RSI calculation and data retrieval.

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

Purpose2/5

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

The description provides a general definition of RSI but fails to state what the tool actually does. It doesn't specify that this tool retrieves or calculates RSI time series data for a given instrument. The description is tautological - it essentially restates what RSI is rather than describing the tool's function. It doesn't distinguish this from sibling technical indicator tools like GetTimeSeriesAdx or GetTimeSeriesMacd.

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

Usage Guidelines1/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 when RSI analysis is appropriate, what distinguishes it from other technical indicators, or when to choose this over other time series tools. With multiple sibling tools for technical indicators (GetTimeSeriesAdx, GetTimeSeriesAtr, GetTimeSeriesBBands, etc.), the absence of comparative guidance is a significant gap.

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

GetTimeSeriesSmaDInspect

The Simple Moving Average (SMA) is a smoothing indicator that calculates the average price of a security over a specified period, helping traders identify trends and potential support or resistance levels.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

D1.5/5.0
Behavior1/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 reveals nothing about the tool's behavior: no mention of read/write nature, authentication requirements (though apikey parameter exists), rate limits, data sources, or response format. The description is purely conceptual about SMA with zero operational disclosure.

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

Conciseness3/5

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

The single sentence is concise and well-structured, but it's under-specified rather than appropriately sized. While not verbose, it fails to provide necessary functional information, making its conciseness problematic rather than efficient.

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

Completeness1/5

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

For a complex tool with 20+ parameters, no annotations, and no output schema, the description is completely inadequate. It provides only conceptual background about SMA without addressing what the tool does, how to use it, what it returns, or any behavioral context. This leaves the agent with insufficient information to effectively invoke the tool.

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

Parameters1/5

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

Schema description coverage is 0% (the schema's description field repeats the same generic SMA explanation), so the description must compensate for 20+ undocumented parameters. Instead, it adds zero parameter information - no mention of symbol, interval, time_period, or any other inputs. This leaves all parameters semantically unexplained.

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

Purpose2/5

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

The description explains what SMA is generically ('smoothing indicator that calculates the average price...'), but doesn't clearly state what this specific tool does. It doesn't mention retrieving, computing, or returning SMA data, nor does it distinguish this from sibling tools like GetTimeSeries or GetTechnicalIndicators. The description is more educational about SMA than functional about the tool.

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

Usage Guidelines1/5

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

No guidance on when to use this tool versus alternatives. With many sibling tools for time series and technical indicators (GetTimeSeries, GetTimeSeriesEma, GetTimeSeriesRsi, etc.), the description provides zero context about when this specific SMA tool is appropriate versus other technical indicators or general time series data.

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. 35 tool updates
    • First observedGetApiUsage
    • First observedGetCommodities
    • First observedGetCrossListings
    • First observedGetCryptocurrencies
    • First observedGetCryptocurrencyExchanges
    • First observedGetCurrencyConversion
    • First observedGetDividends
    • First observedGetEarliestTimestamp
    • First observedGetEarnings
    • First observedGetEod
    • First observedGetEtf
    • First observedGetExchangeRate
    • First observedGetExchanges
    • First observedGetForexPairs
    • First observedGetFunds
    • First observedGetIpoCalendar
    • First observedGetLogo
    • First observedGetMarketState
    • First observedGetPrice
    • First observedGetProfile
    • First observedGetQuote
    • First observedGetSplits
    • First observedGetStatistics
    • First observedGetStocks
    • First observedGetSymbolSearch
    • First observedGetTechnicalIndicators
    • First observedGetTimeSeries
    • First observedGetTimeSeriesAdx
    • First observedGetTimeSeriesAtr
    • First observedGetTimeSeriesBBands
    • First observedGetTimeSeriesCross
    • First observedGetTimeSeriesEma
    • First observedGetTimeSeriesMacd
    • First observedGetTimeSeriesRsi
    • First observedGetTimeSeriesSma

TDQS

C2.7/5.0

Scored across 35 tools

Disambiguation4/5

Most tools have distinct purposes targeting specific data types or analyses, but there is some overlap between GetPrice, GetQuote, and GetEod for price data, and between GetExchangeRate and GetCurrencyConversion for currency rates. Descriptions help differentiate them, but an agent might occasionally misselect among these similar tools.

Naming Consistency5/5

All tool names follow a consistent 'Get' + noun or noun phrase pattern in PascalCase, such as GetApiUsage, GetCommodities, and GetTimeSeriesRsi. This uniformity makes the tool set predictable and easy to navigate.

Tool Count3/5

With 35 tools, the count is high for a financial data server, bordering on heavy. While it covers many endpoints, it may overwhelm agents with too many options, especially given the overlap in some areas, making it less well-scoped than ideal.

Completeness5/5

The tool set provides comprehensive coverage for financial data retrieval, including stocks, commodities, cryptocurrencies, forex, ETFs, technical indicators, and metadata like dividends and earnings. There are no obvious gaps; it supports a wide range of queries and analyses without dead ends.

Maintenance

ActivitySlowing
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides comprehensive financial market data and news through the Finnhub API. Enables real-time stock quotes, company profiles, financial metrics, analyst recommendations, and market news access.
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time access to financial market data including stock quotes, company information, cryptocurrency exchange rates, historical options chains, and time series data through the Alpha Vantage API.
    -
  • A
    license
    C
    quality
    D
    maintenance
    Provides access to real-time and historical stock market data through the Alpha Vantage API, enabling financial analysis and market data queries through natural language.
    100
    74
    Apache 2.0