xpay✦ Finance Collection
Server Details
250+ finance tools from Financial Modeling Prep, Alpha Vantage, AkShare, Polymarket, and Dome. Stock data, forex, financial statements, prediction markets, DCF valuations. Starts at $0.01/call. Get your API key at app.xpay.sh or xpay.tools
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.3/5 across 249 of 289 tools scored. Lowest: 2.2/5.
The tool set contains many overlapping tools with similar purposes, such as multiple quote endpoints (getQuote, getQuoteShort, getBatchQuotes, getIndexQuote, etc.) and multiple DCF calculations (calculateCustomDCF, getDCFValuation, getLeveredDCFValuation). While some tools differ by asset class, the boundaries are not clear, and agents would struggle to select the correct one.
Naming is highly inconsistent, mixing camelCase (getADX, getBalanceSheetStatement) with snake_case (dome_activity, get_hist_data), and including generic meta-tools (TOOL_CALL, TOOL_GET, TOOL_LIST). There is no consistent verb_noun pattern, and the mix of prefixes and styles is chaotic.
With 289 tools, the server is severely over-scoped. This is far beyond any reasonable number for a coherent tool set and creates significant cognitive load for agents, making it impractical for effective selection and use.
The server covers a broad range of financial data endpoints, including stocks, crypto, forex, ETFs, and economic indicators. However, the presence of meta-tools (TOOL_LIST/GET/CALL) suggests a two-level tool hierarchy, and many data types lack unified operations (e.g., no consolidated financial statement tool), indicating some gaps despite the large count.
Available Tools
289 toolsanalyze_marketBInspect
Get comprehensive market analysis including probabilities, trading activity, and AI-friendly insights. Combines market data with recent trades.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Market slug to analyze | |
| include_trades | No | Include recent trading activity |
Tool Definition Quality
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 discloses that the tool combines data but does not mention read-only nature, permissions, rate limits, response format, or any side effects. This is a significant gap for a tool with no structured metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action, and contains no unnecessary words. Every phrase contributes meaning, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only 2 parameters and no output schema, the description should clarify what the 'comprehensive market analysis' includes (e.g., return structure, fields). It mentions 'probabilities' and 'trading activity' but lacks specifics on response format or error conditions, leaving an agent under-informed about expected results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'slug' and 'include_trades' already documented. The description adds no extra parameter semantics beyond what the schema provides, so it meets the baseline without enhancing understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get comprehensive market analysis' and specifies components like 'probabilities, trading activity, and AI-friendly insights.' It distinguishes itself from sibling tools by explicitly noting it 'Combines market data with recent trades,' which separates it from individual market data or trade history tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for when both market data and recent trades are needed, but it doesn't explicitly state when to choose this over alternatives like dome_market_price or dome_trade_history. There are no direct comparisons or exclusions, so guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculateCustomDCFCInspect
Run a tailored Discounted Cash Flow (DCF) analysis using the FMP Custom DCF Advanced API. With detailed inputs, this API allows users to fine-tune their assumptions and variables, offering a more personalized and precise valuation for a company.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes |
Tool Definition Quality
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 only mentions it uses the FMP Custom DCF Advanced API and fine-tunes assumptions; it does not disclose output format, whether it returns a valuation estimate, any rate limits, or side effects. The description lacks substantive behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences and front-loads the core action. The second sentence is somewhat generic and could be replaced with more specific information, but it is not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having a nested input object with many optional parameters and no output schema, the description is minimal. It does not explain the expected return value, the required 'symbol' field, or provide enough context for an agent to know how to construct a valid request. The complexity is high, but description offers little support.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% in the tool description; the description does not mention any parameter names or meanings, just 'detailed inputs'. Even the input schema's descriptions are terse (e.g., 'Beta'), and the description fails to add any semantic context or clarify which parameters are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs a tailored Discounted Cash Flow analysis, using a specific verb and resource. It distinguishes itself as 'custom' from standard DCF tools, but does not explicitly differentiate from the sibling tool calculateCustomLeveredDCF.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a user needs fine-tuned, personalized valuation assumptions ('tailored', 'fine-tune assumptions'), but it provides no explicit when-to-use or alternative guidance. It does not mention scenarios where standard or levered DCF might be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculateCustomLeveredDCFCInspect
Run a tailored Discounted Cash Flow (DCF) analysis using the FMP Custom DCF Advanced API. With detailed inputs, this API allows users to fine-tune their assumptions and variables, offering a more personalized and precise valuation for a company.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only describes the purpose and capability. It does not mention output format, data source, side effects, rate limits, or whether the operation is read-only. This is a significant gap for a calculation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise at two sentences, but it includes vague marketing phrases like 'more personalized and precise valuation' that add little value. It is not as tight as it could be, but it does front-load the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This tool involves a nested object with 19 parameters and has no output schema or annotations. The description provides almost no operational context, such as what data is needed, what the result looks like, or how it differs from simpler DCF tools, making it inadequate for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the schema's field descriptions are just labels like 'Beta' and 'Tax rate' without additional meaning. The description fails to compensate by explaining any of the input parameters or the nested 'input' object structure, leaving the agent without semantic understanding of the required data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Run' and the resource 'DCF analysis' using the FMP Custom DCF Advanced API, indicating a tailored analysis. However, it does not explicitly differentiate from similar sibling tools like calculateCustomDCF or getLeveredDCFValuation, so it lacks strong sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 calculateCustomDCF or standard DCF endpoints. It does not state scenarios, exclusions, or prerequisites, leaving the agent without decision criteria for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dome_activityAInspect
Fetches activity data for a specific user with optional filtering by market, condition, and time range. Returns trading activity including MERGES, SPLITS, and REDEEMS.
| Name | Required | Description | Default |
|---|---|---|---|
| user | Yes | User wallet address to fetch activity for | |
| limit | No | Number of activities to return (1-1000) | |
| offset | No | Number of activities to skip for pagination | |
| end_time | No | Filter activity until this Unix timestamp in seconds (inclusive) | |
| start_time | No | Filter activity from this Unix timestamp in seconds (inclusive) | |
| market_slug | No | Filter activity by market slug | |
| condition_id | No | Filter activity by condition ID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It does state that the tool fetches and returns activity data, which implies a read operation, and mentions the types of activities included. However, it does not disclose return structure, pagination behavior, ordering, or any access requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. It front-loads the action and resource, then adds return-value context. Every sentence earns its place and the length is appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 parameters, no annotations, and no output schema, the description covers the core purpose and filter options, and notes the return content. However, it omits practical details like default limits, ordering, and result shape, which the agent would need to fully handle the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description references the optional filter dimensions (market, condition, time range) but does not add syntax, parameter-specific details, or examples beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Fetches activity data') with a specific resource ('for a specific user') and distinguishes the tool by naming the returned event types (MERGES, SPLITS, REDEEMS). This is enough to differentiate from siblings like dome_trade_history or dome_wallet.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when you need a user's activity with optional filtering by market, condition, and time range. However, it does not provide explicit exclusions or mention alternative tools when a different kind of data is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dome_binance_pricesAInspect
Fetches historical crypto price data from Binance. Returns price data for a specific currency pair over an optional time range. When no time range is provided, returns the most recent price. All timestamps are in Unix milliseconds. Currency format: lowercase alphanumeric with no separators (e.g., btcusdt, ethusdt).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of prices to return (default: 100, max: 100). When no time range is provided, limit is automatically set to 1. | |
| currency | Yes | The currency pair symbol. Must be lowercase alphanumeric with no separators (e.g., btcusdt, ethusdt, solusdt, xrpusdt). | |
| end_time | No | End time in Unix timestamp (milliseconds). If not provided along with start_time, returns the most recent price (limit 1). | |
| start_time | No | Start time in Unix timestamp (milliseconds). If not provided along with end_time, returns the most recent price (limit 1). | |
| pagination_key | No | Pagination key (base64-encoded) to fetch the next page of results. Returned in the response when more data is available. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It usefully discloses that without a time range only the most recent price is returned, timestamps are in Unix milliseconds, and currency format requirements (lowercase alphanumeric). These are beyond schema info and help the agent avoid common mistakes. However, it does not mention pagination behavior or return value shape, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is five sentences, front-loaded with the purpose, and each sentence adds necessary context: scope, default behavior, units, and format. There is no fluff or repetition, and it is appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers core behavior but lacks details about the return format (e.g., fields or structure) since there is no output schema. It also does not mention pagination usage in the description itself, although the schema describes pagination_key. For a 5-parameter tool with no output schema, more context about what 'price data' looks like would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds little beyond the schema: it reiterates currency format and timestamp units already present in the schema. It does not provide extra semantic context for parameters like pagination_key or explain how limit interacts with time ranges beyond what schema says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches historical crypto price data from Binance for a specific currency pair over an optional time range. It distinguishes itself from siblings like dome_candlesticks and dome_market_price by explicitly focusing on historical price data with optional time filtering.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied through phrases like 'historical crypto price data' and 'optional time range', but no explicit when-to-use vs alternatives are given. There is no mention of exclusions or named alternative tools, so the agent must infer usage from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dome_candlesticksCInspect
Fetches historical candlestick data for a market identified by condition_id, over a specified interval.
| Name | Required | Description | Default |
|---|---|---|---|
| end_time | Yes | Unix timestamp (in seconds) for end of time range | |
| interval | No | Interval length: 1 = 1m, 60 = 1h, 1440 = 1d. Defaults to 1m. ⚠️ Note: There are range limits for interval — specifically: 1 (1m): max range 1 week 60 (1h): max range 1 month 1440 (1d): max range 1 year | |
| start_time | Yes | Unix timestamp (in seconds) for start of time range |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only indicates that data is fetched (a read operation) and mentions an interval, but omits details about return format, rate limits, error cases, or the fact that the referenced condition_id is not a parameter. This is insufficient for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no wasted words. However, the mention of condition_id, which is not in the schema, adds confusion and reduces clarity slightly, so it doesn't earn a perfect 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should provide more context about return values, limitations, or the missing market identifier. It fails to explain how to identify the market, making the tool difficult to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with descriptions for start_time, end_time, and interval, including range limits. The description adds no new parameter semantics; it only restates 'over a specified interval' which already appears in the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool fetches historical candlestick data, which is a specific action and resource. However, it references 'condition_id' as the market identifier, but this parameter is absent from the input schema, creating confusion about how to specify the market. It doesn't clearly differentiate from sibling price and market tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like dome_market_price or dome_orderbook_history. The description only states its function, implying usage but offering no context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dome_chainlink_pricesAInspect
Fetches historical crypto price data from Chainlink. Returns price data for a specific currency pair over an optional time range. When no time range is provided, returns the most recent price. All timestamps are in Unix milliseconds. Currency format: slash-separated (e.g., btc/usd, eth/usd).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of prices to return (default: 100, max: 100). When no time range is provided, limit is automatically set to 1. | |
| currency | Yes | The currency pair symbol. Must be slash-separated (e.g., btc/usd, eth/usd, sol/usd, xrp/usd). | |
| end_time | No | End time in Unix timestamp (milliseconds). If not provided along with start_time, returns the most recent price (limit 1). | |
| start_time | No | Start time in Unix timestamp (milliseconds). If not provided along with end_time, returns the most recent price (limit 1). | |
| pagination_key | No | Pagination key (base64-encoded) to fetch the next page of results. Returned in the response when more data is available. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden of disclosure. It explains key behavioral aspects: optional time range, default to latest price when no range is given, Unix millisecond timestamps, and slash-separated currency format. This goes beyond the raw schema and gives users essential 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four compact sentences, front-loaded with the primary action ('Fetches historical crypto price data'). Every sentence provides useful information, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters, no output schema, and no annotations, the description covers the main usage patterns: fetching historical ranges, getting the latest price, timestamp units, and currency format. It does not describe the return structure or pagination behavior, but the schema already explains pagination_key and limit, and the absence of an output schema may make this acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all five parameters. The description reinforces the currency format and timestamp units, but these details are also present in the parameter descriptions. It adds some value by explaining the interplay between time range parameters and the limit default, but does not significantly expand on the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches historical crypto price data from Chainlink, specifying a distinct resource (Chainlink prices) and behavior (historical data with optional time range). This distinguishes it from sibling tools like dome_binance_prices or dome_market_price.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool: for historical crypto prices from Chainlink, with optional time ranges, and notes the behavior when no time range is given (returns most recent price). It does not explicitly mention alternatives or exclusions, but the Chainlink source makes its purpose distinct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dome_market_priceBInspect
Fetches the current market price for a market by token_id. Allows historical lookups via the at_time query parameter.
| Name | Required | Description | Default |
|---|---|---|---|
| at_time | No | Optional Unix timestamp (in seconds) to fetch a historical market price. If not provided, returns the most real-time price available. |
Tool Definition Quality
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 discloses a read operation via 'fetches' and mentions historical lookup capability, but doesn't describe the response format, error conditions, or that token_id appears to be required. The added behavioral context is minimal beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short, front-loaded sentences with no redundant information. It efficiently communicates the primary purpose and the historical lookup option.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one optional parameter, the description is mostly adequate. Gaps include no mention of response structure (given no output schema) and no context on how token_id relates to other market tools like dome_markets, which could be important for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully documents at_time with type and meaning, and the description introduces token_id as an identifier not present in the schema, which is critical for invoking the tool. However, the description does not elaborate on token_id's format or type, so some ambiguity remains.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches the current market price for a market by token_id, with a specific verb and resource. However, it does not distinguish this tool from the similarly named sibling dome_market_price_get, so it 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for current or historical price lookups, but provides no guidance on when to choose this tool over dome_market_price_get or dome_markets, and offers no exclusions or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dome_market_price_getBInspect
Fetches the current market price for a Kalshi market by market_ticker. Returns prices for both yes and no sides. Allows historical lookups via the at_time query parameter.
| Name | Required | Description | Default |
|---|---|---|---|
| at_time | No | Optional Unix timestamp (in seconds) to fetch a historical market price. If not provided, returns the most real-time price available. |
Tool Definition Quality
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 discloses the return of both yes/no sides and historical lookup via at_time, but the text references a 'market_ticker' parameter that is absent from the input schema. This misleading reference undermines transparency about the actual required inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise, consisting of two sentences that are front-loaded with the core purpose. Every sentence contributes value, avoiding unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must fully contextualize the tool. It fails to explain how the market is specified given the missing market_ticker parameter, does not clarify the meaning of 'dome' or Kalshi-specific terms, and leaves the near-identical sibling dome_market_price indistinguishable. This under-specification hinders effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for the only parameter (at_time), so the baseline is 3. The description only restates the historical lookup behavior without adding new meaning, and its mention of a non-existent market_ticker parameter introduces confusion rather than clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: fetching current market prices for a Kalshi market and returning both yes/no sides. However, it does not differentiate from the sibling tool dome_market_price, so it misses the opportunity to distinguish itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for current or historical price lookups but provides no explicit guidance on when to choose this tool over dome_market_price or other price-fetching siblings. There are no exclusions or alternative references, leaving the usage context partially inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dome_marketsCInspect
Find markets on Polymarket using various filters including the ability to search
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Filter markets by tag(s). Can provide multiple values. | |
| limit | No | Number of markets to return (1-100). Default: 10 for search, 10 for regular queries. | |
| offset | No | Number of markets to skip for pagination | |
| search | No | Search markets by keywords in title and description. Must be URL encoded (e.g., 'bitcoin%20price' for 'bitcoin price'). | |
| status | No | Filter markets by status (whether they're open or closed) | |
| end_time | No | Filter markets until this Unix timestamp in seconds (inclusive) | |
| event_slug | No | Filter markets by event slug(s). Can provide multiple values. | |
| min_volume | No | Filter markets with total trading volume greater than or equal to this amount (USD) | |
| start_time | No | Filter markets from this Unix timestamp in seconds (inclusive) | |
| market_slug | No | Filter markets by market slug(s). Can provide multiple values. | |
| condition_id | No | Filter markets by condition ID(s). Can provide multiple values. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must disclose behavioral traits. It only states 'Find markets' without explaining query behavior, pagination, result format, or any side effects. The agent cannot infer whether this is a safe read-only operation or what the response will look like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short sentence and completely free of fluff. It is front-loaded with the primary purpose and can be read in under two seconds. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 11 parameters, no annotations, and no output schema, this description is insufficient. It does not explain return values, default behavior, or context for using the numerous filters. A tool this complex requires more context to be safely invoked.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all parameters with descriptions, so the baseline is 3. The description adds no extra meaning beyond saying 'various filters', which is already evident from the schema. It repeats the idea of filters but does not elaborate on parameter syntax or relationships.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Find markets on Polymarket') and the resource ('markets'), with a specific scope ('using various filters including the ability to search'). It is a specific verb+resource statement, but it does not differentiate from siblings like dome_markets_get or search_markets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 search_markets or dome_markets_get. It does not mention any exclusions or prerequisites, so the agent is left without context for choosing among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dome_markets_getBInspect
Find markets on Kalshi using various filters including market ticker, event ticker, status, and volume
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of markets to return (1-100). Default: 10. | |
| offset | No | Number of markets to skip for pagination | |
| search | No | Search markets by keywords in title and description. Must be URL encoded (e.g., 'bitcoin%20price' for 'bitcoin price'). | |
| status | No | Filter markets by status (whether they're open or closed) | |
| min_volume | No | Filter markets with total trading volume greater than or equal to this amount (in dollars) | |
| event_ticker | No | Filter markets by event ticker(s). Can provide multiple values. | |
| market_ticker | No | Filter markets by market ticker(s). Can provide multiple values. |
Tool Definition Quality
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 simply states the action and filter options without mentioning default behavior, pagination details, return format, or any side effects. This is a significant gap for a tool with no structured safety metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is front-loaded with the main purpose. It is not verbose, but it omits some useful context that could make it more informative, so it is slightly above 'minimum viable' but not exceptional.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 7 parameters and no output schema, the description is insufficient. It does not explain what the response looks like, how pagination works (even though limit/offset are in the schema), or whether there are any restrictions on filter combinations. This makes it incomplete for an AI to fully understand the tool's capabilities and invocation requirements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all 7 parameters with 100% coverage, so the description adds little beyond naming a few filter types (ticker, event, status, volume). It does not provide additional meaning or format details beyond what the schema already contains, matching the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Find') and the resource ('markets on Kalshi'), and lists several filter types, making the tool's purpose understandable. It does not explicitly differentiate from similar sibling tools like dome_markets or search_markets, but the mention of Kalshi and specific filters provides reasonable scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for finding markets via filters, but it gives no explicit guidance on when to use this vs. alternative tools. There is no mention of alternatives, exclusions, or prerequisites, so the usage context is only implicit from the verb 'Find'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dome_orderbook_historyAInspect
Fetches historical orderbook snapshots for a specific asset (token ID) over a specified time range. If no start_time and end_time are provided, returns the latest orderbook snapshot for the market. Returns snapshots of the order book including bids, asks, and market metadata in order. All timestamps are in milliseconds. Orderbook data has history starting from October 14th, 2025. Note: When fetching the latest orderbook (without start/end times), the limit and pagination_key parameters are ignored.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of snapshots to return (default: 100, max: 200). Ignored when fetching the latest orderbook without start_time and end_time. | |
| end_time | No | End time in Unix timestamp (milliseconds). Optional - if not provided along with start_time, returns the latest orderbook snapshot. | |
| token_id | Yes | The token id (asset) for the Polymarket market | |
| start_time | No | Start time in Unix timestamp (milliseconds). Optional - if not provided along with end_time, returns the latest orderbook snapshot. | |
| pagination_key | No | Pagination key to get the next chunk of data. Ignored when fetching the latest orderbook without start_time and end_time. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It adds useful details beyond the schema: return contents (bids, asks, market metadata), timestamp units, data history start date, and the fact that limit/pagination_key are ignored when fetching the latest snapshot. It does not cover all possible behavioral aspects (e.g., ordering, pagination mechanics), but the provided details are substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the main purpose, then provides sequential conditional details (latest vs. historical, timestamp units, data availability, ignored params). Every sentence contributes necessary information with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description adequately summarizes return content (bids, asks, metadata) and covers key edge cases like the latest snapshot and data history start. It could be more explicit about ordering and response structure, but it is reasonably complete for a data-fetching tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds some value by clarifying the latest-snapshot edge case and ignored parameters, but this information is already present in the schema descriptions. It does not meaningfully enrich parameter understanding beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches historical orderbook snapshots for a specific token ID over a time range, with a clear verb and resource. However, it does not distinguish itself from the nearly identical sibling dome_orderbook_history_get, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool (historical snapshots with start/end times, or latest snapshot if these are omitted) but does not explicitly mention alternatives or say when NOT to use it versus sibling tools like dome_market_price or dome_orderbook_history_get.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dome_orderbook_history_getAInspect
Fetches historical orderbook snapshots for a specific Kalshi market (ticker) over a specified time range. If no start_time and end_time are provided, returns the latest orderbook snapshot for the market. Returns snapshots of the order book including yes/no bids and asks with prices in both cents and dollars. All timestamps are in milliseconds. Orderbook data has history starting from October 29th, 2025. Note: When fetching the latest orderbook (without start/end times), the limit parameter is ignored.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of snapshots to return (default: 100, max: 200). Ignored when fetching the latest orderbook without start_time and end_time. | |
| ticker | Yes | The Kalshi market ticker | |
| end_time | No | End time in Unix timestamp (milliseconds). Optional - if not provided along with start_time, returns the latest orderbook snapshot. | |
| start_time | No | Start time in Unix timestamp (milliseconds). Optional - if not provided along with end_time, returns the latest orderbook snapshot. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses several behavioral traits: returns snapshots with yes/no bids/asks in cents and dollars, timestamps in milliseconds, data availability starting October 29, 2025, and limit being ignored when fetching latest. This is thorough for a read-only fetch, though it does not discuss error handling or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with front-loaded purpose, followed by boundary conditions, return content, units, and a note about limit. Each sentence earns its place with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description adequately explains the return contents (yes/no bids/asks, price units) and adds key context about time range handling, timestamps, and data history. It could mention ordering or pagination behavior, but overall it is sufficiently complete for invoking this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers 100% of parameters with clear descriptions, including the optionality of start_time/end_time and the limit behavior. The description adds minor context (millisecond timestamps, data start date) but mostly reiterates schema content. Thus, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches historical orderbook snapshots for a specific Kalshi market (ticker) over a time range, with a fallback to the latest snapshot. This specific verb+resource+scope accurately distinguishes it from sibling tools like dome_orderbook_history and dome_market_price.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it is used for historical orderbook data for a specific ticker, and if no time range is provided it returns the latest snapshot. It also notes that limit is ignored in the latest-snapshot case. However, it does not explicitly mention when not to use it or name alternatives, so it falls short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dome_positionsBInspect
Fetches all Polymarket positions for a proxy wallet address. Returns positions with balance >= 10,000 shares (0.01 normalized) with market info.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of positions to return per page. Defaults to 100, maximum 100. | |
| pagination_key | No | Pagination key returned from previous request to fetch next page of results |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a meaningful behavioral trait: it only returns positions with balance >= 10,000 shares (0.01 normalized), which helps set expectations. However, with no annotations, it does not state whether the tool is read-only, how pagination works, or how the wallet address is determined, leaving gaps in 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the core action and includes only essential details. No wasted words, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations or output schema, the description carries the full burden, but it fails to address the absent wallet address parameter and does not explain pagination behavior or return format. The context is incomplete for an agent to confidently invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters (limit and pagination_key) have descriptive schema text, so baseline is 3. The description adds no extra meaning beyond the schema and fails to clarify the missing wallet address parameter, which could confuse parameter mapping.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches Polymarket positions for a proxy wallet address, with a specific verb and resource. However, it does not distinguish from sibling tools like dome_wallet or getPositionsSummary, and the reference to 'proxy wallet address' is ambiguous since no such parameter exists in the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention exclusions, prerequisites, or recommend other tools for related use cases, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dome_sport_by_dateCInspect
Find equivalent markets across different prediction market platforms (Polymarket, Kalshi, etc.) for sports events by sport and date.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | The date to find matching markets for in YYYY-MM-DD format |
Tool Definition Quality
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 adds useful scope context (cross-platform matching) and implies a read-only lookup, but it fails to disclose return format, empty-result behavior, rate limits, auth needs, or why 'sport' appears in the description but not in the input schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that wastes few words and leads with the action verb. It loses a point because the 'by sport and date' clause is misleading given the schema, which slightly undermines the efficiency of the wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, no output schema), so the bar is lower, but the description still leaves key gaps: it never explains what 'equivalent markets' means in terms of returned data, what happens when no matches exist for the date, or how the 'sport' mention relates to the single date input. These unresolved issues make the description incomplete for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the date parameter at 100%, giving a baseline of 3, but the description actively detracts by introducing 'sport' as a filter dimension that does not exist in the parameters. An agent may search for a sport parameter, not find one, and be confused about how to satisfy the stated 'by sport' scope.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Find') plus a clearly defined resource ('equivalent markets across different prediction market platforms' for sports events), which conveys the core purpose and distinguishes it from sibling tools like dome_markets or dome_sports via the cross-platform equivalence angle. However, it claims filtering 'by sport and date' while the schema only accepts a date parameter, creating ambiguity about whether sport is actually a valid filter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 dome_sports, dome_markets, or search_markets. There are no stated exclusions, prerequisites, or conditions that would help an agent choose this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dome_sportsAInspect
Find equivalent markets across different prediction market platforms (Polymarket, Kalshi, etc.) for sports events using a Polymarket market slug or a Kalshi event ticker.
| Name | Required | Description | Default |
|---|---|---|---|
| kalshi_event_ticker | No | The Kalshi event ticker(s) to find matching markets for. To get multiple markets at once, provide the query param multiple times with different tickers. Can not be combined with polymarket_market_slug. | |
| polymarket_market_slug | No | The Polymarket market slug(s) to find matching markets for. To get multiple markets at once, provide the query param multiple times with different slugs. Can not be combined with kalshi_event_ticker. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'Find' implies a read-only lookup, but the description does not disclose response format, pagination, rate limits, or authentication needs. It adds no behavioral context beyond the inherent meaning of 'Find'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently states the tool's purpose, inputs, and scope. Every word contributes value, and there is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description only says 'equivalent markets' without specifying what the response contains or how results are structured. Inputs are fully covered by the schema, so this is adequate but incomplete for a caller expecting clear return-value semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter already described, so the baseline is 3. The description's mention of 'Polymarket market slug or Kalshi event ticker' merely restates the schema without adding value formats, examples, or usage nuances.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Find'), names the resource ('equivalent markets across different prediction market platforms'), specifies the scope ('for sports events'), and identifies the required inputs ('Polymarket market slug or Kalshi event ticker'). This clearly distinguishes it from sibling tools like dome_markets or dome_sport_by_date.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: use when you have a Polymarket slug or Kalshi ticker and need equivalent markets on other platforms. It does not explicitly name alternatives or exclusions, but the 'sports events' qualifier and specific input types make the intended scenario clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dome_trade_historyBInspect
Fetches historical trade data for Kalshi markets with optional filtering by ticker and time range. Returns executed trades with pricing, volume, and taker side information. All timestamps are in seconds.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of trades to return (default: 100) | |
| offset | No | Number of trades to skip for pagination | |
| ticker | No | The Kalshi market ticker to filter trades | |
| end_time | No | End time in Unix timestamp (seconds) | |
| start_time | No | Start time in Unix timestamp (seconds) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It discloses return types (executed trades, pricing, volume, taker side) and timestamp units (seconds), which is helpful. However, it omits details about pagination behavior, rate limits, or any side effects, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences, front-loaded with the main purpose, and every sentence adds useful information without redundancy. It is well-structured and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core purpose and return information, but it lacks important contextual details such as pagination behavior (how limit/offset work together), the default limit, and how this tool differs from its '_get' sibling. Given the simplicity of the tool, more guidance would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value by clarifying that start_time and end_time are in seconds, which is not explicitly stated in the schema. It also groups ticker and time range as filters, enhancing understanding of their purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches historical trade data for Kalshi markets, specifying the resource and action. However, it does not differentiate from the sibling tool 'dome_trade_history_get', which likely serves a similar purpose, so it misses the opportunity to distinguish between them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 optional filtering but does not explain when this tool is preferred over other related tools like dome_trade_history_get or dome_orderbook_history.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dome_trade_history_getBInspect
Fetches historical trade data with optional filtering by market, condition, token, time range, and user’s wallet address.
| Name | Required | Description | Default |
|---|---|---|---|
| user | No | Filter orders by user (wallet address) | |
| limit | No | Number of orders to return (1-1000) | |
| offset | No | Number of orders to skip for pagination | |
| end_time | No | Filter orders until this Unix timestamp in seconds (inclusive) | |
| token_id | No | Filter orders by token ID | |
| start_time | No | Filter orders from this Unix timestamp in seconds (inclusive) | |
| market_slug | No | Filter orders by market slug | |
| condition_id | No | Filter orders by condition ID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states that it fetches data; it does not mention ordering, pagination behavior, response format, rate limits, or any other behavioral traits. For a read operation, this is a minimal but not entirely absent disclosure, yet it lacks context that would help an agent anticipate results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the tool's purpose and key capabilities. Every word earns its place, and there is no redundant information. It is appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 optional parameters and no output schema, the description is adequate but thin. It does not explain the return structure, defaults, or how filters interact. However, the schema covers parameter details, and the tool is a straightforward fetch, so the description is not severely incomplete. It is missing some context but is not misleading.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all 8 parameters, with 100% coverage. The description only lists the filter categories (market, condition, token, time, user) without adding new meaning. This meets the baseline but does not exceed it, as no extra context about parameter combinations or formats is given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches historical trade data, a specific action, and lists the main filter dimensions (market, condition, token, time range, user wallet). It is clear and uses a specific verb+resource. However, it does not explicitly differentiate itself from the closely named sibling dome_trade_history, so it loses a point.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like dome_trade_history or dome_orderbook_history_get. There is no mention of preferred scenarios, exclusions, or prerequisites. The optional filtering implies a search use case, but that is not explicit enough to guide selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dome_walletAInspect
Fetches wallet information by providing either an EOA (Externally Owned Account) address or a proxy wallet address. Returns the associated EOA, proxy, and wallet type. Optionally returns trading metrics including total volume, number of trades, and unique markets traded when with_metrics=true.
| Name | Required | Description | Default |
|---|---|---|---|
| eoa | No | EOA (Externally Owned Account) wallet address. Either eoa or proxy must be provided, but not both. | |
| proxy | No | Proxy wallet address. Either eoa or proxy must be provided, but not both. | |
| end_time | No | Optional end date for metrics calculation (Unix timestamp in seconds). Only used when with_metrics=true. | |
| start_time | No | Optional start date for metrics calculation (Unix timestamp in seconds). Only used when with_metrics=true. | |
| with_metrics | No | Whether to include wallet trading metrics (total volume, trades, and markets). Pass true to include metrics. Metrics are computed only when explicitly requested for performance reasons. |
Tool Definition Quality
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 discloses the input modes, return values, and optional metrics. However, it does not mention error behavior for providing both or neither address, nor any performance implications beyond what the schema already notes. The transparency is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action, and every sentence contributes meaningful information. There is no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema and no annotations, the description covers the core functionality, input modes, and return values. It does not elaborate on all parameters (e.g., start_time, end_time) but the schema fully documents those. Overall, it is complete enough for a straightforward wallet lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds some value by explaining the outputs (EOA, proxy, wallet type, metrics) but largely paraphrases the schema's own parameter descriptions. It does not significantly enhance understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('Fetches wallet information') and clearly identifies the two input modes (EOA or proxy) and the output contents. It is clear and unambiguous, but it does not explicitly differentiate from sibling tools like dome_wallet_profitandloss, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool: when you have an EOA or proxy wallet address and need associated wallet details or optional trading metrics. It provides context (either/or input, optional metrics) but does not explicitly state when not to use it or name alternatives, so it gets a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dome_wallet_profitandlossAInspect
Fetches the realized profit and loss (PnL) for a specific wallet address over a specified time range and granularity. Note: This will differ to what you see on Polymarket’s dashboard since Polymarket showcases historical unrealized PnL. This API tracks realized gains only - from either confirmed sells or redeems. We do not realize a gain/loss until a finished market is redeemed.
| Name | Required | Description | Default |
|---|---|---|---|
| end_time | No | Defaults to the current date if not provided. | |
| start_time | No | Defaults to first day of first trade if not provided. | |
| granularity | Yes | Example: "day" |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosure. It clearly explains that gains are only realized from confirmed sells or redeems, and not until a finished market is redeemed. This is significant behavioral context beyond what a typical PnL tool would state, though it omits 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two sentences that front-load the core functionality and then provide a clarifying note. Every sentence adds value, with no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the core concept well, but the absence of an output schema and the mismatch between mentioning a 'specific wallet address' and the schema lacking such a parameter create gaps. The simple parameter set is fully covered, but the tool's context is incomplete without knowing how the wallet is identified or what the response looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with each parameter having a description. The description mentions 'time range and granularity' which aligns with start_time, end_time, and granularity, but does not add further semantic detail beyond the schema. The baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches realized PnL for a wallet with a specific verb and resource. It distinguishes itself from Polymarket's dashboard by noting the difference between realized and unrealized PnL. However, the schema does not include a wallet address parameter, creating ambiguity about how the wallet is specified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on when to use this tool by explaining it tracks realized gains only, unlike the dashboard's unrealized PnL. This implies the tool is appropriate when realized PnL is needed. It does not explicitly mention alternatives or exclusions, but the note serves as useful guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getAcquisitionOwnershipCInspect
Track changes in stock ownership during acquisitions using the Acquisition Ownership API. This API provides detailed information on how mergers, takeovers, or beneficial ownership changes impact the stock ownership structure of a company.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit on number of results (default: 2000) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It mentions the type of information provided ('detailed information on how mergers... impact ownership') but does not disclose output format, pagination behavior, rate limits, authentication needs, or any safety constraints. The read-only nature is implied by 'Track' but not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, with the core functionality front-loaded in the first sentence. The second sentence adds useful contextual detail about mergers/takeovers, though it contains slight redundancy ('This API provides detailed information'). Overall, it is efficient with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema), the description gives a reasonable overview but lacks explicit details about return values or data structure. It is adequate for understanding the general purpose but incomplete for an agent to fully anticipate the tool's behavior without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with descriptions for both 'symbol' and 'limit', so the baseline is 3. The description adds no parameter-specific semantics beyond what the schema already contains, but it does not contradict or omit anything either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Track changes in stock ownership during acquisitions') and the resource ('stock ownership structure'). It distinguishes itself from sibling tools like getLatestMergersAcquisitions by focusing on ownership impact rather than just listing transactions, though it doesn't explicitly call out that distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only explains what the tool does, not in which scenarios it should be chosen over other merger/acquisition or ownership-related tools, nor any prerequisites or contextual conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getActivelyTradingListBInspect
List all actively trading companies and financial instruments with the FMP Actively Trading List API. This endpoint allows users to filter and display securities that are currently being traded on public exchanges, ensuring you access real-time market activity.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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 claims 'real-time market activity' and 'allows users to filter', but the input schema is empty, making the filtering claim misleading. It does not disclose limitations, pagination, or what 'actively trading' precisely means, leaving the agent with incomplete behavioral expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences but contains redundancy, repeating 'actively trading' in both sentences. The second sentence adds little new information and introduces an inaccurate 'filter' claim. It is not excessively wordy but could be tighter and more accurate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters and no output schema, the description gives a general sense that the return is a list of actively trading securities, but it does not specify the response structure, fields, pagination, or what counts as 'actively trading'. It is minimally viable but leaves meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the input schema is empty with 100% coverage, meaning there is nothing to document beyond the baseline. The description's mention of filtering is unsupported by the schema but does not affect parameter semantics directly. The baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'List' and identifies the resource as 'actively trading companies and financial instruments', making the tool's primary purpose clear. It also references the FMP Actively Trading List API, which adds a source context. However, it does not explicitly distinguish this from similar list tools like getMostActiveStocks or getBiggestGainers, so it loses a point.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 does not mention use cases, prerequisites, or scenarios where another tool would be more appropriate. Given the many sibling tools for market activity, this lack of usage direction 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.
getADXAInspect
Calculate the Average Directional Index (ADX) for a stock using the FMP ADX API. This tool helps users analyze trend strength and direction based on historical price data.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Stock symbol | |
| timeframe | Yes | Timeframe (1min, 5min, 15min, 30min, 1hour, 4hour, 1day) | |
| periodLength | Yes | Period length for the indicator |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It identifies the data source (FMP ADX API) and the use of historical price data, which is useful. However, it does not disclose output format, limitations, or error conditions, though the read-only nature of a calculation is fairly clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no fluff. The first sentence states the core action and resource; the second adds context about the tool's purpose without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple indicator tool with no output schema and no annotations, the description gives enough context for selection—it names the indicator, its purpose, and data source. Invocation details are fully covered by the schema. A mention of the return structure would be nice, but the description is adequate for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for all parameters. The description adds no extra meaning to the parameters beyond what the schema already provides, such as periodLength being 'for the indicator'—so the baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action ('Calculate ADX') and the resource ('a stock'), and explains what ADX measures (trend strength and direction). It is specific to this tool, but it does not explicitly differentiate from sibling indicator tools like getRSI or getSMA.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a use case (analyzing trend strength and direction) but does not explicitly state when to choose this tool over alternatives such as getRSI or getEMA. There is no mention of exclusions or preferred scenarios beyond the general purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getAftermarketQuoteAInspect
Access real-time aftermarket quotes for stocks with the FMP Aftermarket Quote API. Track bid and ask prices, volume, and other relevant data outside of regular trading hours.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that quotes are real-time and include bid/ask and volume, but lacks details on return format, potential delays, or limitations. It is not misleading but could be richer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose, and each sentence adds value. No fluff or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter tool with no output schema, the description adequately covers what the tool does and what data it returns. It could mention more about the quote format, but the complexity is low and the description is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the single parameter 'symbol' with a simple description. The tool description adds that the tool is for stocks, but does not provide additional detail beyond the schema. With 100% schema coverage, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses real-time aftermarket quotes for stocks, specifying key data points like bid/ask prices and volume. It distinguishes from siblings such as getAftermarketTrade (trades vs quotes) and getQuote (regular market quotes).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies use outside regular trading hours, which provides context for when to use this tool. However, it does not explicitly mention alternatives or exclusion criteria, though the 'outside of regular trading hours' phrasing gives clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getAftermarketTradeBInspect
Track real-time trading activity occurring after regular market hours with the FMP Aftermarket Trade API. Access key details such as trade prices, sizes, and timestamps for trades executed during the post-market session.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits fully. It mentions 'real-time' and a few data fields but does not clarify return format (single trade vs list), ordering, time boundaries, or rate limits. This is only slightly more informative than the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main purpose and followed by specific examples of returned data. Every word contributes; no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has minimal complexity (one parameter, no output schema). The description covers the core purpose and data elements but omits details about the response structure and any limitations, which would be helpful given the absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'symbol' parameter, which is documented as 'Stock symbol'. The description adds no extra detail about symbol format or usage, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool tracks real-time aftermarket trading activity and lists specific data points (prices, sizes, timestamps). It distinguishes itself from sibling tools like getAftermarketQuote by focusing on trades rather than quotes, and the singular 'Trade' in the name implies a per-symbol service.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 getAftermarketQuote or getBatchAftermarketTrade. It implies usage for aftermarket trades but does not state exclusions, prerequisites, or selection criteria, leaving the agent without decision context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getAllExchangeMarketHoursAInspect
View the market hours for all exchanges. Check when different markets are active.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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 indicates a read-only operation via 'View' and 'Check', but does not describe the return format (e.g., list, map), timezone handling, or any limitations such as data freshness or coverage. This is adequate but leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of two short sentences that immediately communicate the tool's purpose. There is no wasted information, and it is front-loaded with the key action ('View the market hours for all exchanges').
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description is minimally sufficient. However, it could provide more context about what 'market hours' includes (e.g., regular vs extended hours) and the expected output structure. The existence of a similar sibling (getExchangeMarketHours) suggests this tool's unique value should be more explicit, but the description does not clarify the 'all' versus 'single' distinction beyond the name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and an empty input schema, so the baseline is 4. The description correctly avoids adding parameter details, as there are none to explain. The schema coverage is 100% (vacuously), and no parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'View the market hours for all exchanges' and 'Check when different markets are active.' It uses a specific verb and resource, and the name reinforces the 'all' scope. However, it does not explicitly distinguish itself from the sibling tool 'getExchangeMarketHours', which may target a single exchange.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when one needs market hours across all exchanges ('Check when different markets are active'), but it provides no explicit guidance on when to use this versus alternatives like getExchangeMarketHours or getHolidaysByExchange. There are no exclusions or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getAllIndexQuotesAInspect
The All Index Quotes API provides real-time quotes for a wide range of stock indexes, from major market benchmarks to niche indexes. This API allows users to track market performance across multiple indexes in a single request, giving them a broad view of the financial markets.
| Name | Required | Description | Default |
|---|---|---|---|
| short | No | Whether to return short quotes (default: false) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that quotes are 'real-time' and that the call aggregates multiple indexes, which are useful behavioral traits. However, it does not mention default parameter behavior, rate limits, return structure, or any caveats, leaving notable gaps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exactly two sentences, front-loaded with the main purpose, and contains no redundant or filler content. Every phrase contributes to explaining what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature (one optional parameter, no output schema), the description adequately conveys the core functionality and use case. It does not elaborate on parameter effects, but for a batch quote tool this is a minor gap. The sibling list provides additional context for comparison.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for the 'short' parameter (default false). The tool description does not mention the parameter at all, adding no extra meaning beyond the schema. Baseline 3 is appropriate since schema fully documents the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides real-time quotes for stock indexes, with a scope of multiple indexes in a single request. It distinguishes from single-index tools by emphasizing 'wide range' and 'multiple indexes', but does not explicitly differentiate from sibling tools like getIndexQuotes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for tracking market performance across many indexes at once, but lacks explicit when-to-use guidance or comparisons with alternatives such as getIndexQuote or getIndexShortQuote. Context is present but no exclusions or specific scenarios are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getAllIndustryClassificationBInspect
Access comprehensive industry classification data for companies across all sectors with the FMP All Industry Classification API. Retrieve key details such as SIC codes, industry titles, and business contact information.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination | |
| limit | No | Limit the number of results |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It mentions the data types returned but does not describe pagination behavior, authentication requirements, or any side effects. The agent is left without safety or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no redundant content. It is front-loaded with a clear action and resource, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple paginated list tool with well-described schema parameters, the description sufficiently conveys the result content. It lacks explicit mention of pagination usage, but the overall low complexity makes the description adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides clear descriptions for both page and limit parameters, achieving 100% coverage. The description does not add any parameter-specific information beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses comprehensive industry classification data with specific fields like SIC codes and industry titles. However, it does not differentiate from sibling tools such as getIndustryClassificationList, which have similar names and purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like searchIndustryClassification or getIndustryClassificationList. The description only explains what the tool does, not when it should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getAnalystEstimatesBInspect
Retrieve analyst financial estimates for stock symbols with the FMP Financial Estimates API. Access projected figures like revenue, earnings per share (EPS), and other key financial metrics as forecasted by industry analysts to inform your investment decisions.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Optional page number (default: 0) | |
| limit | No | Optional limit on number of results (default: 10, max: 1000) | |
| period | Yes | Period (annual or quarter) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It indicates a read-only operation via 'Retrieve', but omits details about rate limits, authentication, pagination behavior, or response structure. Missing useful context like whether estimates are consensus or individual analyst data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action ('Retrieve analyst financial estimates') and contains minimal fluff. The phrase 'to inform your investment decisions' is somewhat promotional but not harmful; overall it is concise and structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description gives a reasonable overview of the returned content (revenue, EPS, key metrics) but does not explain the response structure, pagination behavior, or how page/limit affect results. It is adequate but leaves gaps in how to interpret the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters (symbol, period, page, limit) once. The description adds no additional parameter semantics beyond mentioning revenue/EPS, which are data attributes, not parameter behavior. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Retrieve analyst financial estimates for stock symbols' with specific examples like revenue and EPS. This verb+resource combination distinguishes it from sibling tools like getPriceTargetConsensus or getRatingsSnapshot, which focus on different data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a context ('to inform your investment decisions') but no explicit when-to-use or when-not-to-use guidance, nor alternatives. It does not help differentiate from the many sibling financial data retrieval tools, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getAvailableCountriesAInspect
Access a comprehensive list of countries where stock symbols are available with the FMP Available Countries API. This API enables users to filter and analyze stock symbols based on the country of origin or the primary market where the securities are traded.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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 a 'comprehensive list of countries' but does not mention the output format (e.g., country names, codes, objects), alphabetical ordering, or potential pagination. This is not misleading but adds minimal context beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences. The first sentence is direct and front-loaded with the core purpose. The second sentence adds context about filtering/analyzing stock symbols, but is somewhat generic and could be trimmed. Overall, it is concise and readable without excessive verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description covers the basic purpose. However, it lacks any detail about the return structure—whether the result is a list of strings, objects with country codes, or something else. Since the description must compensate for the missing output schema, this gap prevents a higher score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100% (an empty properties object). According to the rubric, a baseline of 4 is appropriate for no-parameter tools. The description does not need to add parameter semantics since there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Access a comprehensive list of countries where stock symbols are available.' This uses a specific verb ('Access') and resource ('list of countries'), and is distinct from sibling tools like getAvailableExchanges or getAvailableIndustries. The mention of filtering by country of origin or primary market further clarifies its domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case: 'enables users to filter and analyze stock symbols based on the country of origin or the primary market.' However, it does not explicitly state when to use this tool versus alternatives like getAvailableExchanges or getAvailableSectors. No exclusions or alternative references are provided, so guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getAvailableExchangesCInspect
Access a complete list of supported stock exchanges using the FMP Available Exchanges API. This API provides a comprehensive overview of global stock exchanges, allowing users to identify where securities are traded and filter data by specific exchanges for further analysis.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It describes the API's general capabilities rather than the tool's specific behavior, omitting return format, rate limits, or the fact that no parameters are accepted (though the schema shows this).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is direct and useful, but the second sentence adds vague marketing language ('comprehensive overview', 'further analysis') without actionable detail. It could be tightened to a single sentence without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description should clarify what the returned list contains (e.g., exchange codes, names, market identifiers). It only says 'complete list', leaving the response structure and any usage context ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, which typically yields a baseline score of 4. However, the description misleadingly states that users can 'filter data by specific exchanges', implying a parameter that the schema does not support. This reduces clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses a complete list of supported stock exchanges, which is a specific resource. However, it does not explicitly differentiate itself from sibling list tools like getAvailableCountries or getAvailableSectors, though the resource is distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternative guidance is provided. The phrase 'for further analysis' implies a use case, but it does not specify when to choose this over other exchange-related tools such as getAllExchangeMarketHours or searchExchangeVariants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getAvailableIndustriesAInspect
Access a comprehensive list of industries where stock symbols are available using the FMP Available Industries API. This API helps users filter and categorize companies based on their industry for more focused research and analysis.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description alone must disclose behavioral traits. It lacks any details about response format (e.g., array of strings), ordering, pagination, authentication requirements, or error handling. For a zero-parameter tool, this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, with the purpose front-loaded. The only redundancy is the phrase 'using the FMP Available Industries API,' which is somewhat repetitive given the tool name, but it does not significantly detract.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, zero-parameter tool without an output schema, the description gives a basic understanding but omits return value details. Since there are no annotations or output schema, mentioning the expected response structure would have made it more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the baseline score is 4. The description correctly adds no parameter-specific details since none exist. The schema's 100% coverage (vacuous) means no information is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: accessing a list of industries where stock symbols are available. It distinguishes itself from sibling tools like getAvailableSectors or getAvailableCountries by focusing specifically on industries. However, it could be more explicit about the output being a simple list of industry names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on when to use this tool, mentioning it helps filter and categorize companies by industry for focused research. It does not explicitly mention alternatives or exclusions (e.g., use getAvailableSectors for sectors), but the usage context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getAvailableSectorsBInspect
Access a complete list of industry sectors using the FMP Available Sectors API. This API helps users categorize and filter companies based on their respective sectors, enabling deeper analysis and more focused queries across different industries.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It states only the basic action ('Access a complete list') and the use case, without detailing response format, pagination, authentication requirements, or any potential limitations. The term 'complete list' is the sole extra behavioral claim, leaving significant ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the core function stated upfront and the second sentence adding relevant context about sector categorization and analysis. No unnecessary words or details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description is mostly adequate but does not specify the response structure (e.g., an array of sector names) or whether the list is paginated. It leaves some ambiguity about what the agent should expect from the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema is empty. The baseline score for 0 parameters is 4, and the description adds no parameter-specific details, which is acceptable because there are no parameters to explain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses a complete list of industry sectors via the FMP Available Sectors API and explains its purpose in categorizing/filtering companies. While it doesn't explicitly contrast with sibling tools like getAvailableIndustries, the resource and action are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context for when to use the tool (for sector-based categorization and filtering of companies), but it does not offer explicit guidance on when not to use it or mention specific alternative tools. This is enough to understand the intended use case but lacks exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getAvailableTranscriptSymbolsAInspect
Access a complete list of stock symbols with available earnings call transcripts using the FMP Available Earnings Transcript Symbols API. Retrieve information on which companies have earnings transcripts and how many are accessible for detailed financial analysis.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It indicates the tool returns symbols and counts of accessible transcripts, which gives some idea of the output. However, it does not mention that it is a read-only operation, that no parameters are accepted, or any potential rate limits or data freshness aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, front-loaded with the main purpose, and every sentence contributes meaningful information. There is no redundant or vague wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and no output schema, the description is fairly complete. It states the tool accesses a list of symbols with transcripts and provides counts. It lacks details about the response format or any authentication requirements, but for a simple list tool, it covers the essentials.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description adds no parameter information, which is acceptable since there are none. It implies a complete, unfiltered list, which is consistent with the empty input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides a 'complete list of stock symbols with available earnings call transcripts' and mentions the specific FMP API. This gives a specific verb and resource. However, it does not explicitly differentiate from sibling tools like getEarningsTranscriptList, though the purpose is reasonably distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives is provided. The description implies a purpose for 'detailed financial analysis' but does not state when to prefer this over similar transcript-related tools, nor does it mention any limitations or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_balance_sheetCInspect
Get company balance sheet data.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol/ticker (e.g. '000001') | |
| recent_n | No | Number of most recent records to return |
Tool Definition Quality
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 only says 'get' data, implying a read-only operation, but does not explain output behavior, pagination, default record count, or any quirks. It does not contradict annotations (since there are none), but it provides minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, a single sentence with no filler or redundancy. It is front-loaded with the core action. However, it is so terse that it sacrifices clarity and completeness, which is a minor structural issue but still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simple schema (2 params) but the large set of sibling balance-sheet tools, the description lacks necessary context about the exact type of balance sheet data and when it should be used. Without annotations or an output schema, the description leaves the agent with insufficient information to fully understand the tool's role and output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both symbol and recent_n well-described in the input schema. The description adds no additional parameter semantics or context beyond the schema. Baseline 3 is appropriate because the schema handles parameter documentation, and the description contributes no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Get company balance sheet data'), but it is vague and does not distinguish from numerous balance sheet siblings like getBalanceSheetStatement, getBalanceSheetStatementTTM, and getBalanceSheetStatementAsReported. It lacks specificity about the period, format, or scope of the data returned. Overall the core purpose is clear but under-specified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus the many balance-sheet and financial-statement siblings. There is no mention of exclusions or alternatives, so an agent cannot determine if this is the right tool for a given request. It only describes what it does, not when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getBalanceSheetGrowthBulkBInspect
The Balance Sheet Growth Bulk API allows users to retrieve growth data across multiple companies’ balance sheets, enabling detailed analysis of how financial positions have changed over time.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Year (e.g., 2023) | |
| period | Yes | Period (Q1, Q2, Q3, Q4, FY) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only provides a high-level purpose. It does not mention return format, data scope, pagination, rate limits, or any prerequisites, leaving significant behavioral aspects undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence and reasonably concise, but the trailing clause 'enabling detailed analysis of how financial positions have changed over time' adds little value. Overall, it is compact but could be tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description omits essential context: how the bulk selection works, what 'growth data' includes, and the output structure. With no output schema and no clarification of the company selection mechanism, the description is incomplete for agent decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 100% of parameters, so the baseline is 3. The description adds no specific parameter guidance and introduces ambiguity by mentioning 'multiple companies' while the schema only includes year and period, without explaining how companies are specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves growth data across multiple companies' balance sheets, using a specific verb ('retrieve') and resource. It effectively distinguishes it from sibling tools like getBalanceSheetStatementGrowth (likely single company) and getBalanceSheetStatementsBulk (statements, not growth).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for analyzing growth trends across multiple companies, but does not explicitly state when to use this tool versus alternatives. There are no exclusions or comparisons to other bulk/growth endpoints, leaving usage guidance implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getBalanceSheetStatementCInspect
Access detailed balance sheet statements for publicly traded companies with the Balance Sheet Data API. Analyze assets, liabilities, and shareholder equity to gain insights into a company's financial health.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit on number of results (default: 100, max: 1000) | |
| period | No | Period (Q1, Q2, Q3, Q4, or FY) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
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 only says 'Access' which implies a read-only operation, but it does not disclose output format, pagination, rate limits, or any limitations. The mention of analyzing assets, liabilities, and equity gives some context but not enough 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two sentences that front-load the core purpose. The first sentence identifies the tool's function and target audience, while the second adds useful use-case context. It is efficient, though the second sentence is somewhat generic and could be more specific.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple three-parameter tool with no output schema, the description covers the basic function and analytical use case. However, given the many closely related sibling tools, the description is incomplete without explaining what differentiates this tool (e.g., standard vs. TTM, as-reported, or growth versions). It also doesn't clarify whether results are historical or point-in-time.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all three parameters (symbol, limit, period), so the baseline is 3. The description does not add any parameter-specific details beyond the schema, though it does mention analyzing balance sheet components, which indirectly relates to the symbol parameter. This does not elevate the score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses balance sheet statements for publicly traded companies and specifies the key financial components (assets, liabilities, shareholder equity). However, it does not distinguish this tool from closely related siblings like get_balance_sheet, getBalanceSheetStatementAsReported, or getBalanceSheetStatementTTM, so it 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives. It does not mention any conditions, exclusions, or alternative tools, despite the presence of many similar balance sheet tools. The only implied usage is analyzing financial health, which is too vague to guide tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getBalanceSheetStatementAsReportedCInspect
Access balance sheets as reported by the company with the As Reported Balance Statements API. View detailed financial data on assets, liabilities, and equity directly from official filings.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit on number of results (default: 100, max: 1000) | |
| period | No | Period type (annual or quarter) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior, but it only mentions 'directly from official filings' without covering pagination, limits, period defaults, or response structure. It does not contradict any annotations, but the lack of additional behavioral context (e.g., whether it returns historical or just latest data) 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two sentences that front-load the primary action and resource. The first sentence is somewhat redundant with the tool name but adds 'as reported by the company.' The second sentence provides useful detail on data content. No superfluous information is included.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and only three simple parameters, the description adequately conveys the core purpose and data scope. However, given the high number of sibling balance sheet tools, it lacks sufficient context to disambiguate usage. It covers the essential 'what' but not the 'when' or 'why' nuances.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add parameter-specific meaning beyond the schema, but it does mention the content type (assets, liabilities, equity) which indirectly relates to what the data represents. It neither enriches nor detracts from the schema's clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses balance sheets as reported by the company, with specific mention of assets, liabilities, and equity from official filings. It uses a specific verb ('access') and names the resource ('As Reported Balance Statements API'), distinguishing it from standard or growth balance sheet tools, though it could more explicitly contrast with sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 getBalanceSheetStatement or getBalanceSheetStatementTTM. It implies the 'as reported' nature but does not state explicit use cases or exclusions, leaving the agent to infer context from the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getBalanceSheetStatementGrowthBInspect
Analyze the growth of key balance sheet items over time with the Balance Sheet Statement Growth API. Track changes in assets, liabilities, and equity to understand the financial evolution of a company.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit on number of results (default: 100, max: 1000) | |
| period | No | Period (Q1, Q2, Q3, Q4, or FY) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states a high-level purpose but doesn't disclose whether growth is shown as percentages or absolute changes, how periods are represented, or what the response structure looks like. This leaves key behavioral traits undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff, front-loading the purpose and adding a meaningful second sentence about tracking assets/liabilities/equity. Slight redundancy with the tool name is acceptable; overall efficiently sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description should provide more detail about return values or growth presentation. It doesn't explain what the API response contains, how growth is calculated, or handle edge cases. This leaves the agent under-equipped to interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (symbol, period, limit) are already documented. The description adds domain context (assets, liabilities, equity) but doesn't clarify parameter semantics beyond the schema, matching the baseline for complete schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb 'Analyze' and identifies the resource as 'growth of key balance sheet items' with explicit scope (assets, liabilities, equity). It clearly conveys the growth-focused nature, distinguishing it from raw balance sheet siblings via the 'growth' term, though it doesn't name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: use when you want to track changes in balance sheet items over time. However, there is no explicit when-to-use vs alternatives (e.g., getBalanceSheetStatement, getBalanceSheetStatementTTM) or exclusions, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getBalanceSheetStatementsBulkBInspect
The Bulk Balance Sheet Statement API provides comprehensive access to balance sheet data across multiple companies. It enables users to analyze financial positions by retrieving key figures such as total assets, liabilities, and equity. Ideal for comparing the financial health and stability of different companies on a large scale.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Year (e.g., 2023) | |
| period | Yes | Period (Q1, Q2, Q3, Q4, FY) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full behavioral disclosure. It does not mention pagination, response size, rate limits, or how the tool selects companies given only year and period parameters. 'Comprehensive access' is vague and does not disclose return format, data volume, or any constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, but the first sentence is vague ('comprehensive access') and the second is somewhat redundant. It is not excessively long, but it could be more direct and better structured with key details front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description should explain return structure, bulk behavior, and usage boundaries. It only mentions key figures and comparing companies, leaving major gaps for a bulk API tool, including how to specify companies and what the response contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage for the two parameters (year, period) is 100%, so baseline is 3. The description adds context about the data content (total assets, liabilities, equity) but does not clarify the missing company selection parameter or how 'bulk' works with only year/period, which could confuse agents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'Bulk Balance Sheet Statement API' that provides balance sheet data for multiple companies, with specific fields (total assets, liabilities, equity). The word 'Bulk' distinguishes it from single-company balance sheet siblings, though it lacks a direct action verb like 'returns' or 'retrieves'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states it is 'Ideal for comparing the financial health and stability of different companies on a large scale,' which clearly indicates when to use it. It does not explicitly mention alternatives or when not to use it, but the bulk versus single-company distinction is implied by the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getBalanceSheetStatementTTMCInspect
Access detailed balance sheet statements for publicly traded companies with the Balance Sheet Data API. Analyze assets, liabilities, and shareholder equity to gain insights into a company's financial health.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit on number of results (default: 100, max: 1000) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It only says 'access' (implying read-only) but does not explain TTM specifics, data scope, limit semantics, or any potential caveats. The schema covers the limit parameter, but the description adds no extra behavioral context beyond the name itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and reasonably concise, but it includes a redundant product name ('Balance Sheet Data API') and a somewhat fluffy concluding phrase about gaining insights. It is not badly overlong, but every sentence does not fully earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (2 params, no nested objects), the description is passable but incomplete. It fails to mention the crucial TTM distinction, which is essential for correct tool selection. Since there is no output schema, a clearer description of what the returned balance sheet contains and how 'limit' applies would strengthen completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear descriptions for 'symbol' and 'limit', so the structured metadata already explains the parameters. The description does not add any further meaning, but the baseline of 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it provides 'detailed balance sheet statements for publicly traded companies' with a clear verb and resource, but it fails to mention the TTM (trailing twelve months) aspect that distinguishes this tool from siblings like getBalanceSheetStatement. This lack of differentiation makes it ambiguous which balance sheet variant to select.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not explain that this is the TTM version, nor does it mention exclusions or alternatives such as as-reported or growth statements. The only implied context is for analyzing financial health, which is too generic.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getBatchAftermarketQuoteAInspect
Retrieve real-time aftermarket quotes for multiple stocks with the FMP Batch Aftermarket Quote API. Access bid and ask prices, volume, and other relevant data for several companies during post-market trading.
| Name | Required | Description | Default |
|---|---|---|---|
| symbols | Yes | Comma-separated list of stock symbols |
Tool Definition Quality
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 adds useful context: real-time data, post-market timing, and the specific data fields (bid, ask, volume). However, it does not disclose potential behavioral nuances like symbol limits, missing aftermarket quotes, or rate limiting.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action and resource, and contains zero filler or redundant details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool with no output schema, the description sufficiently communicates the data scope (bid, ask, volume, other relevant data) and timing. It does not delve into return structure or limitations, but the tool is straightforward enough that this feels incomplete only at the margins.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the parameter description 'Comma-separated list of stock symbols'. The tool description reinforces the 'multiple stocks' aspect but adds no new format or constraints beyond what the schema already states, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses the specific verb 'Retrieve' and accurate resource 'aftermarket quotes for multiple stocks', clearly distinguishing it from singular getAftermarketQuote and regular-hours getBatchQuotes by emphasizing batch and post-market context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context for when to use (multiple stocks, during post-market trading) but does not explicitly name alternatives or exclusions. The post-market and multiple-stock cues make the intended use obvious without needing to mention sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getBatchAftermarketTradeAInspect
Retrieve real-time aftermarket trading data for multiple stocks with the FMP Batch Aftermarket Trade API. Track post-market trade prices, volumes, and timestamps across several companies simultaneously.
| Name | Required | Description | Default |
|---|---|---|---|
| symbols | Yes | Comma-separated list of stock symbols |
Tool Definition Quality
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 does disclose that data is real-time and includes post-market trade prices, volumes, and timestamps. However, it does not mention output structure, any limitations, or whether the response is keyed by symbol, which would be valuable behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the main verb and resource, and contains no redundant phrasing. Each sentence adds value: the first states the core action, the second elaborates on the data fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter batch retrieval tool with no output schema, the description adequately covers the input and the returned data elements (prices, volumes, timestamps). It could be slightly more complete by clarifying whether the response is an object keyed by symbol or an array, but this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides a 100% clear description for the only parameter: 'Comma-separated list of stock symbols'. The description adds no new semantic details beyond paraphrasing with 'multiple stocks' and 'several companies', so it does not enhance the schema's coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Retrieve' and the resource 'real-time aftermarket trading data for multiple stocks'. It specifically mentions the FMP Batch Aftermarket Trade API and distinguishes itself from siblings like getAftermarketTrade (singular) and getBatchAftermarketQuote by emphasizing 'trade data' and 'across several companies simultaneously'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the batch use case by saying 'for multiple stocks' and 'across several companies simultaneously', but it does not explicitly mention when to use this tool versus alternatives like getAftermarketTrade or getBatchAftermarketQuote, nor does it provide exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getBatchMarketCapAInspect
Retrieve market capitalization data for multiple companies in a single request with the FMP Batch Market Capitalization API. This API allows users to compare the market size of various companies simultaneously, streamlining the analysis of company valuations.
| Name | Required | Description | Default |
|---|---|---|---|
| symbols | Yes | Comma-separated list of stock symbols |
Tool Definition Quality
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 implies a read-only operation ('Retrieve') and highlights the batch behavior (single request, multiple companies), but it does not disclose any potential limitations such as rate limits, maximum number of symbols, or data freshness. For a simple read tool, this is adequate but not rich in behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the primary action and scope in the first sentence. It is well-structured and front-loaded, and the second sentence adds a brief use-case rationale without unnecessary verbosity. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with a single, fully documented parameter, the description covers the core action and use case. There is no output schema, so the description should ideally specify return values more precisely, but 'market capitalization data for multiple companies' implies a collection of records. It lacks explicit details on the response format, but given the tool's simplicity, this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with 'symbols' described as 'Comma-separated list of stock symbols'. The description adds little beyond the schema, merely reinforcing that multiple companies are supported. It does not provide additional meaning about formatting, examples, or constraints, so it meets the baseline without exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Retrieve market capitalization data') and the scope ('for multiple companies in a single request'), distinguishing it from single-company market cap tools. It also names the specific API (FMP Batch Market Capitalization API), leaving no ambiguity about the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: when comparing market size of various companies simultaneously, streamlining valuation analysis. It does not explicitly mention alternatives or when not to use it, but the batch context is sufficient for a simple retrieval tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getBatchQuotesAInspect
Retrieve multiple real-time stock quotes in a single request with the FMP Stock Batch Quote API. Access current prices, volume, and detailed data for multiple companies at once, making it easier to track large portfolios or monitor multiple stocks simultaneously.
| Name | Required | Description | Default |
|---|---|---|---|
| symbols | Yes | Comma-separated list of stock symbols |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden. It discloses that quotes are real-time, retrieved in a single request, and include current prices, volume, and detailed data. However, it does not specify response format, auth/rate limits, or exact scope of 'detailed data'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the core action, and every clause adds value. The use-case sentence is helpful for context without being wordy or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity tool with one fully described parameter, the description covers the purpose and typical use case. The lack of an output schema is partially mitigated by naming prices, volume, and detailed data, though 'detailed data' remains vague.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully documents the single 'symbols' parameter as a comma-separated list, so the description adds no new parameter-level semantics. It merely restates the multi-company concept, which keeps the score at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Retrieve'), a clear resource ('multiple real-time stock quotes'), and states the batch/API nature. It distinguishes from siblings like getQuote (single stock) and getBatchQuotesShort by emphasizing 'multiple' and 'detailed data'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a clear context: tracking large portfolios or monitoring multiple stocks simultaneously. However, it does not explicitly mention when not to use it or point to alternatives like getQuote or getBatchQuotesShort.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getBatchQuotesShortAInspect
Access real-time, short-form quotes for multiple stocks with the FMP Stock Batch Quote Short API. Get a quick snapshot of key stock data such as current price, change, and volume for several companies in one streamlined request.
| Name | Required | Description | Default |
|---|---|---|---|
| symbols | Yes | Comma-separated list of stock symbols |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosure. It adds context about real-time data, short-form fields, and batch processing, which is useful. It also lists expected output fields (price, change, volume). While it doesn't mention response format or limitations, it is not misleading and provides reasonable transparency for a read-only quote tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and purpose. No redundant or extraneous information. The structure is clean and immediately comprehensible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description provides sufficient context: it explains the batch quote nature, the short-form data, and example output fields. It could be more explicit about the response format, but the tool is straightforward and the description covers the essentials adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'symbols' is fully described in the schema with 100% coverage as a comma-separated list. The description adds no new syntax or formatting details beyond the schema, only reinforcing the 'multiple' aspect. The schema already handles the semantics, so the description provides marginal additional value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses real-time, short-form quotes for multiple stocks, specifying the FMP Stock Batch Quote Short API. It mentions key data like price, change, and volume, which distinguishes it from single-stock quote tools like getQuoteShort and full batch tools like getBatchQuotes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for quickly fetching a snapshot of multiple stocks in one request, but it does not explicitly compare to alternatives or state when not to use this tool. The context of 'short-form' and 'multiple' is present, but no exclusions or alternative tools are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getBiggestGainersBInspect
Track the stocks with the largest price increases using the Top Stock Gainers API. Identify the companies that are leading the market with significant price surges, offering potential growth opportunities.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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 only describes the purpose ('track', 'identify') and does not mention return format, pagination, time period, or any limitations of the underlying API.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is concise and informative, but the second sentence largely restates the first with redundant marketing language ('significant price surges', 'potential growth opportunities'), adding little value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema or annotations, and the description does not explain what the tool returns (e.g., list of tickers, price changes). For a simple no-param tool, it still leaves a gap in what the agent can expect from the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description appropriately does not invent parameter details; it simply frames the tool's context, which is sufficient for a no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: tracking stocks with the largest price increases via the Top Stock Gainers API. This distinguishes it from siblings like getBiggestLosers and getMostActiveStocks by specifying the exact resource and scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given on when to use this tool versus alternatives. The description implies usage for identifying top gainers, but it does not mention exclusions or direct users to other tools for related queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getBiggestLosersAInspect
Access data on the stocks with the largest price drops using the Biggest Stock Losers API. Identify companies experiencing significant declines and track the stocks that are falling the fastest in the market.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only restates the tool's purpose without noting output format, sorting order, time frame, data granularity, or whether the data is real-time. Phrases like 'identify companies' and 'track stocks' add no concrete behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but redundant. 'Largest price drops,' 'significant declines,' and 'falling fastest' all convey the same idea across two sentences. The second sentence adds little beyond the first, making it less concise than it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (no params, no output schema), the description still fails to specify what data is actually returned (e.g., list of tickers, percentage drops, prices). It says 'access data' but does not describe the response structure, leaving significant ambiguity for an agent that needs to interpret the tool's output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty. The baseline for 0-param tools is 4; the description does not need to explain parameter semantics since none exist. The description adds no parameter information but also does not need to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose: accessing data on stocks with the largest price drops. It uses a specific verb ('Access data') and a specific resource ('stocks with the largest price drops'), and it implicitly distinguishes itself from sibling tools like getBiggestGainers by focusing on declines rather than gains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the clear context for use: when you need information on the biggest stock market losers. It does not explicitly mention alternatives or exclusions, but the purpose is unambiguous enough that an agent can infer when to invoke this tool versus its gainer counterpart.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cash_flowCInspect
Get company cash flow statement data.
| Name | Required | Description | Default |
|---|---|---|---|
| source | No | Data source | sina |
| symbol | Yes | Stock symbol/ticker (e.g. '000001') | |
| recent_n | No | Number of most recent records to return |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosure. It fails to mention any behavioral aspects such as return format, data source limitations, or the meaning of recent_n. The tool's behavior is completely opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is well-structured and easy to read. It wastes no words, but it is overly vague, lacking the specificity that would make the conciseness truly effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 3 parameters, no output schema, and no annotations, leaving the description as the sole source of context. It provides no information about what the cash flow data contains, how many records are returned, or the significance of the source parameter. This makes the description inadequate for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage for parameters (source, symbol, recent_n), so the description does not need to repeat them. However, the description adds no additional meaning beyond the schema, earning the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action and resource: 'Get company cash flow statement data.' It is specific enough to understand the primary function but does not distinguish itself from sibling tools like getCashFlowStatement or getCashFlowStatementTTM, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 merely states what it does without any context, prerequisites, or exclusions, leaving the agent without a basis for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCashFlowGrowthBulkBInspect
The Cash Flow Statement Growth Bulk API allows you to retrieve bulk growth data for cash flow statements, enabling you to track changes in cash flows over time. This API is ideal for analyzing the cash flow growth trends of multiple companies simultaneously.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Year (e.g., 2023) | |
| period | Yes | Period (Q1, Q2, Q3, Q4, FY) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must reveal behavior itself. It mentions tracking changes over time and multiple companies, but it does not disclose output format, pagination, growth calculation methodology, or whether all companies are returned for the given year and period. This is a significant behavioral gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, consisting of two sentences that front-load the tool's purpose and then offer a context for use. It is efficient with no filler, although the first sentence repeats the tool name and the second sentence is somewhat promotional.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description carries the full burden of explaining response semantics. It fails to describe the shape of the returned data, the meaning of growth, or the company coverage behavior, making it incomplete for an agent trying to reason about the tool's output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides descriptions for both required parameters, with year example and period options, so schema coverage is complete. The description adds no additional meaning about how the parameters affect results, and it does not clarify how multiple companies are selected given only year and period are accepted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving bulk growth data for cash flow statements, with a focus on tracking changes over time across multiple companies. This verb-resource-scope structure distinguishes it from the single-company getCashFlowStatementGrowth sibling, though the exact nature of growth data remains slightly generic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage guidance is that the API is ideal for analyzing cash flow growth trends of multiple companies simultaneously, which implies bulk scenarios. However, it does not explicitly name alternatives, exclusions, or prerequisites, leaving the when-not-to-use case unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCashFlowStatementCInspect
Gain insights into a company's cash flow activities with the Cash Flow Statements API. Analyze cash generated and used from operations, investments, and financing activities to evaluate the financial health and sustainability of a business.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit on number of results (default: 100, max: 1000) | |
| period | No | Period (Q1, Q2, Q3, Q4, or FY) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of disclosing behavioral traits. It does not mention return format, whether historical data is provided, required inputs, or any operational details. It only gives a generic purpose statement, which provides minimal insight into actual tool behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but padded with vague marketing language like 'Gain insights' and 'evaluate the financial health and sustainability.' The first sentence is redundant with the tool name, and neither sentence provides concrete operational information, so it is under-specified rather than concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description needs to explain return values and usage context, but it does not. It lacks information about what data is returned, how to interpret results, or any limitations. The schema covers parameters, but the description is insufficient for a complete understanding of the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with 'symbol', 'limit', and 'period' all documented. The description adds no parameter-specific meaning beyond what the schema already provides, so the baseline of 3 applies. It does not clarify how parameters affect the output or provide examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as a company's cash flow statement and explains it analyzes operations, investments, and financing activities. It is specific about the subject matter but does not distinguish it from sibling tools like get_cash_flow or getCashFlowStatementTTM, so it 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.
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 compared to alternatives. It only implies usage for cash flow analysis without mentioning exclusions, prerequisites, or when to choose a different cash flow tool such as getCashFlowStatementTTM or getCashFlowGrowth.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCashFlowStatementAsReportedAInspect
View cash flow statements as reported by the company with the As Reported Cash Flow Statements API. Analyze a company's cash flows related to operations, investments, and financing directly from official reports.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit on number of results (default: 100, max: 1000) | |
| period | No | Period type (annual or quarter) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It adds useful behavioral context by stating the data comes directly from official company reports and covers operating, investing, and financing flows. However, it does not disclose return format, pagination, line-item variability, or other limitations such as period-specific nuances.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no redundant content. It front-loads the core purpose and adds a concise explanation of the data's content and source. Every word contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description covers the conceptual purpose and data origin but omits response structure, result format, and explicit usage boundaries. The parameter schema is fully covered, yet the lack of return-value details leaves the description only minimally viable for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all three parameters (symbol, period, limit) with clear descriptions and an enum for period, providing 100% coverage. The description adds no additional parameter-level semantics beyond those in the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool views cash flow statements 'as reported' by the company from official reports, using the specific verb 'View' and identifying the resource. This distinguishes it from siblings like getCashFlowStatement or getCashFlowStatementTTM that likely provide normalized or calculated data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for analyzing official, as-reported cash flow data, but it does not explicitly state when to prefer this tool over alternatives or mention exclusions. There is no reference to sibling tools such as getCashFlowStatement, getCashFlowStatementGrowth, or bulk variants, so guidance is only inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCashFlowStatementGrowthBInspect
Measure the growth rate of a company’s cash flow with the FMP Cashflow Statement Growth API. Determine how quickly a company’s cash flow is increasing or decreasing over time.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit on number of results (default: 100, max: 1000) | |
| period | No | Period (Q1, Q2, Q3, Q4, or FY) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior, but it only restates the high-level purpose. It doesn't explain the return structure, period-over-period calculation, handling of missing data, pagination, or other API constraints, leaving the agent with little behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but the second sentence ('Determine how quickly...') largely restates the first without adding substantive information. It is concise but mildly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and sparse description, the agent cannot anticipate what the response contains or how growth rates are presented. The schema covers parameters, but the return value and growth-rate semantics are unexplained, making the description incomplete for confident tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all three parameters (symbol, period, limit) with 100% coverage, so the baseline is 3. The description adds no parameter-specific detail, but none is necessary given the schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action ('Measure the growth rate') and the resource ('company's cash flow'), which is sufficient to distinguish it from the many cash-flow statement/list siblings. However, it does not explicitly name any alternative tool, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage is implied: if you need to measure growth of cash flow, this is the tool. But it provides no explicit when-to-use versus alternatives like getCashFlowStatement, getCashFlowGrowthBulk, or getCashFlowStatementTTM, and no exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCashFlowStatementsBulkBInspect
The Cash Flow Statement Bulk API provides access to detailed cash flow reports for a wide range of companies. This API enables users to retrieve bulk cash flow statement data, helping to analyze companies’ operating, investing, and financing activities over time.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Year (e.g., 2023) | |
| period | Yes | Period (Q1, Q2, Q3, Q4, FY) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only mentions the high-level content categories and says 'wide range of companies' without specifying the actual behavior: what records are returned, whether it is all companies, pagination, response format, or any rate/scope limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact at two sentences, but there is redundancy: 'provides access to detailed cash flow reports' and 'enables users to retrieve bulk cash flow statement data' restate the same idea. It is not bloated, but it could be tighter and more direct.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description needed to explain what a bulk response looks like and how year/period scope it. It only vaguely promises 'detailed cash flow reports' and does not clarify the company universe, response size, or data granularity, leaving the tool under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: both year and period have explicit descriptions with examples ('Year (e.g., 2023)', 'Period (Q1, Q2, Q3, Q4, FY)'). The description adds no parameter-level detail beyond the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving bulk cash flow statement data and names the report content (operating, investing, financing activities). It is more specific than a tautology and the 'Bulk' scope distinguishes it from single-company cash flow siblings, though it does not exactly define the company universe.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'wide range of companies' and the name 'Bulk' imply this is for multi-company data, and the schema requiring only year/period reinforces that. However, the description does not explicitly state when to prefer this over getCashFlowStatement, getCashFlowStatementAsReported, or getCashFlowGrowthBulk, nor does it provide exclusions or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCashFlowStatementTTMCInspect
Gain insights into a company's cash flow activities with the Cash Flow Statements API. Analyze cash generated and used from operations, investments, and financing activities to evaluate the financial health and sustainability of a business.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit on number of results (default: 100, max: 1000) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only offers generic marketing language about evaluating financial health. It does not disclose what the tool returns (e.g., a list of cash flow statements for a symbol), its read-only nature, defaults, or any side effects or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, but the content is largely promotional and repetitive of the tool's name. It spends words on 'gain insights' and 'evaluate financial health' rather than providing concrete details, so the sentences do not fully earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the large number of sibling tools for cash flow statements, this description is incomplete. It does not explain the TTM distinction, which is critical for selecting this tool, nor does it specify the output format or typical use cases. The schema covers parameters, but the high-level context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full descriptions for both parameters (symbol and limit) with 100% coverage. The description adds no parameter-specific information, so it earns the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states that the tool provides insights into cash flow activities, but the verb 'analyze' is vague and does not clearly indicate that this tool returns cash flow statement data. It fails to mention the 'TTM' (trailing twelve months) scope that differentiates it from sibling tools like getCashFlowStatement, making its specific purpose ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 such as getCashFlowStatement, getCashFlowStatementAsReported, or getCashFlowStatementGrowth. The description gives no context about use cases, prerequisites, or when TTM data would be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCIKListBInspect
Access a comprehensive database of CIK (Central Index Key) numbers for SEC-registered entities with the FMP CIK List API. This endpoint is essential for businesses, financial professionals, and individuals who need quick access to CIK numbers for regulatory compliance, financial transactions, and investment research.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional limit on number of results (default: 1000) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden of behavioral disclosure. It only states that the tool provides access to CIK numbers, but does not explain what the response contains, whether results are paginated, how the 'limit' parameter affects behavior, or any other operational detail. This is a significant gap 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences. The first sentence is informative, but the second sentence is promotional and adds no technical value. It is reasonably sized but includes unnecessary marketing language, preventing a high score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional parameter and no output schema, the description should clarify what the endpoint returns and how the limit applies. It only gives a general overview of the data source, leaving the agent without essential information about the response structure or usage constraints. This is incomplete even for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema describes the 'limit' parameter with its default value, achieving 100% coverage. The description adds no parameter-specific information, but the schema already handles it, so a baseline of 3 is appropriate. The description does not enrich the meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses a database of CIK numbers for SEC-registered entities, with the resource named as the FMP CIK List API. It uses a specific verb ('Access') and resource, but does not explicitly distinguish itself from sibling tools like searchCIK or getCompanyProfileByCIK.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides use case context (regulatory compliance, financial transactions, investment research) and identifies target users, but does not mention when NOT to use it or point to alternatives. This is clear context without exclusions, matching a score of 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCommodityQuotesAInspect
Get up-to-the-minute quotes for commodities with the FMP Real-Time Commodities Quotes API. Track the latest prices, changes, and volumes for a wide range of commodities, including oil, gold, and agricultural products.
| Name | Required | Description | Default |
|---|---|---|---|
| short | No | Whether to use short format |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It notes the data is up-to-the-minute and includes prices, changes, and volumes, but does not disclose potential limitations such as API key requirements, rate limits, or that it returns a bulk list of all commodities.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and includes useful specifics without any fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description conveys what it does and what data it returns. It doesn't mention the 'short' parameter, but the schema covers that, so the overall context is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage for the sole 'short' parameter. The description adds no extra context about this parameter, but since the schema already defines it, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves real-time commodity quotes, naming the API and specific commodity types (oil, gold, agricultural). It differentiates from sibling quote tools by explicitly focusing on commodities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for commodity quotes but does not explicitly contrast with sibling tools like getCryptoQuotes or getForexQuotes. It lacks explicit guidance on when to prefer this tool or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCompanyExecutivesAInspect
Retrieve detailed information on company executives with the FMP Company Executives API. This API provides essential data about key executives, including their name, title, compensation, and other demographic details such as gender and year of birth.
| Name | Required | Description | Default |
|---|---|---|---|
| active | No | Filter for active executives | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates a read operation via the verb 'Retrieve' and provides context about the returned data fields. With no annotations provided, the description carries the transparency burden, but it does not mention potential errors, authentication requirements, or the behavior of the 'active' filter. However, for a simple read-only API, the disclosure is minimally adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action verb 'Retrieve', and includes relevant detail without redundancy. It efficiently conveys the tool's purpose and output scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter read API without an output schema, the description covers the purpose, data fields, and general context. It lacks explicit sibling differentiation and does not elaborate on the 'active' parameter, but it provides enough information for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents both parameters with descriptions: 'symbol' as 'Stock symbol' and 'active' as 'Filter for active executives', giving 100% coverage. The description adds context about returned fields (compensation, demographics) but does not clarify expected values for 'active' (e.g., 'true'/'false' vs. arbitrary strings), so it adds only marginal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves detailed executive information via the FMP API and lists specific fields (name, title, compensation, demographic details). It is specific enough to identify the tool's focus, but it does not explicitly distinguish it from siblings like getExecutiveCompensation, which also deals with executive data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternative guidance is provided. The description implies the tool is for retrieving executive details, but it does not mention when to prefer this tool over related ones like getExecutiveCompensation or getCompanyProfile, nor does it list any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCompanyNotesBInspect
Retrieve detailed information about company-issued notes with the FMP Company Notes API. Access essential data such as CIK number, stock symbol, note title, and the exchange where the notes are listed.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, and the description does not disclose behavioral traits beyond the operation itself. It does not mention whether this is read-only, any required permissions, rate limits, or output format/limitations, leaving the agent with limited safety or behavior context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: the first states the purpose and API, the second lists key returned fields. No redundant or unnecessary text, and it is front-loaded with the verb and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter retrieval with no output schema, the description provides sufficient context by listing representative fields (CIK, symbol, note title, exchange). It does not detail output shape (single note vs array) or edge cases, but it covers the core essentials.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'symbol' is already fully documented in the schema as 'Stock symbol', and the description adds no additional parameter semantics. With 100% schema description coverage, the baseline of 3 is appropriate; the description simply references stock symbol as part of the returned data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Retrieve detailed information') and the resource ('company-issued notes'), with concrete data examples. It does not explicitly distinguish this from related FMP tools or mention alternatives, so it falls short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus the many sibling tools (e.g., getCompanyProfile, getCIKList). It only describes what the tool does, not the conditions or context for using it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCompanyProfileCInspect
Access detailed company profile data with the FMP Company Profile Data API. This API provides key financial and operational information for a specific stock symbol, including the company's market capitalization, stock price, industry, and much more.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description must disclose behavioral traits. It lists a few output fields but does not mention data freshness, authentication requirements, rate limits, or the return format. The phrase 'and much more' is vague and leaves the agent unaware of what other data to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and reasonably short, but it is somewhat redundant: 'company profile' appears both in the tool name and the first sentence, and 'API' is mentioned twice. The phrase 'and much more' is filler that adds no concrete value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description gives a basic sense of what is returned (market cap, stock price, industry), which is helpful given no output schema. However, it lacks details about the response structure, error cases, or how this compares to the many other quote/profile-related siblings, leaving the agent slightly underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully covers the single parameter with 'Stock symbol', so the baseline is 3. The description adds 'specific' but provides no additional syntax, case sensitivity, or format details beyond the schema, so it adds minimal extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves detailed company profile data for a specific stock symbol, listing example fields like market cap, stock price, and industry. It does not explicitly name sibling tools for differentiation, but the emphasis on 'specific stock symbol' implies a single-symbol lookup, which distinguishes it from bulk or CIK-based variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not mention when to prefer this tool over alternatives like getCompanyProfileByCIK, getCompanyProfilesBulk, or getQuote, nor does it state any exclusions or prerequisites. It only implies that it is for fetching a profile, offering no actionable selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCompanyProfileByCIKAInspect
Retrieve detailed company profile data by CIK (Central Index Key) with the FMP Company Profile by CIK API. This API allows users to search for companies using their unique CIK identifier and access a full range of company data, including stock price, market capitalization, industry, and much more.
| Name | Required | Description | Default |
|---|---|---|---|
| cik | Yes | CIK number |
Tool Definition Quality
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 indicates this is a read/retrieve operation, but does not mention response format, pagination, error handling, rate limits, or any special requirements. The phrase 'full range of company data' is vague and fails to provide actionable detail beyond what the name itself implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences and front-loads the core purpose. However, the second sentence contains some redundancy ('This API allows users to search...') and vague phrasing ('and much more') that could be tightened. It earns a 4 for overall efficiency and clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has only one parameter and no output schema, so the description must convey what the response contains. It lists some example fields (stock price, market cap, industry) but does not guarantee completeness or describe the response structure. It also does not address edge cases like unknown CIKs. This is adequate but lacks full context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema's parameter description is minimal ('CIK number'), but the tool description adds meaningful context by explaining that CIK is the Central Index Key and how it is used to search for companies. This helps the agent understand the parameter's purpose and format beyond the schema, despite the high schema coverage (100%).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb: 'Retrieve detailed company profile data by CIK'. It explicitly identifies the resource (company profile) and the unique identifier (CIK), distinguishing it from sibling tools like getCompanyProfile that likely use symbols. The inclusion of example data fields adds specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: when you have a CIK identifier and need a company profile. It says 'This API allows users to search for companies using their unique CIK identifier'. However, it does not explicitly mention alternatives or when not to use it, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCompanyProfilesBulkBInspect
The FMP Profile Bulk API allows users to retrieve comprehensive company profile data in bulk. Access essential information, such as company details, stock price, market cap, sector, industry, and more for multiple companies in a single request.
| Name | Required | Description | Default |
|---|---|---|---|
| part | Yes | Part number (e.g., 0, 1, 2) |
Tool Definition Quality
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 only describes the general capability without detailing operational traits like pagination, rate limits, how the 'part' parameter affects results, or what the response includes. The phrase 'and more' is vague and does not disclose important behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences that front-load the purpose and key capabilities. There is no redundant information or filler, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one parameter, a fully documented schema, and no output schema, the description is adequate but not thorough. It states what data is retrieved and the bulk nature, but it does not explain the 'part' parameter's role in the context of multiple companies, nor does it describe response structure or any limitations. For a simple tool, this is minimally complete but leaves room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single 'part' parameter, which is described as 'Part number (e.g., 0, 1, 2)'. The tool description adds no further meaning to the parameter beyond mentioning bulk retrieval, so the schema already provides the necessary semantics. Baseline 3 applies because the description does not compensate for or add to what is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool 'retrieve[s] comprehensive company profile data in bulk' and 'for multiple companies in a single request', which distinguishes it from singular profile endpoints like getCompanyProfile. The verb and resource are specific, and the bulk scope is explicit. However, it does not explicitly name sibling tools for differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'in bulk' and 'for multiple companies' implies usage when multiple profiles are needed, but it does not explicitly state when not to use it or mention alternatives such as getCompanyProfile for single companies. The context is clear but lacks direct comparative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCompanySECProfileCInspect
Retrieve detailed company profiles, including business descriptions, executive details, contact information, and financial data with the FMP SEC Company Full Profile API.
| Name | Required | Description | Default |
|---|---|---|---|
| cik | No | Central Index Key (CIK) | |
| symbol | No | Stock symbol |
Tool Definition Quality
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 says 'Retrieve,' which implies a read-only operation, but it does not disclose parameter handling, required input combinations, return format, or any rate limits. The behavioral transparency is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the purpose and lists the key data categories. The reference to 'FMP SEC Company Full Profile API' adds some verbosity but also provides source context, so it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description needs to cover functional context. It lists the types of data returned, which is helpful, but it omits parameter requirements and does not clarify what happens if both cik and symbol are provided. This leaves the tool slightly incomplete for a profile endpoint with optional parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full descriptions for both parameters (cik and symbol) at 100% coverage, so the baseline is 3. However, the description adds no additional meaning about how these parameters are used or whether at least one is required, which is a missed opportunity given both are marked optional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves detailed company profiles and lists specific content areas (business descriptions, executive details, contact info, financial data). However, it does not explicitly distinguish itself from sibling tools like getCompanyProfile or getCompanyProfileByCIK, relying on the name to hint at the SEC-specific context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives such as getCompanyProfile or getCompanyProfileByCIK. It implies use when detailed profile data is needed, but there is no mention of prerequisites, exclusions, or how to choose between cik and symbol.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCompanySymbolsBInspect
Easily retrieve a comprehensive list of financial symbols with the FMP Company Symbols List API. Access a broad range of stock symbols and other tradable financial instruments from various global exchanges, helping you explore the full range of available securities.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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 retrieving a list but does not disclose pagination, rate limits, output format, scope (e.g., US vs global), or whether the list is static or dynamic. The language is promotional rather than informative, lacking concrete behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, but it is padded with filler phrases like 'Easily retrieve' and 'helping you explore the full range of available securities,' which add little substantive information. It is adequately sized but not tightly written; each sentence could be more direct.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple no-parameter list-retrieval tool, so the description's brevity is acceptable. However, it does not explain what the list contains beyond 'financial symbols' (e.g., whether it includes ETFs, delisted companies, or specific exchanges), nor the expected output structure. Given the absence of an output schema and annotations, a bit more context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the input schema is empty, so there are no parameter semantics to explain. The description reasonably omits any parameter discussion, and the baseline score of 4 is appropriate because the schema fully covers the (nonexistent) parameters without requiring compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a comprehensive list of financial symbols via the FMP Company Symbols List API, using specific verbs like 'retrieve' and naming the resource. It is unambiguous about its core function, though it does not explicitly differentiate from sibling list tools like getETFList or getCryptocurrencyList, relying on the name 'CompanySymbols' to imply equities focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a vague use case ('helping you explore the full range of available securities') but provides no explicit when-to-use or when-not-to-use guidance, no alternatives, and no exclusions. Sibling tools like getActivelyTradingList, getETFList, and getForexList exist, but the description does not clarify how this tool fits among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCOTAnalysisBInspect
Gain in-depth insights into market sentiment with the FMP COT Report Analysis API. Analyze the Commitment of Traders (COT) reports for a specific date range to evaluate market dynamics, sentiment, and potential reversals across various sectors.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Optional end date (YYYY-MM-DD) | |
| from | No | Optional start date (YYYY-MM-DD) | |
| symbol | Yes | Commodity symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It indicates a read-only analytical operation but does not disclose return format, data source limitations, or any side effects. The phrase 'gain in-depth insights' is vague and does not provide concrete 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, but the first sentence is generic marketing ('Gain in-depth insights') that restates the tool's purpose. The second sentence carries the substantive content. It could be condensed to one sentence without losing value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description should explain what the analysis returns and how to interpret it. The description only promises 'insights' and 'evaluate market dynamics' without specifics. While the parameters are simple, the lack of output context makes it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description covers all 3 parameters (100%), so the baseline is 3. The description adds a general 'date range' concept, but this is already represented by the from/to parameter descriptions. It does not add new meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Analyze') and resource ('COT reports') with an explicit date-range scope. It distinguishes itself from the sibling getCOTReports by focusing on 'analysis' and 'insights,' though it does not explicitly name the alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool—when evaluating market sentiment and potential reversals from COT data. However, it lacks explicit guidance on alternatives, such as using getCOTReports for raw data, and does not state any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCOTListCInspect
Access a comprehensive list of available Commitment of Traders (COT) reports by commodity or futures contract using the FMP COT Report List API. This API provides an overview of different market segments, allowing users to retrieve and explore COT reports for a wide variety of commodities and financial instruments.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It mentions the list is 'comprehensive' and covers 'a wide variety' but does not disclose any behavioral traits such as pagination, output format, rate limits, or required authentication. The read-only nature is implied but not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences but repeats 'COT reports' and uses phrases like 'wide variety of commodities and financial instruments' that add little new information. It is not as concise as it could be, but it is not overly verbose either.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description should clarify what the list contains and how it might be used, e.g., returning report identifiers for use with getCOTReports. The description offers no return structure or examples, leaving the agent uncertain about the output despite understanding the general purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description's role is to clarify what the list contains. It adequately explains that it includes COT reports for commodities and financial instruments. With no parameters to document, this context is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as a list of available COT reports by commodity or futures contract. It uses 'Access' as a verb, which is somewhat generic, but the resource is specific. It also distinguishes itself from sibling tools like getCOTReports and getCOTAnalysis by emphasizing 'list' and 'overview', though not explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states that this API provides an overview and allows retrieval/exploration of COT reports, but it does not explain when to use this tool versus getCOTReports or getCOTAnalysis. There are no explicit alternatives or exclusions, leaving the agent to infer usage from name only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCOTReportsBInspect
Access comprehensive Commitment of Traders (COT) reports with the FMP COT Report API. This API provides detailed information about long and short positions across various sectors, helping you assess market sentiment and track positions in commodities, indices, and financial instruments.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Optional end date (YYYY-MM-DD) | |
| from | No | Optional start date (YYYY-MM-DD) | |
| symbol | Yes | Commodity symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It mentions the tool 'provides detailed information' but does not disclose behaviors such as optional date-range filtering (from/to), pagination, or error conditions. It doesn't contradict annotations (none provided), but it is thin on behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loaded with the core purpose. However, the phrase 'with the FMP COT Report API' is somewhat redundant, and the second sentence includes promotional language that adds limited value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description should compensate by explaining the return shape or date-range usage. It doesn't clarify the meaning of 'symbol' beyond the schema, or what a 'comprehensive' report includes. The presence of sibling COT tools makes this gap more significant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all three parameters (symbol, from, to) with descriptions, giving 100% coverage. The description adds no extra parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as accessing COT reports and describes the data content (long and short positions across sectors). While the verb 'Access' is a bit generic, the resource is specific and the description distinguishes it from sibling tools like getCOTAnalysis by focusing on reports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is an implied use case for assessing market sentiment and tracking positions, but no explicit guidance on when to prefer this tool over getCOTList or getCOTAnalysis, nor any when-not-to-use scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCrowdfundingCampaignsByCIKAInspect
Access detailed information on all crowdfunding campaigns launched by a specific company with the FMP Crowdfunding By CIK API.
| Name | Required | Description | Default |
|---|---|---|---|
| cik | Yes | CIK number to search for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It does not mention return format, pagination, rate limits, authentication, or any limitations. The phrase 'detailed information' is vague and adds little beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core action and resource. The trailing reference to 'the FMP Crowdfunding By CIK API' is somewhat redundant but does not significantly bloat the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one parameter and no output schema, the description gives the essential context: it returns all crowdfunding campaigns for a given company. It lacks details about the response structure or edge cases, but given the tool's simplicity, it is minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with the parameter 'cik' already described as 'CIK number to search for'. The description adds 'specific company' but does not elaborate on CIK format or constraints, so it provides minimal added meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Access detailed information on all crowdfunding campaigns launched by a specific company' with a specific verb and resource. The 'By CIK' scope differentiates it from sibling tools like getLatestCrowdfundingCampaigns and searchCrowdfundingCampaigns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: when you have a CIK and want all campaigns for a specific company. It does not explicitly name alternatives or exclusions, but the 'specific company' and 'By CIK' phrasing signals the intended use case relative to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCryptocurrency1HourDataBInspect
Access detailed 1-hour intraday price data for cryptocurrencies with the 1-Hour Interval Cryptocurrency Data API. Track hourly price movements to gain insights into market trends and make informed trading decisions throughout the day.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Cryptocurrency symbol (e.g., BTCUSD) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description does not disclose response format, whether data includes OHLCV, pagination, or rate limits. It only suggests a read operation, which is inferred. The description is too vague to fully inform the agent about what to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is informative, but the second sentence ('Track hourly price movements to gain insights...') is generic marketing fluff that adds little specific value. Could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool lacks an output schema and the description does not describe the return data structure (e.g., OHLCV array). For an intraday data tool, this is a significant gap; agents need to know what fields to expect. Also, no mention of timezone or date range limits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters (symbol, from, to) have descriptions in the schema, so the description adds no additional parameter context. It does not explain optionality or expected formats beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it accesses 1-hour intraday price data for cryptocurrencies, distinguishing it from 1-minute and 5-minute crypto data tools. The verb 'Access' is specific and the resource is well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for hourly tracking but does not explicitly compare to getCryptocurrency1MinuteData or getCryptocurrency5MinuteData, nor does it state when not to use this tool. Usage context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCryptocurrency1MinuteDataAInspect
Get real-time, 1-minute interval price data for cryptocurrencies with the 1-Minute Cryptocurrency Intraday Data API. Monitor short-term price fluctuations and trading volume to stay updated on market movements.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Cryptocurrency symbol (e.g., BTCUSD) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It states the tool returns 'real-time, 1-minute interval price data' and mentions trading volume, but does not disclose potential limitations like data availability range, authentication requirements, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The first sentence states the core function, and the second adds usage context. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with clear schema descriptions and no output schema, the description sufficiently explains the data type (price, volume) and interval. It lacks explicit mention of optional date parameters' default behavior, but overall it is solid.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with clear descriptions for symbol ('Cryptocurrency symbol (e.g., BTCUSD)') and dates ('Start date (YYYY-MM-DD)'). The description does not add further parameter-specific meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and specifies the resource: real-time, 1-minute interval price data for cryptocurrencies. It distinguishes from sibling tools like getCryptocurrency5MinuteData and getCryptocurrency1HourData by explicitly naming the 1-minute interval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for monitoring short-term price fluctuations and trading volume ('Monitor short-term price fluctuations and trading volume to stay updated on market movements'), but does not explicitly mention alternatives or when not to use this tool compared to other crypto interval tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCryptocurrency5MinuteDataBInspect
Analyze short-term price trends with the 5-Minute Interval Cryptocurrency Data API. Access real-time, intraday price data for cryptocurrencies to monitor rapid market movements and optimize trading strategies.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Cryptocurrency symbol (e.g., BTCUSD) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only mentions 'real-time, intraday price data' without disclosing behavioral traits such as return format, pagination, rate limits, or data completeness. This is insufficient for a data-fetching tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences but includes marketing language like 'optimize trading strategies,' which adds little value. It is fairly concise but not every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description does not explain what data is returned (e.g., OHLCV, timestamps) or any limitations. It only vaguely mentions 'price data,' leaving an agent uncertain about the response structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover all three parameters (symbol, from, to), and the tool name implies the interval. The description adds no additional parameter semantics, but with 100% schema coverage, the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool provides real-time, intraday cryptocurrency price data at 5-minute intervals, clearly indicating it retrieves price data. However, it uses 'Analyze' rather than a direct verb like 'Get' or 'Retrieve,' making the purpose slightly less precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for short-term trend analysis and rapid market movements, but it does not explicitly differentiate from sibling tools like getCryptocurrency1MinuteData or getCryptocurrency1HourData, nor does it provide exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCryptocurrencyBatchQuotesBInspect
Access live price data for a wide range of cryptocurrencies with the FMP Real-Time Cryptocurrency Batch Quotes API. Get real-time updates on prices, market changes, and trading volumes for digital assets in a single request.
| Name | Required | Description | Default |
|---|---|---|---|
| short | No | Get short quotes instead of full quotes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It mentions real-time updates and data fields (prices, changes, volumes) but omits critical details such as the effect of the 'short' parameter, the exact set of cryptocurrencies covered, and the absence of a symbol selection parameter. This leaves behavior ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, but it uses 'live' and 'real-time' redundantly. The key information is front-loaded in the first sentence, making it effective overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional parameter and no output schema, the description covers the main purpose but misses key context about the batch scope and the difference between short and full quotes. The lack of a symbol parameter is unexplained, making the tool's behavior ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully documents the only parameter 'short' with a clear description, so the baseline is 3. The tool description adds no additional parameter context beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool accesses live price data for cryptocurrencies, explicitly mentioning the batch aspect with 'single request.' This distinguishes it from singular quote tools, though it does not name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies batch usage via 'wide range' and 'single request,' but it does not explicitly state when to use this tool versus methods like getCryptocurrencyQuote or getCryptoQuotes. No exclusion or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCryptocurrencyHistoricalFullChartAInspect
Access comprehensive end-of-day (EOD) price data for cryptocurrencies with the Full Historical Cryptocurrency Data API. Analyze long-term price trends, market movements, and trading volumes to inform strategic decisions.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Cryptocurrency symbol (e.g., BTCUSD) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It adds useful context about data frequency (EOD) and scope (Full), but lacks details on response format, pagination, rate limits, or coverage limitations. It does not contradict any annotations (none exist), but transparency is only moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences. The first is direct and informative. The second sentence adds value by suggesting use cases ('Analyze long-term price trends...') but is slightly promotional. Overall, it is concise without unnecessary repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a basic understanding, but the tool belongs to a large family of similar crypto/forex chart tools. It does not clarify the difference between 'Full' and 'Light' historical charts, nor does it specify the data range or return structure. Given no output schema and no annotations, more context would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides full coverage (100%) with descriptions for all three parameters (symbol, from, to). The description does not add additional parameter-level semantics, but per the rubric, baseline 3 applies when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses comprehensive end-of-day (EOD) price data for cryptocurrencies, using a specific verb ('access') and resource. It distinguishes from siblings like getCryptocurrencyHistoricalLightChart by emphasizing 'Full' and 'EOD', and from intraday variants by implying long-term trends.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for long-term analysis ('Analyze long-term price trends') but does not explicitly state when to use this tool over alternatives, nor does it mention any exclusions (e.g., for intraday data). No sibling tools are named as alternatives, so guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCryptocurrencyHistoricalLightChartBInspect
Access historical end-of-day prices for a variety of cryptocurrencies with the Historical Cryptocurrency Price Snapshot API. Track trends in price and trading volume over time to better understand market behavior.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Cryptocurrency symbol (e.g., BTCUSD) |
Tool Definition Quality
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 'end-of-day' and 'price and trading volume', but does not explain the 'Light' aspect, output format, default date ranges when 'to'/'from' are omitted, or limitations compared to the FullChart sibling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action (access historical end-of-day prices) and free of redundancy. The second sentence about tracking trends is slightly generic but still conveys that volume data is included, adding some value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Key contextual information is missing. With no output schema, the description should explain the response structure but does not. More importantly, the tool name includes 'LightChart' but the description never clarifies what is 'light' compared to the full chart, which is essential for choosing between these sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all three parameters (symbol, from, to) with clear descriptions and examples. The tool description adds no parameter-specific semantics beyond what the schema provides, which aligns with the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses historical end-of-day prices for cryptocurrencies, which is a specific verb+resource combination. It distinguishes from intraday crypto tools (e.g., 1Hour, 1Minute, 5Minute) but does not explicitly differentiate from the sibling getCryptocurrencyHistoricalFullChart, leaving 'Light' unclarified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context for when to use this tool: when you need historical end-of-day cryptocurrency data to track trends. However, it does not mention alternatives or explicitly state when not to use it (e.g., for intraday data or heavier historical datasets).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCryptocurrencyListBInspect
Access a comprehensive list of all cryptocurrencies traded on exchanges worldwide with the FMP Cryptocurrencies Overview API. Get detailed information on each cryptocurrency to inform your investment strategies.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only gives a high-level purpose. It fails to disclose pagination, data volume, authentication requirements, or response structure, leaving the agent without critical 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, concise and front-loaded with purpose. The reference to 'FMP Cryptocurrencies Overview API' is slightly extraneous but not harmful. Keeps to essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description is the sole source of behavioral information. It explains the tool's purpose but leaves the return format and scope of 'detailed information' unspecified, which is a moderate gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool accepts zero parameters, so the schema is trivially covered (100%). The description adds no parameter semantics, but the baseline for zero-parameter tools is 4, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides a comprehensive list of all cryptocurrencies traded worldwide, using a specific verb ('Access') and resource ('cryptocurrencies'). It distinguishes from sibling tools like getCryptocurrencyQuote by focusing on listing all, not individual quotes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to prefer this over getCryptoQuotes, getCryptocurrencyQuote, or other list endpoints. The 'inform your investment strategies' phrase is vague and doesn't provide decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCryptocurrencyQuoteAInspect
Access real-time quotes for all cryptocurrencies with the FMP Full Cryptocurrency Quote API. Obtain comprehensive price data including current, high, low, and open prices.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Cryptocurrency symbol (e.g., BTCUSD) |
Tool Definition Quality
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 discloses that the tool returns real-time price data (current, high, low, open) but does not mention side effects, read-only nature, error behavior, or rate limits. For a simple quote tool, this is adequate but not deeply transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences. The first sentence sets the action and scope, the second details the output fields. No redundant or filler content, and the structure is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description adequately conveys primary return fields and the broad scope (all cryptocurrencies). However, it could be more complete by noting symbol naming conventions or pointing to alternative tools for batch/short quotes, especially given the large sibling set. Still, it is sufficient for a simple single-parameter quote tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the 'symbol' parameter and an example (BTCUSD). The description does not add any additional detail about symbol format, aliases, or validation beyond what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Access') and resource ('real-time quotes for all cryptocurrencies'). It names the FMP Full Cryptocurrency Quote API and lists key data fields (current, high, low, open), distinguishing it from sibling tools like getCryptocurrencyShortQuote or batch quote tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for comprehensive cryptocurrency quotes but does not explicitly mention when to use this versus alternatives such as getCryptocurrencyShortQuote or getCryptocurrencyBatchQuotes. No exclusions or alternative tool references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCryptocurrencyShortQuoteAInspect
Access real-time cryptocurrency quotes with the FMP Cryptocurrency Quick Quote API. Get a concise overview of current crypto prices, changes, and trading volume for a wide range of digital assets.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Cryptocurrency symbol (e.g., BTCUSD) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It appropriately indicates a read-only, real-time data operation and lists high-level output categories. However, it omits details such as response structure, rate limits, or how 'short' differs from the full quote endpoint, leaving behavioral expectations partially unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action and resource, and contains no redundant or irrelevant content. Every clause adds useful information about the API and the returned data.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
In the absence of an output schema, the description does provide a high-level summary of return values (prices, changes, volume). But it lacks specifics about the exact fields, the meaning of 'short' relative to full quotes, or any formatting details, making it adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully documents the single parameter with an example (BTCUSD), so the description doesn't need to add much. It adds no new semantic detail beyond the schema, and the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses real-time cryptocurrency quotes and returns a concise overview of prices, changes, and volume. However, it doesn't explicitly distinguish it from sibling tools like getCryptocurrencyQuote or getCryptoQuotes, so it's not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'concise overview' implies a quick snapshot use case, but the description does not provide explicit when-to-use guidance or name alternatives for more detailed or batch quotes. Usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCryptoNewsBInspect
Stay informed with the latest cryptocurrency news using the FMP Crypto News API. Access a curated list of articles from various sources, including headlines, snippets, and publication URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| page | No | Page number (default: 0) | |
| limit | No | Limit on number of results (default: 20, max: 250) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It mentions the output includes headlines, snippets, and URLs, which is useful. However, it does not disclose pagination behavior, date range semantics, or any limitations, leaving gaps for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, two sentences, and front-loaded with the main purpose. Every line adds value without excessive detail or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is relatively simple and the schema covers all parameters, the description lacks usage context compared to sibling news tools. It does not mention pagination behavior or when to prefer this over searchCryptoNews, making it incomplete for fully informed tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameters (to, from, page, limit) are well-documented in the schema. The description adds no additional param-specific meaning, such as the effect of date boundaries or pagination mechanics, which is consistent with the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches cryptocurrency news with specific elements (headlines, snippets, URLs). It identifies the resource (crypto news) and action (access a curated list), but does not explicitly differentiate from sibling news tools like getGeneralNews or searchCryptoNews.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 such as searchCryptoNews for keyword-based queries or getGeneralNews for broader coverage. The description lacks any when/when-not or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCryptoQuotesAInspect
Access real-time cryptocurrency quotes with the FMP Full Cryptocurrency Quotes API. Track live prices, trading volumes, and price changes for a wide range of digital assets.
| Name | Required | Description | Default |
|---|---|---|---|
| short | No | Whether to use short format |
Tool Definition Quality
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 'real-time' and the scope ('wide range'), but does not explain response format, pagination, the effect of the 'short' parameter, or any caveats. This is minimal extra context beyond the stated purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler. The first sentence immediately states the action and resource; the second adds relevant detail about the data returned. Every word contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one optional parameter, no output schema), the description covers the core purpose and return fields adequately. However, it could improve by explicitly addressing how it differs from the many sibling crypto quote tools, making it slightly less than fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter 'short' is fully described in the schema (100% coverage), so the description need not repeat it. However, the description adds no additional meaning about how 'short' affects the output, so it remains at the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Access') and resource ('real-time cryptocurrency quotes'), explicitly naming the FMP API and listing the data provided (prices, volumes, changes). The plural 'quotes' and 'wide range of digital assets' distinguish it from single-asset siblings like getCryptocurrencyQuote.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for tracking multiple cryptocurrencies ('wide range of digital assets') but does not explicitly contrast it with alternatives such as getCryptocurrencyQuote, getCryptocurrencyShortQuote, or getCryptocurrencyBatchQuotes. No explicit when-to-use or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getDCFValuationCInspect
Estimate the intrinsic value of a company with the FMP Discounted Cash Flow Valuation API. Calculate the DCF valuation based on expected future cash flows and discount rates.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosure. It mentions the calculation basis (future cash flows and discount rates) but doesn't disclose output format, limitations, or other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences and front-loaded. However, the second sentence is slightly redundant with the first, though it adds some methodological detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete. It doesn't differentiate from the levered/custom DCF siblings and doesn't clarify what the response actually contains, leaving significant ambiguity for selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the single parameter 'symbol' with a clear description, so the baseline is 3. The tool description adds no additional meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool estimates intrinsic value using DCF, with specific verbs and resource. However, it doesn't differentiate from similar sibling tools like getLeveredDCFValuation or calculateCustomDCF.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 uses, exclusions, or context that would help an agent choose it over sibling DCF tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getDCFValuationsBulkAInspect
The FMP DCF Bulk API enables users to quickly retrieve discounted cash flow (DCF) valuations for multiple symbols in one request. Access the implied price movement and percentage differences for all listed companies.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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 does reveal that the tool returns implied price movement and percentage differences for listed companies, which is useful. However, it omits details about response format, data coverage scope, pagination, or any limitations of the bulk operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler, and the primary action is front-loaded. The phrase 'for all listed companies' is slightly ambiguous but not redundant, making it an efficient, well-structured summary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify return values, and it does mention implied price movement and percentage differences. However, it does not detail the structure of the DCF valuation data or how 'all listed companies' is scoped, leaving some ambiguity for a tool with no parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and 100% schema coverage, so there is no parameter behavior to explain. The description's mention of 'multiple symbols' is slightly inconsistent with the empty schema, but the baseline for a zero-parameter tool is 4, and the description does not need to compensate for missing parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves discounted cash flow (DCF) valuations for multiple symbols in one request, using a specific verb and resource. It distinguishes itself from the sibling getDCFValuation by emphasizing the bulk aspect, making the purpose immediately understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when DCF valuations are needed for many symbols at once ('quickly retrieve' and 'multiple symbols in one request'), but it does not explicitly compare with alternatives like getDCFValuation or state when not to use this tool. There are no named exclusions or alternative recommendations, so usage guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getDelistedCompaniesBInspect
Stay informed with the FMP Delisted Companies API. Access a comprehensive list of companies that have been delisted from US exchanges to avoid trading in risky stocks and identify potential financial troubles.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 0) | |
| limit | No | Limit on number of results (default: 100, max: 100) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it only offers a high-level marketing pitch. It doesn't disclose response format, pagination behavior, or any side effects/rate limits, leaving behavioral traits ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and gets to the point, but the opening 'Stay informed' clause is filler that doesn't add technical value. The substantive part is condensed into one sentence, earning a score of 4.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter list tool with no output schema, the description explains the core purpose but omits details about the fields returned (e.g., symbol, exchange, delisting date). This is acceptable for a straightforward endpoint but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully describes both parameters (page and limit) with default/max values, achieving 100% schema description coverage. The description adds no parameter semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides a comprehensive list of delisted companies from US exchanges, using the specific verb 'Access' and naming the resource. However, it doesn't distinguish itself from sibling tools like getActivelyTradingList, limiting differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for staying informed about delisted companies and avoiding risky stocks, providing a clear context. It lacks explicit exclusions or alternative tool recommendations, so the usage guidance is only implied, not fully prescriptive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getDEMABInspect
Calculate the Double Exponential Moving Average (DEMA) for a stock using the FMP DEMA API. This tool helps users analyze trends and identify potential buy or sell signals based on historical price data.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Stock symbol | |
| timeframe | Yes | Timeframe (1min, 5min, 15min, 30min, 1hour, 4hour, 1day) | |
| periodLength | Yes | Period length for the indicator |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does not state that this is a read-only operation, what the response format looks like, whether rate limits apply, or how periodLength affects the calculation. The description only mentions the use of the FMP DEMA API, but offers no details about output or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the first providing a direct, specific statement of the tool's function and the second adding a brief user-value context. There is no unnecessary repetition or filler, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although the schema covers all five parameters, the description lacks important context for a tool with no output schema and no annotations. It does not describe what the returned DEMA data looks like, how to interpret the values, or how the date range (from/to) interacts with the required parameters. This leaves significant gaps for an agent trying to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains each parameter. The description adds no additional meaning to parameters like 'periodLength' or 'timeframe' beyond what they already provide. Baseline of 3 is appropriate given the high schema coverage, but there is no extra value from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates the Double Exponential Moving Average (DEMA) for a stock, using a specific verb ('Calculate') and resource ('DEMA'). This distinguishes it from sibling indicator tools like getEMA or getSMA by naming the exact indicator and its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a generic context ('analyze trends and identify potential buy or sell signals') but provides no guidance on when to choose DEMA over other indicators (e.g., getEMA, getTEMA, getSMA). It does not mention alternatives or exclusions, leaving the agent without a decision framework.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getDisclosureBInspect
Access the latest disclosures from mutual funds and ETFs with the FMP Mutual Fund & ETF Disclosure API. This API provides updates on filings, changes in holdings, and other critical disclosure data for mutual funds and ETFs.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Fund symbol |
Tool Definition Quality
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 indicates this is a read operation and lists the kind of data included (filings, holdings changes), but omits details such as pagination, output structure, or any access constraints. This is a moderate but incomplete disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with purpose, but it repeats 'mutual funds and ETFs' and 'API' across two sentences. A more concise single sentence would be equally informative without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although the tool has a simple one-parameter schema, the description does not clarify how it differs from near-identical siblings (getFundDisclosure, searchFundDisclosures) nor define the expected output format. With no output schema and no annotations, the description should provide more disambiguating and behavioral context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'symbol' parameter, so the schema already documents its meaning. The description adds no substantive parameter-level detail beyond what the schema states ('Fund symbol'), so it does not improve parameter clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Access') and the resource ('latest disclosures from mutual funds and ETFs'), giving a specific purpose. However, it does not differentiate this tool from closely named siblings like getFundDisclosure or searchFundDisclosures, so it misses the opportunity for sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 only explains what the API does, not when it should be selected over getFundDisclosure or other disclosure-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getDividendAdjustedChartBInspect
Analyze stock performance with dividend adjustments using the FMP Dividend-Adjusted Price Chart API. Access end-of-day price and volume data that accounts for dividend payouts, offering a more comprehensive view of stock trends over time.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It states the data is end-of-day and dividend-adjusted, but it does not mention response format, date range handling, adjustment methodology, or any rate limits. The lack of detail leaves significant behavioral ambiguity 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no fluff. The description is compact and organized, conveying the core value without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with only 3 params and no output schema, but the description could better clarify the key distinction from getUnadjustedChart and hint at the response structure. It covers the 'what' but not enough of the 'how' or 'where it fits' in the tool ecosystem.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the three parameters (symbol, from, to), so the schema already documents them. The description adds no parameter-specific semantics beyond implying the date range applies to the adjusted chart. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (Dividend-Adjusted Price Chart API) and the data returned (end-of-day price and volume adjusted for dividends). It distinguishes from siblings like getUnadjustedChart by emphasizing dividend adjustments. However, the verb 'Analyze' is slightly misleading since the tool provides data, not analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when dividend-adjusted historical data is needed, but it does not explicitly state when to use this over alternatives like getUnadjustedChart. No exclusions or prerequisites are mentioned. The context is present but not made actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getDividendsCInspect
Stay informed about upcoming dividend payments with the FMP Dividends Company API. This API provides essential dividend data for individual stock symbols, including record dates, payment dates, declaration dates, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional limit on number of results (default: 100, max: 1000) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior, but it is lacking. It mentions data fields but misleadingly says 'upcoming dividend payments' when the API likely returns historical data as well. There is no mention of pagination, default behavior, response structure, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loads the purpose, and avoids excessive detail. The phrase 'Stay informed' is slightly vague, but overall it is efficient and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema or annotations, the description needs to explain return values and behavioral context. It lists some fields but fails to clarify the response format, how empty results are handled, or the inconsistency between 'upcoming' and full dividend data. The description is incomplete for a tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described (symbol and limit with default/max). The description adds no additional parameter semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides dividend data for individual stock symbols, listing specific fields like record dates, payment dates, and declaration dates. However, it does not explicitly distinguish this from sibling tools like getDividendsCalendar or getDividendAdjustedChart, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 phrase 'for individual stock symbols' hints at a use case, but there is no explicit when-to-use or when-not-to-use, nor any mention of sibling tools like getDividendsCalendar for broader dividend calendars.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getDividendsCalendarAInspect
Stay informed on upcoming dividend events with the Dividend Events Calendar API. Access a comprehensive schedule of dividend-related dates for all stocks, including record dates, payment dates, declaration dates, and dividend yields.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses the content of the calendar (record dates, payment dates, etc.) but introduces ambiguity by pairing 'upcoming dividend events' with a from/to date range, leaving unclear whether the tool returns only future events or honors historical ranges. No information about pagination, ordering, or rate limits is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact at two sentences, front-loaded with the tool's purpose. The first sentence is somewhat redundant ('Stay informed...') but hardly wasteful, and the second sentence efficiently lists included data elements. Overall, it is concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description does enumerate the expected content (record dates, payment dates, etc.), which is helpful. However, the date-range behavior is ambiguous relative to the 'upcoming' framing, and there is no mention of company identifiers or pagination. This leaves the tool only partially complete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for both parameters ('Start date' and 'End date'), achieving 100% schema coverage. The description adds no additional semantic detail beyond what the schema already states, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: accessing a comprehensive schedule of dividend-related dates for all stocks, including record dates, payment dates, declaration dates, and dividend yields. The verb 'access' and specific resource 'Dividend Events Calendar' distinguish it from siblings like getDividends, which returns individual dividend data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for staying informed about upcoming dividend events, but it does not explicitly state when to use this tool versus alternatives such as getDividends or getEarningsCalendar. No exclusions or alternative-recommendation language is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getDowJonesConstituentsCInspect
Access data on the Dow Jones Industrial Average using the Dow Jones API. Track current values, analyze trends, and get detailed information about the companies that make up this important stock index.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the burden of behavioral disclosure. It only generically mentions 'track values' and 'get detailed information' without specifying the return format, the scope of data, or any limitations. The description does not contradict annotations, but it fails to disclose what the tool actually returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description wastes words on 'using the Dow Jones API' and 'important stock index,' while failing to lead with the tool's core purpose. It is not concise or front-loaded; it buries the relevant constituent retrieval detail in a broad, generic statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description does not explain what the return data contains (e.g., a list of tickers, company names, or sectors). It is incomplete for an agent to know what to expect, and the unrelated capabilities ('analyze trends') add confusion rather than clarify the tool's scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool accepts zero parameters, so there is no parameter information to document. The schema is an empty object with no properties, and the description does not need to explain inputs. The baseline of 4 is appropriate for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description hints at constituents with 'get detailed information about the companies that make up this important stock index,' but it also claims 'Track current values, analyze trends' and 'Access data on the Dow Jones Industrial Average,' making the tool's focus ambiguous. It does not clearly state that this tool specifically returns the list of Dow Jones constituents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives like getNasdaqConstituents or getSP500Constituents. The phrase 'Track current values, analyze trends' suggests broader index analysis capabilities, which could mislead an agent into using this tool for purposes other than retrieving constituents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getEarningsCalendarCInspect
Stay informed on upcoming and past earnings announcements with the FMP Earnings Calendar API. Access key data, including announcement dates, estimated earnings per share (EPS), and actual EPS for publicly traded companies.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing behavior. It mentions the data fields (announcement dates, EPS) but does not state that the tool is read-only, how it handles missing from/to parameters, pagination, rate limits, or authentication. This leaves significant gaps for an agent evaluating safety and side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact at two sentences and front-loaded with the purpose. The opening phrase 'Stay informed' is somewhat marketing-oriented but not distracting. It avoids redundancy with the schema, making it efficient, though the 'Access key data' phrase is slightly filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two optional parameters and no output schema, the description provides a basic idea of the return data but does not explain the response structure (e.g., a list of announcements), default behavior when dates are omitted, or how to interpret the fields beyond naming them. It is adequate but leaves several gaps an agent might need to fill.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are fully documented in the schema. The description adds minimal extra meaning—only implicitly suggesting that the date range filters announcements. It does not clarify defaults or whether both parameters are required, but since the schema already covers syntax, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as an earnings calendar API that provides announcement dates, estimated EPS, and actual EPS. It specifically mentions 'upcoming and past earnings announcements,' which gives it a defined scope. However, it does not explicitly differentiate from sibling tools like getEarningsReports or getEarningsSurprisesBulk, so it misses the highest mark.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 phrase 'Stay informed' is a generic use case, but there is no mention of date-range requirements, prerequisites, or scenarios where another tool would be more appropriate. The from/to parameters are noted only in the schema, not in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getEarningsReportsBInspect
Retrieve in-depth earnings information with the FMP Earnings Report API. Gain access to key financial data for a specific stock symbol, including earnings report dates, EPS estimates, and revenue projections to help you stay on top of company performance.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional limit on number of results (default: 100, max: 1000) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, but it only restates high-level output types (dates, estimates, projections). It does not disclose behavior such as pagination, time range covered, result ordering, or whether the data is historical or upcoming. This is insufficient for a tool with no other behavioral metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with a clear front-loaded verb and no redundant schema repetition. The closing phrase 'to help you stay on top of company performance' is marketing fluff that adds no operational value, slightly reducing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description provides a reasonable overview of the tool's purpose and return fields but lacks critical operational details: it does not specify whether results are a list or single object, how reports are ordered, what time period is covered, or how the 'limit' parameter behaves in relation to the number of available reports.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (both symbol and limit have descriptions), so baseline is 3. The description adds context about symbol being a specific stock and enumerates the returned metrics, but it does not clarify how the 'limit' parameter affects which reports are returned, nor does it provide any formatting or constraint details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves earnings information for a specific stock symbol and lists concrete data types (earnings report dates, EPS estimates, revenue projections). It uses a specific verb-resource pairing ('Retrieve... Earnings Report API'), but does not explicitly distinguish itself from sibling earnings tools like getEarningsCalendar or getEarningsSurprisesBulk.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used when you need in-depth earnings data for a specific symbol, but provides no explicit guidance on when to use it over alternatives, nor any exclusions. No comparison to sibling tools like getEarningsCalendar is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getEarningsSurprisesBulkCInspect
The Earnings Surprises Bulk API allows users to retrieve bulk data on annual earnings surprises, enabling quick analysis of which companies have beaten, missed, or met their earnings estimates. This API provides actual versus estimated earnings per share (EPS) for multiple companies at once, offering valuable insights for investors and analysts.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Year to get earnings surprises for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavior. It mentions the output includes beaten/missed/meet status and EPS, but does not reveal response format, pagination, rate limits, or what 'bulk' means in practice. It also doesn't state that 'year' is required or how the year is interpreted (fiscal vs. calendar).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, but the second sentence ('offering valuable insights...') is promotional filler that adds no functional value. It is front-loaded with the core purpose but could be tightened to a single sentence without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description provides a high-level understanding of the returned data. However, it lacks specifics about the response structure, the scope of 'multiple companies' (all companies?), and any limitations. It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with 'Year to get earnings surprises for,' so the baseline is 3. The description's use of 'annual' adds no new semantic detail beyond the schema; it doesn't specify format or validation rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves bulk annual earnings surprises and provides actual vs. estimated EPS for multiple companies. It distinguishes itself from siblings like getEarningsReports or getEarningsCalendar by emphasizing 'bulk' and 'annual,' though it doesn't explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus related earnings tools. It only describes what the API does, not the intended use case or exclusions, leaving the agent to infer when this is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getEarningsTranscriptCInspect
Access the full transcript of a company’s earnings call with the FMP Earnings Transcript API. Stay informed about a company’s financial performance, future plans, and overall strategy by analyzing management's communication.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Year of the earnings call | |
| limit | No | Limit the number of results | |
| symbol | Yes | Stock symbol | |
| quarter | Yes | Quarter of the earnings call (e.g., 1, 2, 3, 4) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only states 'Access the full transcript' implying a read operation, but it doesn't disclose response format, pagination, rate limits, or the need for prerequisites like knowing the correct year and quarter. The purpose is clear but the behavioral details are minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the action verb 'Access'. The first sentence is efficient, but the second sentence about 'Stay informed' is marketing fluff that adds little value. It is appropriately compact but could be more precise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 4 parameters and no output schema or annotations, yet the description does not explain that year and quarter are required or suggest using sibling tools like getEarningsTranscriptDates or getEarningsTranscriptList to find the right identifiers. It lacks operational context for a correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no parameter-specific meaning beyond what the schema already provides; it only mentions 'full transcript' and 'company's earnings call' without elaborating on how symbol, year, quarter, or limit should be used.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses the full transcript of a company's earnings call, which is a specific verb+resource. However, it does not explicitly differentiate from sibling transcript tools like getEarningsTranscriptList or getEarningsTranscriptDates, relying on the name and clarity rather than explicit contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'to stay informed' but does not state that this tool is for retrieving the actual transcript content, as opposed to listing available transcripts or dates. There are no exclusions or scenarios mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getEarningsTranscriptDatesCInspect
Access earnings call transcript dates for specific companies with the FMP Transcripts Dates By Symbol API. Get a comprehensive overview of earnings call schedules based on fiscal year and quarter.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
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 'earnings call schedules based on fiscal year and quarter' which hints at the data included, but it does not specify the return format, whether historical or future dates are included, or any pagination/ordering behavior. This is insufficient for a tool with zero 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loads the primary purpose: 'Access earnings call transcript dates for specific companies'. The second sentence adds context about fiscal year/quarter but does not waste words. It is appropriately concise for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, no output schema), but the description does not fully explain what the response contains. While it mentions 'dates' and 'fiscal year and quarter', it leaves unclear whether the output is an array, includes all historical quarters, or requires additional parameters. The lack of annotation and output schema makes the description the only source of context, and it is not sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the only parameter 'symbol' has a description 'Stock symbol'). The tool description adds no additional semantic detail about the parameter beyond what the schema already provides, so the baseline score of 3 applies as the description does not compensate or conflict.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches earnings call transcript dates for a given company symbol, referencing the 'FMP Transcripts Dates By Symbol API'. This distinguishes it from siblings like getEarningsTranscript which retrieves actual transcript content. The phrase 'comprehensive overview of earnings call schedules' adds context but is slightly vague about the exact output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives. It implies usage 'for specific companies' but does not mention when to prefer this over getEarningsTranscript, getEarningsTranscriptList, or getEarningsCalendar. No exclusions or alternative tool names are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getEarningsTranscriptListAInspect
Access available earnings transcripts for companies with the FMP Earnings Transcript List API. Retrieve a list of companies with earnings transcripts, along with the total number of transcripts available for each company.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the read-only nature via 'Retrieve' and specifies the return value (list of companies with transcript counts), adding useful context. However, it omits any details about authentication, rate limits, pagination, or data scope, which would be valuable for a zero-parameter API call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and mostly front-loaded, but contains slight redundancy with 'earnings transcripts' repeated. It is still efficient and each sentence contributes to the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description explains the high-level return value (list of companies with counts). For a zero-parameter tool, this is fairly complete. It could mention specific fields or any limits, but the core information is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description doesn't need to explain parameters, and it correctly references 'for companies' without implying any filterable inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a list of companies with available earnings transcripts and includes a count of transcripts per company. It uses specific verbs ('Access', 'Retrieve') and names the resource ('Earnings Transcript List API'), distinguishing it from sibling tools like getEarningsTranscript or getEarningsTranscriptDates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for when you need an overview of companies that have earnings transcripts and their counts, but it does not explicitly state when to prefer this over alternatives like getAvailableTranscriptSymbols or getLatestEarningsTranscripts, nor does it mention any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getEconomicCalendarCInspect
Stay informed with the FMP Economic Data Releases Calendar API. Access a comprehensive calendar of upcoming economic data releases to prepare for market impacts and make informed investment decisions.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Optional end date (YYYY-MM-DD) | |
| from | No | Optional start date (YYYY-MM-DD) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does not specify default date ranges, pagination, returned fields, or any limitations. The vague 'comprehensive calendar' phrasing leaves the agent without crucial operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences but includes filler like 'Stay informed' and the investment decision benefit, which add no operational value. It is reasonably concise but not tightly front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description is thin. It fails to explain what a comprehensive calendar contains, what the response looks like, or how to interpret the data. The lack of such details makes it incompletely specified for agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully describes both parameters (from and to) with date formats, so the description need not repeat them. However, it does not clarify how these optional date parameters affect the calendar results, such as whether an open-ended range defaults to a specific period. Baseline 3 is appropriate given the high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as the FMP Economic Data Releases Calendar API and states that it provides access to a comprehensive calendar of upcoming economic data releases. This distinguishes it from other calendar tools like earnings or IPO calendars, though it uses 'access' rather than a more specific verb like 'retrieve' or 'list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no explicit guidance on when to use this tool versus alternatives such as getEarningsCalendar or getIPOCalendar. It mentions preparing for market impacts and making investment decisions, but this is a generic benefit statement rather than actionable usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getEconomicIndicatorsBInspect
Access real-time and historical economic data for key indicators like GDP, unemployment, and inflation with the FMP Economic Indicators API. Use this data to measure economic performance and identify growth trends.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Optional end date (YYYY-MM-DD) | |
| from | No | Optional start date (YYYY-MM-DD) | |
| name | Yes | Name of the indicator |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It states the tool provides real-time and historical data, implying a read-only operation, but does not disclose response format, pagination, rate limits, or any other behavioral traits. It is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core function and followed by a brief use case. There is no redundant filler or unnecessary detail, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the description should compensate by explaining what the response looks like or how to construct the indicator name. It gives examples but does not describe return values or behavior when optional date parameters are omitted, leaving some context incomplete for agents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters (name, from, to). The description adds examples of indicator names (GDP, unemployment, inflation), which helps clarify the 'name' parameter, but does not go beyond the schema's basic meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses real-time and historical economic data for key indicators such as GDP, unemployment, and inflation. It is specific about the resource and purpose, though it does not explicitly differentiate from closely related siblings like getTreasuryRates or getEconomicCalendar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a general use case ('measure economic performance and identify growth trends') but gives no guidance on when to use this tool versus alternatives, nor any exclusions. There is no mention of sibling tools or scenarios where a different economic data tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getEMABInspect
Calculate the Exponential Moving Average (EMA) for a stock using the FMP EMA API. This tool helps users analyze trends and identify potential buy or sell signals based on historical price data.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Stock symbol | |
| timeframe | Yes | Timeframe (1min, 5min, 15min, 30min, 1hour, 4hour, 1day) | |
| periodLength | Yes | Period length for the indicator |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. It only mentions the use of the FMP EMA API and historical price data, but does not describe output format, data range behavior, authentication needs, or whether the result is a single value or time series. This is a significant gap for a tool with no structured behavior context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences. The first sentence states the function, and the second adds a brief use case. There is no redundancy or filler, and it is appropriately front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the description should explain what the tool returns. It only says 'calculate the EMA' without indicating whether the output is a single value, a series, or how it is structured. This leaves the agent uncertain about the result, especially given the optional from/to date parameters that suggest a time series.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the input schema already documents all five parameters (symbol, periodLength, timeframe, from, to) with descriptions. The tool description adds no additional parameter-specific meaning, so it does not enhance what the schema provides, but also does not need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates the Exponential Moving Average (EMA) for a stock, using a specific verb ('Calculate') and resource ('EMA for a stock'). This distinguishes it from sibling tools like getSMA, getDEMA, and getTEMA, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage context by mentioning trend analysis and buy/sell signals, but it does not explicitly state when to prefer this tool over alternatives like getSMA or getRSI. No exclusions or alternative tool names are mentioned, leaving usage guidance somewhat implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getEmployeeCountBInspect
Retrieve detailed workforce information for companies, including employee count, reporting period, and filing date. The FMP Company Employee Count API also provides direct links to official SEC documents for further verification and in-depth research.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit on number of results (default: 100, max: 10000) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavioral traits. It adds context by mentioning that the response includes reporting period, filing date, and direct links to SEC documents. However, it does not disclose potential limitations such as rate limits, pagination, or whether only the latest employee count is returned. This is a moderate level of transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences. The first sentence front-loads the primary purpose and key data fields, while the second sentence adds valuable context about SEC document links. Every sentence earns its place, with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description lists the main return fields (employee count, reporting period, filing date, SEC links), which gives a reasonable picture of the response. However, it does not clarify whether this tool returns current or historical data, which is important given the existence of getHistoricalEmployeeCount. This minor gap prevents a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes both parameters (symbol and limit) with 100% coverage. The description does not add any additional meaning to these parameters, such as clarifying the meaning of 'limit' in the context of employee counts. Since the schema is fully documented, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves detailed workforce information including employee count, reporting period, and filing date. It uses the verb 'Retrieve' and specifies the resource (workforce information for companies), making the purpose clear. However, it does not explicitly differentiate itself from the sibling tool getHistoricalEmployeeCount, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives like getHistoricalEmployeeCount. It mentions that the data can be used for verification and research, but gives no explicit use cases, exclusions, or prerequisites. This leaves usage decisions to the agent without clear direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getEODDataBulkCInspect
The EOD Bulk API allows users to retrieve end-of-day stock price data for multiple symbols in bulk. This API is ideal for financial analysts, traders, and investors who need to assess valuations for a large number of companies.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date in YYYY-MM-DD format |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only mentions that the tool retrieves data in bulk, but gives no details on pagination, response format, rate limits, or how symbols are specified. This is a significant gap for a bulk API.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loads the main purpose. The second sentence about target audience is somewhat extraneous but not excessive. Overall, it is concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema and no annotations, the description is incomplete. It does not explain how the bulk data is returned, whether it covers all symbols for the date, or how it differs from related tools like getBatchQuotes. The mismatch between 'multiple symbols' and a date-only parameter is a critical omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes the only parameter 'date' with 100% coverage, but the description says 'multiple symbols' while the schema has no parameter for symbols. This creates a misleading expectation that the user can specify symbols, which is not supported by the provided schema. The description adds no value beyond the schema and actually introduces confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'retrieve end-of-day stock price data for multiple symbols in bulk,' which is a specific verb and resource. It clearly identifies what the tool does, though it does not explicitly differentiate it from other bulk data tools like getBatchQuotes or getBatchQuotesShort.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says the API 'is ideal for financial analysts, traders, and investors who need to assess valuations for a large number of companies,' providing a clear use case. However, it does not mention any alternatives or explicitly state when not to use it, so the guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getEquityOfferingsByCIKCInspect
Access detailed information on equity offerings announced by specific companies with the FMP Company Equity Offerings by CIK API. Track offering activity and identify potential investment opportunities.
| Name | Required | Description | Default |
|---|---|---|---|
| cik | Yes | CIK number to search for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only says 'access detailed information' without disclosing what the output contains, whether it's historical or recent offerings, or any limitations. The second sentence is promotional rather than behavioral.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but the second sentence 'Track offering activity and identify potential investment opportunities' does not help an agent invoke the tool. It is not egregious, but it fails to earn its place by adding operational value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple one-parameter tool without an output schema. The description gives a minimal purpose but doesn't explain the return format or what 'equity offerings' encompasses. It's adequate for a basic getter but lacks sufficient context for an agent to know what to expect from the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents the single 'cik' parameter with a description, so baseline is 3. The description adds no extra parameter semantics such as format or examples, but schema coverage is 100%, so the minimum viable score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'Access[es] detailed information on equity offerings announced by specific companies' with a specific API reference. It identifies the tool's purpose and resource, but doesn't explicitly contrast with siblings like searchEquityOfferings or getLatestEquityOfferings, relying on the name for that distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 says 'specific companies' but doesn't mention prerequisites or exclusions, nor does it reference sibling tools for comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getESGBenchmarksCInspect
Evaluate the ESG performance of companies and funds with the FMP ESG Benchmark Comparison API. Compare ESG leaders and laggards within industries to make informed and responsible investment decisions.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Optional year to get benchmarks for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden. It uses vague marketing terms ('evaluate', 'compare') without disclosing return format, historical nature, the effect of the year parameter, or any limitations. It does not tell the agent what to expect from the invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short (two sentences, ~31 words) and easy to scan. It front-loads the resource and purpose. However, the closing clause 'to make informed and responsible investment decisions' is somewhat fluffy and could be trimmed without losing informative value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a single optional parameter and no output schema, the description should clarify what the benchmark comparison returns (e.g., lists of companies, scores, percentiles) and how the year parameter affects results. None of that is present. The description is too vague to fully guide an agent in using the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single optional 'year' parameter. The description does not mention the parameter at all, but the schema already documents it clearly. Baseline of 3 applies because the structured data does the heavy lifting, and the description adds no additional meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (ESG Benchmark Comparison API) and the actions (evaluate, compare). It clearly points to ESG benchmarking rather than just ratings or disclosures. However, it doesn't explicitly say 'retrieve' or 'get' and doesn't differentiate from sibling tools like getESGRatings or getESGDisclosures.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. The description mentions a broad use case ('make informed and responsible investment decisions') but does not contrast with sibling ESG tools or specify exclusions. Given the many sibling tools, 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.
getESGDisclosuresCInspect
Align your investments with your values using the FMP ESG Investment Search API. Discover companies and funds based on Environmental, Social, and Governance (ESG) scores, performance, controversies, and business involvement criteria.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It says the tool can 'Discover companies and funds' but does not state what the function actually returns, whether it is read-only, or any details about response structure or limitations. The glossy language obscures rather than clarifies behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes the opening sentence on a vague value proposition ('Align your investments with your values'). The second sentence is weakly informative. It is under-specification rather than concise, earning a low score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description should at least clarify what data is returned for a symbol. It does not, leaving the agent with only a general sense that the tool is ESG-related. This is inadequate for selecting and invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for the 'symbol' parameter, described as 'Stock symbol'. The tool description adds no additional meaning beyond the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Discover' and names the resource as 'companies and funds' related to ESG criteria, giving a vague sense of purpose. However, the tool name is 'getESGDisclosures' and the description does not explicitly mention 'disclosures' or 'retrieve ESG data for a symbol,' so it is unclear whether this returns data for a single symbol or performs a search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like getESGRatings, getESGBenchmarks, or searchFundDisclosures. The description reads like a marketing pitch rather than functional instructions, leaving the agent without a clear decision-making basis.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getESGRatingsBInspect
Access comprehensive ESG ratings for companies and funds with the FMP ESG Ratings API. Make informed investment decisions based on environmental, social, and governance (ESG) performance data.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
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 offers only generic qualifiers ('comprehensive') and a vague value proposition ('make informed investment decisions'), without revealing specifics about what data is returned, whether ratings are current or historical, or any limitations. This is insufficient for a tool with zero 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short (two sentences), but the second sentence ('Make informed investment decisions based on...') is generic promotional fluff that does not add functional value. The first sentence is informative, but the overall structure includes unnecessary filler, reducing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is minimally adequate. It names the tool's purpose but fails to elaborate on the nature of the returned ESG ratings (e.g., scores, categories, historical vs. current). Given the lack of annotations and output schema, more detail would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for the single 'symbol' parameter, with a simple description 'Stock symbol'. The description adds no additional meaning beyond the schema, which is adequate given the self-explanatory parameter, matching the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses comprehensive ESG ratings for companies and funds, using a specific verb ('Access') and resource ('ESG ratings'). It distinguishes from sibling tools like getESGBenchmarks and getESGDisclosures by its focus on ratings rather than benchmarks or disclosures, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for obtaining ESG ratings to make informed investment decisions, but it does not provide explicit guidance on when to use this tool versus siblings like getESGBenchmarks or getHistoricalRatings. No exclusions or alternative recommendations are given, leaving the context somewhat vague.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getETFHoldersBulkCInspect
The ETF Holder Bulk API allows users to quickly retrieve detailed information about the assets and shares held by Exchange-Traded Funds (ETFs). This API provides insights into the weight each asset carries within the ETF, along with key financial information related to these holdings.
| Name | Required | Description | Default |
|---|---|---|---|
| part | Yes | Part number (e.g., 0, 1, 2) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it only describes the content of the response (holdings, weights, financial info). It fails to disclose the pagination behavior implied by the 'part' parameter or any other operational details like rate limits or required authentication.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long and conveys the core purpose without excessive wording. The second sentence somewhat repeats the first, but overall it is concise and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool appears to be a paginated bulk endpoint based on the 'part' parameter, yet the description does not explain how pagination works or that multiple calls are needed to retrieve all data. This is a major omission given the lack of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes the sole parameter 'part' as a part number (e.g., 0, 1, 2). Since schema coverage is 100%, the description adds no additional meaning about the parameter or its role in the bulk retrieval process.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool retrieves ETF holdings data, including asset weights and key financial information. The phrase 'ETF Holder Bulk API' indicates a bulk operation, but it doesn't explicitly distinguish this from similar sibling tools like getFundHoldings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of bulk scenarios, exclusions, or prerequisites, leaving the agent without direction on choosing this over other holding-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getETFListCInspect
Quickly find ticker symbols and company names for Exchange Traded Funds (ETFs) using the FMP ETF Symbol Search API. This tool simplifies identifying specific ETFs by their name or ticker.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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 claims users can find ETFs 'by their name or ticker,' but the input schema has no parameters, which is misleading. It also fails to disclose output format, whether it returns a full list, or any pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loads the purpose, but the second sentence is partly redundant ('simplifies identifying specific ETFs by their name or ticker') with the first. Still compact and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (0 params, no output schema), but the description is incomplete: it does not explain what the output represents (full list vs. filtered results) or clarify the 'by name or ticker' claim. This leaves the agent uncertain about invocation behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0 parameters, the baseline is 4, but the description actively misleads by implying search filters ('by their name or ticker') that do not exist in the schema. This contradicts the schema and does not add meaningful parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds ticker symbols and company names for ETFs, providing a specific verb and resource. It does not explicitly distinguish itself from sibling tools like getETFQuotes or searchSymbol, so it loses a point.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for identifying ETFs by name or ticker, but does not mention when to use this tool over alternatives such as searchSymbol or getETFQuotes. No exclusions or specific context is given, leaving it at an implied level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getETFQuotesBInspect
Get real-time price quotes for exchange-traded funds (ETFs) with the FMP ETF Price Quotes API. Track current prices, performance changes, and key data for a wide variety of ETFs.
| Name | Required | Description | Default |
|---|---|---|---|
| short | No | Whether to use short format |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It mentions 'real-time' and 'key data' but fails to disclose that it is a bulk read (no symbol parameter) or what the 'short' format affects. This leaves important behavioral traits unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences and front-loaded with the core action. The second sentence is somewhat generic but not wasteful, earning its place by hinting at the data included.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite a simple schema, the description is incomplete. It doesn't clarify whether quotes are returned for all ETFs or a selectable list, lacks any output structure info, and fails to connect to symbol-based siblings. The absence of a symbol parameter is a critical context gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'short' parameter, so the baseline is 3. The tool description adds no extra meaning beyond the schema, merely repeating that it tracks prices and performance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets real-time price quotes for ETFs, using a specific verb and resource. The ETF scope distinguishes it from sibling quote tools like getQuote, getIndexQuote, and getMutualFundQuotes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The input schema has no symbol parameter, yet the description doesn't clarify that this returns quotes for multiple ETFs without filtering by symbol, which could lead an agent to misuse it for a specific ETF quote.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_eventAInspect
Get detailed information about a specific event by slug, including all related markets.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Event slug (from URL or search results) |
Tool Definition Quality
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 clearly states the tool returns detailed event info and all related markets, but it does not describe return format, potential errors, or any side effects. For a simple read operation this is adequate, but not rich in behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, front-loading the action and scope. It is appropriately concise for a simple one-parameter read tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one required parameter and no output schema, the description provides sufficient context by mentioning 'detailed information' and 'all related markets'. It is clear enough for an agent to select the tool, though the lack of an output schema means the exact return structure is not explicitly disclosed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides a complete description of the slug parameter (100% coverage), and the tool description only repeats that it uses a slug without adding format details or examples. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'detailed information about a specific event by slug'. It also specifies the unique identifier ('by slug') and includes a distinguishing feature ('including all related markets') that differentiates it from siblings like search_events and get_market.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you have a slug (e.g., from a URL or search results) but does not explicitly mention alternatives or when not to use this tool. The slug parameter description hints at a workflow involving search_events, but the main tool description provides no direct guidance on choosing between related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getExchangeMarketHoursAInspect
Retrieve trading hours for specific stock exchanges using the Global Exchange Market Hours API. Find out the opening and closing times of global exchanges to plan your trading strategies effectively.
| Name | Required | Description | Default |
|---|---|---|---|
| exchange | Yes | Exchange code (e.g., NASDAQ, NYSE) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description is the sole source of behavioral info. It states 'Retrieve trading hours' which implies a read-only operation, and mentions 'opening and closing times' as the data returned. However, it does not disclose output format, timezone handling, or error behavior, so it provides only moderate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loaded with the key action. The second sentence repeats the idea of retrieving hours and adds a generic benefit, which is slightly redundant. It is still compact, but not zero-waste, so a 4 is appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a simple interface with one parameter and no output schema, so the burden on the description is lower. It clearly states the purpose and the data returned. However, it omits any mention of return format or how exchange codes are validated, which could be helpful in this API context. The description is adequate but not exhaustive, so a 4.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'exchange' is fully described in the schema with an example. The tool description adds no additional parameter details beyond calling them 'specific stock exchanges'. Since schema coverage is 100%, the baseline is 3 and the description does not elevate it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Retrieve' with the resource 'trading hours for specific stock exchanges', clearly distinguishing it from the sibling 'getAllExchangeMarketHours' by focusing on a single exchange. This makes the tool's purpose immediately obvious.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for planning trading strategies and specifies 'specific stock exchanges', which suggests it is for single-exchange queries. However, it does not explicitly name alternative tools like 'getAllExchangeMarketHours' or 'getHolidaysByExchange', so it lacks explicit when-not guidance. This warrants a 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getExchangeQuotesAInspect
Retrieve real-time stock quotes for all listed stocks on a specific exchange with the FMP Exchange Stock Quotes API. Track price changes and trading activity across the entire exchange.
| Name | Required | Description | Default |
|---|---|---|---|
| short | No | Whether to use short format | |
| exchange | Yes | Exchange name (e.g., NASDAQ, NYSE) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of disclosing behavioral traits. It mentions 'real-time' and 'track price changes and trading activity', which provides some transparency about the data freshness and contents. However, it does not clarify return format, pagination, rate limits, or other behavioral nuances, making this adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long and front-loaded with the core purpose. Every sentence adds relevant information: the first states what the tool retrieves, and the second clarifies the use case (tracking price changes and trading activity). No wasted words or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple with only two parameters and no output schema. The description provides enough context to understand the tool's scope and intended use. However, since there is no output schema, mentioning what fields are returned (e.g., price, volume, change) would improve completeness, though the phrase 'price changes and trading activity' partially covers this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with 'exchange' described as 'Exchange name (e.g., NASDAQ, NYSE)' and 'short' as 'Whether to use short format'. The description adds no additional parameter-level detail beyond what the schema already provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Retrieve') and clearly identifies the resource: real-time stock quotes for all listed stocks on a specific exchange. It distinguishes itself from sibling tools like getQuote (single quote) and getBatchQuotes by emphasizing the exchange-wide scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states the context for use ('all listed stocks on a specific exchange'), which implies it is meant for exchange-wide quote retrieval rather than individual or batch arbitrary symbols. However, it does not explicitly name alternatives or state when not to use this tool, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getExecutiveCompensationAInspect
Retrieve comprehensive compensation data for company executives with the FMP Executive Compensation API. This API provides detailed information on salaries, stock awards, total compensation, and other relevant financial data, including filing details and links to official documents.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It adds some value by detailing the data categories (salaries, stock awards, total compensation) and mentions 'filing details and links to official documents,' but it does not disclose behavioral traits such as pagination, rate limits, output format, or what happens for invalid symbols. It is somewhat transparent but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loaded with the primary purpose. The second sentence elaborates with useful specifics. There is no redundant fluff and every clause adds information, making it appropriately concise for the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a single parameter and no output schema, the description provides a reasonable overview of expected data content, including filing details and links. However, it does not clarify the structure of the response (e.g., whether it returns an array of executives, multiple years of data) or any limitations. Given the low complexity, the description is nearly complete but leaves a minor gap in return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'symbol,' which is described as 'Stock symbol.' The description does not add any extra syntax, format, or example for the parameter. Since the schema fully covers the parameter, the baseline score of 3 is appropriate; the description adds no additional semantic value beyond restating the resource type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Retrieve' and clearly identifies the resource as 'comprehensive compensation data for company executives.' It distinguishes itself from sibling tools like getCompanyExecutives (which lists executives) and getExecutiveCompensationBenchmark (which provides benchmark comparisons) by focusing specifically on compensation details, filing info, and document links.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of exclusions, prerequisites, or other tools that might be more suitable for different scenarios. The description only states what the tool does, not when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getExecutiveCompensationBenchmarkBInspect
Gain access to average executive compensation data across various industries with the FMP Executive Compensation Benchmark API. This API provides essential insights for comparing executive pay by industry, helping you understand compensation trends and benchmarks.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Year to get benchmark data for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry full behavioral disclosure. The description only mentions 'average' and 'benchmark' but does not disclose response structure, optional year behavior, data coverage limits, or any other operational details. It is more promotional than informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, but the second sentence largely restates the first ('comparing executive pay by industry' vs 'average executive compensation data across industries'). It is not bloated, but some redundancy prevents a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema), the description gives the core idea but omits practical details like what the response looks like and how the optional 'year' parameter behaves. It is minimally adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with a clear description for the 'year' parameter, so the baseline is 3. The tool description adds no additional parameter-level meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing average executive compensation data across various industries, which is a specific resource and distinguishes it from related tools like getExecutiveCompensation (company-specific) and getCompanyExecutives. The verb 'Gain access' is slightly generic, but the resource scope is precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for comparing executive pay by industry and understanding compensation benchmarks, but it does not explicitly state when to prefer this tool over alternatives like getExecutiveCompensation or getCompanyExecutives. No exclusions or alternative references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getFilingExtractAnalyticsByHolderBInspect
The Filings Extract With Analytics By Holder API provides an analytical breakdown of institutional filings. This API offers insight into stock movements, strategies, and portfolio changes by major institutional holders, helping you understand their investment behavior and track significant changes in stock ownership.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 0) | |
| year | Yes | Year of filing | |
| limit | No | Limit on number of results (default: 10, max: 100) | |
| symbol | Yes | Stock symbol | |
| quarter | Yes | Quarter of filing (1-4) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of explaining behavior. It conveys that the tool is a read-only analytical API returning breakdowns and insights, but it does not disclose pagination behavior, response structure, or potential limitations. This is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and reasonably concise. It front-loads the tool's primary purpose, though the second sentence is somewhat promotional and could be trimmed. Overall, it is efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (5 params, no output schema, no annotations), the description provides a decent high-level summary of what the response might contain ('analytical breakdown', 'stock movements', 'portfolio changes'). However, it does not explain the return format, pagination details, or any special constraints beyond the schema, leaving some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% description coverage for all five parameters, so the description does not need to compensate. The description adds context that the data is organized by holder and relates to portfolio changes, but it does not add meaning beyond the schema's explicit parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides an analytical breakdown of institutional filings for a given symbol, year, and quarter, focusing on major institutional holders. It distinguishes itself from related filing tools by emphasizing the 'analytics' angle (stock movements, strategies, portfolio changes), though it does not explicitly name sibling alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no explicit guidance on when to use this tool versus other filing-related tools like getFilingsBySymbol, getLatestInstitutionalFilings, or getForm13FFilingDates. It implies usage for analyzing institutional holdings but does not state exclusions 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.
getFilingsByCIKBInspect
Search for SEC filings using the FMP SEC Filings By CIK API. Access detailed regulatory filings by Central Index Key (CIK) number, enabling you to track all filings related to a specific company or entity.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | End date (YYYY-MM-DD) | |
| cik | Yes | Central Index Key (CIK) | |
| from | Yes | Start date (YYYY-MM-DD) | |
| page | No | Page number for pagination | |
| limit | No | Limit the number of results |
Tool Definition Quality
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 doesn't mention that from/to dates are required, that results are paginated, or what the return structure looks like. It also doesn't explicitly confirm this is a read-only operation, though it implies search.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loads the key purpose. The second sentence adds some redundancy but is still concise and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete enough to understand the tool's basic function, but it misses critical context such as the requirement to provide from/to dates and the pagination behavior. Given the tool's simplicity and lack of output schema or annotations, the missing context is a notable gap for successful invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description doesn't add parameter details beyond what the schema already provides, but since the schema descriptions are clear, no penalty is applied. It could have mentioned the required date range, but that is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for SEC filings by CIK number, using a specific API. It differentiates from siblings like getFilingsBySymbol or getFilingsByFormType by explicitly emphasizing the CIK lookup method.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you have a CIK and want to track a company's filings, but does not explicitly state when to use this instead of other filing tools or exclude alternatives. Sibling context shows many comparable tools, so more explicit guidance would have been helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getFilingsByFormTypeAInspect
Search for specific SEC filings by form type with the FMP SEC Filings By Form Type API. Retrieve filings such as 10-K, 10-Q, 8-K, and others, filtered by the exact type of document you're looking for.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | End date (YYYY-MM-DD) | |
| from | Yes | Start date (YYYY-MM-DD) | |
| page | No | Page number for pagination | |
| limit | No | Limit the number of results | |
| formType | Yes | Form type (e.g., 8-K, 10-K, 10-Q) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the burden. It clearly indicates a read-only search/retrieval operation, which is non-destructive. However, it does not disclose additional behavioral context such as pagination behavior, rate limits, or specifics about the response structure. It is not misleading but adds minimal extra value beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose and followed by clarifying examples. It is concise, with no redundant or unnecessary information, and every phrase contributes to understanding the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relatively simple search tool, the description adequately conveys its purpose and examples. It lacks an output schema, so mentioning the return structure would be helpful, but 'Retrieve filings' gives a general idea. Required parameters like from/to are not highlighted in the description, but they are captured in the schema. Overall, it is sufficiently complete for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with all 5 parameters documented (formType, from, to, page, limit). The description adds examples of form types (10-K, 10-Q, 8-K) but does not elaborate on date formats or pagination details, which are already covered in the schema. Thus, it provides little added meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search for specific SEC filings by form type' with examples of 10-K, 10-Q, 8-K. The verb and resource are specific, and it distinguishes from sibling tools like getFilingsByCIK and getFilingsBySymbol, which filter by CIK or symbol.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool should be used when filtering SEC filings by form type, but it does not explicitly mention alternatives or exclusions. It lacks clear when-not guidance or references to sibling tools, so the usage context is only moderately clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getFilingsBySymbolBInspect
Search and retrieve SEC filings by company symbol using the FMP SEC Filings By Symbol API. Gain direct access to regulatory filings such as 8-K, 10-K, and 10-Q reports for publicly traded companies.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | End date (YYYY-MM-DD) | |
| from | Yes | Start date (YYYY-MM-DD) | |
| page | No | Page number for pagination | |
| limit | No | Limit the number of results | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
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 retrieves filings but does not disclose important behaviors like pagination (page/limit), required date range parameters, response format, potential filtering by form type, or how errors are handled. This is insufficient for a tool with no annotation safety hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main verb and resource, and contains no redundant filler. It efficiently conveys the purpose and examples of filings without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 5 parameters, no output schema, and no annotations. The description clearly identifies what the tool does, but lacks return value expectations, usage alternatives, and behavioral details like pagination. It is minimally viable for selection but not fully complete for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds context about filing types but does not elaborate on parameter semantics beyond the schema. It does not explain symbol format, date range meaning, or pagination behavior, but the schema already documents each parameter adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search and retrieve'), the resource ('SEC filings'), and the specific scope ('by company symbol'). It also differentiates from siblings like getFilingsByCIK and getFilingsByFormType by emphasizing the symbol-based lookup, and mentions concrete filing types (8-K, 10-K, 10-Q).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives such as getFilingsByCIK, getFilingsByFormType, or getLatest8KFilings. It only implies usage by mentioning 'by company symbol', but does not state exclusions or preferability conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_financial_metricsCInspect
Get key financial metrics from the three major financial statements.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol/ticker (e.g. '000001') | |
| recent_n | No | Number of most recent records to return |
Tool Definition Quality
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 it only states the action and resource. It does not describe return format, data scope, limitations, or any operational behavior. The word 'Get' implies read-only, but no further transparency is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler, efficiently conveying the core purpose. While it is under-specified, the conciseness dimension focuses on word economy and structure, and this earns a 4 due to its brevity and clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description provides insufficient context about what constitutes 'key financial metrics', the structure of the response, or how recent_n affects results. Compared to the rich sibling context, this description is too minimal to be complete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters have descriptions in the schema, so the baseline is 3. The description does not add any additional meaning about the parameters, relying entirely on the schema for semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves key financial metrics from the three major financial statements, identifying the specific verb and resource. It differentiates itself from statement-specific siblings like get_balance_sheet but does not clearly distinguish from other metrics-focused siblings like getKeyMetrics or getFinancialRatiosTTM.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not mention when to use this tool over alternatives, nor does it give any exclusions. Given the large sibling list with overlapping functions, this is a significant gap for an agent selecting between tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getFinancialRatiosTTMCInspect
Gain access to trailing twelve-month (TTM) financial ratios with the TTM Ratios API. This API provides key performance metrics over the past year, including profitability, liquidity, and efficiency ratios.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of disclosure. It states that the tool 'provides key performance metrics over the past year,' but offers no detail on output structure, data availability, or potential limitations. The description adds little beyond what the name and schema already imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences that front-load the tool's purpose and key metric categories. It contains minimal fluff, though the phrase 'TTM Ratios API' is slightly redundant with the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, no output schema), and the description conveys the core purpose and metric types. However, without an output schema, it could more fully describe what the response contains (e.g., a list of ratio objects, units, or time periods), and it omits any mention of single-symbol scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter (symbol: 'Stock symbol'). The description adds no additional meaning to the parameter, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('gain access to') and resource ('trailing twelve-month financial ratios'), and lists included categories (profitability, liquidity, efficiency). It is clear what the tool does, but it does not explicitly differentiate from sibling tools like getRatios or getRatiosTTMBulk.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context about the purpose (TTM ratios) but gives no explicit guidance on when to use this tool versus alternatives. It does not mention that a single symbol is required or that bulk versions exist for multiple symbols, so usage guidance is largely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getFinancialReportJSONCInspect
Access comprehensive annual reports with the FMP Annual Reports on Form 10-K API. Obtain detailed information about a company’s financial performance, business operations, and risk factors as reported to the SEC.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Year of the report | |
| period | Yes | Period (Q1, Q2, Q3, Q4, or FY) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
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 content (financial performance, business operations, risk factors) but does not describe output format, pagination, rate limits, or return structure. It also introduces a potential contradiction by saying 'annual reports' while the schema allows quarterly periods (Q1–Q4), which is not disclosed or reconciled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and directly states the tool's purpose and content. It is front-loaded with 'Access comprehensive annual reports' and avoids filler. However, it uses some marketing-like phrasing ('comprehensive', 'detailed information') that could be trimmed, but overall it is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description should explain what the returned JSON contains and any important constraints. It only vaguely mentions content areas without specifics. The conflict between 'annual reports' and quarterly periods is a notable gap. The description is insufficient for a tool with three required parameters and no structured output documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no parameter-level details beyond the schema. It does add 'annual reports' context which might imply period=FY, but this is not explicit and actually conflicts with the enum allowing quarters. Overall, the description neither helps nor significantly hinders parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as accessing comprehensive annual reports (Form 10-K) from FMP, with a specific verb ('Access'/'Obtain') and resource. It distinguishes itself from siblings like getFinancialReportXLSX by naming the 10-K API, though it does not explicitly mention 'JSON' despite the tool name. The mention of 'annual reports' conflicts with the schema's quarterly period options, introducing some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 does not mention any exclusions, prerequisites, or comparison to sibling tools such as get_income_statement, getFinancialStatementFullAsReported, or getFinancialReportXLSX. Usage context is only implied by describing the report type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getFinancialReportsDatesCInspect
Access the latest financial reports dates for publicly traded companies with the FMP Financial Reports Dates API. Track key financial metrics, including revenue, earnings, and cash flow, to stay informed about a company's financial performance.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure, but it misleads by implying the tool tracks financial metrics when the name indicates it only returns dates. It also doesn't disclose response formats, date ranges, or coverage limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but the second sentence is filler that actively detracts from clarity by introducing irrelevant metric tracking. It doesn't earn its place, making the overall structure inefficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite being a simple tool, the description omits essential details such as what specific dates are returned (e.g., filing dates vs. period end dates), time horizon, and whether any filtering is possible. The misleading metric sentence further reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage for the single 'symbol' parameter with its own description, so the baseline is 3. The tool description adds no extra semantic value for the parameter beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the core purpose (access financial reports dates) with a specific verb and resource, but the second sentence about tracking metrics muddles the tool's actual function. It also doesn't explicitly differentiate from sibling date-returning tools like getEarningsTranscriptDates or getForm13FFilingDates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 lacks any mention of exclusions, prerequisites, or why one would choose this over similar date-focused tools. The generic 'stay informed' phrase does not constitute actionable usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getFinancialReportXLSXCInspect
Download detailed 10-K reports in XLSX format with the Financial Reports Form 10-K XLSX API. Effortlessly access and analyze annual financial data for companies in a spreadsheet-friendly format.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Year of the report | |
| period | Yes | Period (Q1, Q2, Q3, Q4, or FY) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only mentions that the tool downloads XLSX data, but does not describe response format, auth requirements, rate limits, pagination, or the fact that the tool may accept quarterly periods despite 'annual' wording.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but includes promotional filler like 'Effortlessly access and analyze' and redundant API naming. It is front-loaded with the core action, but the second sentence adds little value and the phrasing 'Financial Reports Form 10-K XLSX API' is awkward.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists and no annotations are provided, so the description needs to explain more about what the XLSX contains and how to use it. It fails to address the quarterly vs annual contradiction, does not state what the downloaded file includes, and gives no indication of how to select the right period for a 10-K report.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter (symbol, year, period) is already documented. The description adds the format context (XLSX) but does not clarify the meaning of 'period' in relation to the 10-K label, nor does it explain whether FY is the only valid period for 10-K reports.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool downloads detailed 10-K reports in XLSX format, which is a specific verb and resource. However, it creates ambiguity by calling them '10-K' (annual) reports while the schema includes quarterly periods (Q1-Q4), and it does not clearly differentiate from the sibling getFinancialReportJSON beyond format.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like getFinancialReportJSON or getFinancialReportsDates. The phrase 'Effortlessly access and analyze annual financial data' is generic and does not explain valid use cases, period restrictions, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getFinancialScoresCInspect
Assess a company's financial strength using the Financial Health Scores API. This API provides key metrics such as the Altman Z-Score and Piotroski Score, giving users insights into a company’s overall financial health and stability.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit on number of results (default: 100, max: 1000) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It states the API 'provides key metrics' but does not clarify return format, whether it returns historical data or a single snapshot, or how the 'limit' parameter affects results. The description is vague about operational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, two sentences, and front-loads the purpose. No unnecessary words, but it could be slightly more informative without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the description needs to explain what the tool returns and any caveats. It mentions the metrics but not the shape of the response or the significance of 'limit' (e.g., historical scores). The description is incomplete for an agent to fully understand the tool's output and behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already well-documented. The description adds no extra parameter semantics beyond what the schema provides. Baseline 3 is appropriate because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to assess a company's financial strength using specific scores (Altman Z-Score and Piotroski Score). The verb 'assess' and resource 'company's financial strength' are specific, but it does not explicitly distinguish this tool from sibling tools like getFinancialScoresBulk or getKeyMetrics, which serve similar purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There are no explicit usage scenarios, exclusions, or mentions of sibling tools. Given the large number of similar financial metrics tools, 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.
getFinancialScoresBulkBInspect
The FMP Scores Bulk API allows users to quickly retrieve a wide range of key financial scores and metrics for multiple symbols. These scores provide valuable insights into company performance, financial health, and operational efficiency.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits itself. It says 'retrieve,' which suggests a read-only operation, but provides no details about rate limits, prerequisites, or the nature of the output. This is insufficient given the lack of annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and concise. The first sentence states the purpose clearly; the second adds context about the value of the scores but is somewhat generic. It earns its place without excessive verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description should compensate by explaining what data is returned or any operational constraints. It only says 'financial scores and metrics' without listing specific metrics or return format, leaving significant ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no properties, so there are no parameters to document. Per the rubric, a baseline of 4 applies for zero-parameter tools. The description adds no parameter info, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves 'financial scores and metrics for multiple symbols,' identifying both the verb and resource. It distinguishes itself from singular tools like getFinancialScores via the 'Bulk' mention and 'multiple symbols,' though it could be more explicit about the exact metrics included.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when needing scores for multiple symbols quickly, but does not explicitly state when to use this over alternatives (e.g., getFinancialScores for a single symbol) or provide exclusion criteria. The guidance is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getFinancialStatementFullAsReportedAInspect
Retrieve comprehensive financial statements as reported by companies with FMP As Reported Financial Statements API. Access complete data across income, balance sheet, and cash flow statements in their original form for detailed analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit on number of results (default: 100, max: 1000) | |
| period | No | Period type (annual or quarter) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden of behavioral disclosure. It mentions 'as reported' and 'original form', indicating raw data, but does not explain pagination, default behavior, ordering, or potential response size. It provides some context but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loads the purpose, and includes no filler. It efficiently conveys the tool's function and scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is moderately complex with no output schema. The description covers the basic data categories but does not describe the return structure, how the three statements are combined, or any prerequisites. It provides sufficient orientation but leaves gaps about expected response format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters have schema descriptions (100% coverage), so the baseline is 3. The tool description clarifies the scope of data returned, but adds no additional meaning to limit or period beyond the schema. It doesn't explain how period affects results or how limit applies to multiple statements.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves comprehensive financial statements with a specific verb ('Retrieve') and resource ('financial statements as reported'). It also lists the included components (income, balance sheet, cash flow), which helps distinguish it from sibling tools focused on single statements, though it doesn't explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for comprehensive financial data across all three statements but does not explicitly state when to choose this tool over alternatives like getIncomeStatementAsReported or getBalanceSheetStatementAsReported. No exclusions or contrast with siblings are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getFinancialStatementGrowthBInspect
Analyze the growth of key financial statement items across income, balance sheet, and cash flow statements with the Financial Statement Growth API. Track changes over time to understand trends in financial performance.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit on number of results (default: 100, max: 1000) | |
| period | No | Period (Q1, Q2, Q3, Q4, or FY) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only says to 'track changes over time' but does not explain what the growth values represent (e.g., YoY percentage change), how the API handles periods, or any limitations. The description is vague and fails to disclose key behavioral aspects 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and reasonably concise, but the second sentence ('Track changes over time...') is somewhat redundant and adds little substance. Still, it is structured clearly and not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a moderately complex tool with no output schema and no annotations. The description does not explain what the response contains (e.g., line items, growth rates, historical periods) or how to interpret results. This leaves significant gaps for an agent trying to decide if this tool fits its needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add any meaning beyond what the schema already provides for parameters like limit and period. It fulfills the baseline but adds no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool analyzes growth across income, balance sheet, and cash flow statements, distinguishing it from the individual statement growth sibling tools. Verb 'Analyze' and resource 'financial statement items' are specific enough to understand the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is used when you want growth data across all three financial statements, which differentiates it from single-statement siblings, but it does not explicitly say when to prefer this over alternatives or provide exclusions. Usage guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getFinancialStatementSymbolsBInspect
Access a comprehensive list of companies with available financial statements through the FMP Financial Statement Symbols List API. Find companies listed on major global exchanges and obtain up-to-date financial data including income statements, balance sheets, and cash flow statements, are provided.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavior disclosure. It misleads by stating users can obtain financial data including income statements, balance sheets, and cash flow statements, which contradicts the tool's purpose of listing symbols. It also omits details about output format, pagination, or that only symbols are returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but has grammatical issues and a confusing dangling phrase ('are provided'). The first sentence is concise and informative; the second sentence repeats 'financial data' and does not earn its place due to ambiguity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter list tool, the description gives a high-level overview but fails to explicitly state that the output is a list of symbols. The confusing mention of financial data creates uncertainty. With no output schema or annotations, the description should have been clearer about the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the empty schema covers 100%. The baseline for 0 params is 4. The description adds contextual meaning about the symbols (companies with financial statements) but does not need to explain parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: a comprehensive list of companies with available financial statements, via the FMP Financial Statement Symbols List API. It distinguishes this from siblings like getCompanySymbols by specifying the financial statement filter. However, the second sentence ambiguously mentions obtaining financial data, which could imply the tool returns statements rather than symbols.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use cases: finding companies on major global exchanges with available financial statements. It does not explicitly state alternatives or when not to use the tool, leaving the agent to infer from context. There is no mention of sibling tools or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getFMPArticlesBInspect
Access the latest articles from Financial Modeling Prep with the FMP Articles API. Get comprehensive updates including headlines, snippets, and publication URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 0) | |
| limit | No | Limit on number of results (default: 20) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses the return fields (headlines, snippets, URLs), which is helpful. However, it does not mention pagination behavior, rate limits, or the exact time scope of 'latest', leaving gaps in behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise at two sentences. The first sentence is slightly verbose but not excessive; the second sentence adds useful details. No redundant information is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with only two optional parameters and no output schema, the description covers core functionality and return content. However, the large sibling context of news tools creates ambiguity, as the description does not clarify how 'FMP Articles' differs from other news sources, making it minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes both parameters (page and limit) with defaults, so the description does not need to add much. It adds no extra context about how pagination interacts with article recency or ordering, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (FMP Articles API) and the action (access latest articles), mentioning return content (headlines, snippets, URLs). It is specific enough to distinguish from generic news tools, though it could explicitly differentiate from getGeneralNews.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many similar news endpoints like getGeneralNews, getStockNews, or getCryptoNews. No alternatives, exclusions, or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getForex1HourDataBInspect
Track forex price movements over the trading day with the 1-Hour Forex Interval Chart API. This tool provides hourly intraday data for currency pairs, giving a detailed view of trends and market shifts.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Forex pair symbol (e.g., EURUSD) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It does not mention the return format (e.g., OHLCV candles), date range behavior, pagination, or any limitations. The description is promotional ('detailed view of trends') rather than informative about actual behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences but contains redundancy: 'Track forex price movements' and 'provides hourly intraday data' convey similar information. It could be condensed to a single, more direct sentence without losing value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must stand alone to explain what the tool returns. It does not state that it returns hourly candles/OHLC data, how the from/to parameters affect the result, or whether the data is real-time or historical. This leaves significant gaps for an agent deciding whether to invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all three parameters (to, from, symbol), so the schema already documents their meanings. The description adds no extra parameter semantics beyond referring to 'currency pairs', which the schema's symbol example already implies. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides hourly intraday data for currency pairs, specifying the resource (forex) and interval (1-hour), which distinguishes it from 1-minute and 5-minute forex siblings. The verb 'track' is slightly vague, but 'provides' clarifies the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for hourly intraday analysis but does not explicitly contrast with alternative intervals (e.g., getForex1MinuteData, getForex5MinuteData) or state when not to use this tool. Given the sibling list, explicit guidance would improve clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getForex1MinuteDataAInspect
Access real-time 1-minute intraday forex data with the 1-Minute Forex Interval Chart API. Track short-term price movements for precise, up-to-the-minute insights on currency pair fluctuations.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Forex pair symbol (e.g., EURUSD) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It claims 'real-time' data and 'precise, up-to-the-minute insights', but does not disclose limitations, data range, update frequency, or response format. The phrase 'real-time' is a behavioral claim but lacks supporting detail, so the description adds little beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and appropriately sized, but the second sentence ('Track short-term price movements...') is somewhat generic and adds minimal substantive value. The key information is front-loaded in the first sentence, making it efficient but not maximally informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (3 parameters, no output schema) and high schema coverage, the description is adequate but not complete. It does not explain the return data structure, whether historical data is available, or any timezone/format nuances, which are relevant for an intraday data tool. This is a clear gap in contextual completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters. The description does not add any extra meaning beyond the schema, such as value formats or relationships between 'from' and 'to' dates. Baseline of 3 applies since schema covers the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Access real-time 1-minute intraday forex data' with a specific verb and resource, and explicitly mentions the 1-minute interval, distinguishing it from sibling tools like getForex1HourData and getForex5MinuteData.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for tracking short-term price movements and up-to-the-minute insights, providing clear context on when to use this 1-minute data tool. However, it does not explicitly mention alternatives or situations where longer intervals would be preferable, so it lacks exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getForex5MinuteDataCInspect
Track short-term forex trends with the 5-Minute Forex Interval Chart API. Access detailed 5-minute intraday data to monitor currency pair price movements and market conditions in near real-time.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Forex pair symbol (e.g., EURUSD) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It mentions '5-minute intraday data' and 'near real-time', but does not clarify the exact data shape (OHLC, volume), timezone handling, or potential limitations. No contradictions with annotations exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences but contains redundancy: 'Track short-term forex trends' and 'Access detailed 5-minute intraday data' overlap. It could be condensed to a single informative sentence. No structural issues, but not maximally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a moderately complex tool with no output schema, the description is incomplete. It fails to specify what the returned data contains (e.g., OHLC values, timestamps), any date range constraints, or how the 'from' and 'to' parameters interact. The minimal description leaves the agent guessing about the tool's full capabilities.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters (symbol, from, to) have descriptions. The tool description adds no additional meaning beyond the schema. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing 5-minute intraday forex data for tracking short-term trends. It uses active verbs like 'track' and 'access', and the mention of '5-Minute' distinguishes it from sibling interval tools like 1-minute or 1-hour variants. However, it could be more direct about the retrieval function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for short-term trend monitoring but does not explicitly state when to prefer this over sibling tools (e.g., getForex1MinuteData for more granular data or getForex1HourData for longer intervals). No exclusions or alternative guidance are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getForexBatchQuotesBInspect
Easily access real-time quotes for multiple forex pairs simultaneously with the Batch Forex Quotes API. Stay updated on global currency exchange rates and monitor price changes across different markets.
| Name | Required | Description | Default |
|---|---|---|---|
| short | No | Optional boolean to get short quotes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must disclose behavioral traits, but it only mentions real-time data and 'monitor price changes.' It does not state that this is a read-only operation, any limitations, or what the response contains, leaving the agent without critical behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is concise and informative, but the second sentence ('Stay updated on global currency exchange rates and monitor price changes across different markets') is redundant marketing language that does not add factual content. It is not zero-waste, but the overall description is short.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a batch quotation tool, yet the description does not explain which forex pairs are covered, how to specify them, or what the response format is. There is no output schema or annotations to fill this gap, so the description is inadequate for an agent to fully understand the tool's behavior, especially given the unusual schema that lacks a pair-list parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for the sole 'short' parameter, so a baseline of 3 is applicable. The description does not clarify what 'short quotes' means or how the parameter affects the response, but since the schema describes it, the description adds no additional semantics but also does not harm.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it accesses 'real-time quotes for multiple forex pairs simultaneously,' which is a specific action on a clear resource. This distinguishes it from single-forex-pair tools and batch tools for other asset classes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for obtaining multiple forex quotes at once, but it does not explicitly state when to use this tool over the many sibling quote tools, nor does it provide exclusions or alternatives. The 'multiple forex pairs' hint gives some contextual guidance, but no direct comparison to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getForexHistoricalFullChartAInspect
Access comprehensive historical end-of-day forex price data with the Full Historical Forex Chart API. Gain detailed insights into currency pair movements, including open, high, low, close (OHLC) prices, volume, and percentage changes.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Forex pair symbol (e.g., EURUSD) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden but only discloses the returned data fields (OHLC, volume, percentage changes). It does not mention pagination, date range handling, output format, timezone, or any other behavioral traits, leaving gaps for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and reasonably concise. The phrase 'Gain detailed insights into currency pair movements' is slightly ornamental, but the rest is informative and front-loaded with the key purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple 3-parameter tool with no output schema and no annotations. The description is adequate for basic understanding but lacks details about return structure, optional parameters, date range defaults, and any rate limits or restrictions, making it only moderately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, and the description does not add extra semantics beyond what the schema already provides. It mentions the data fields but doesn't elaborate on symbol, from, or to format, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses 'comprehensive historical end-of-day forex price data' via the 'Full Historical Forex Chart API', which is a specific verb-resource pairing. It also lists the data fields (OHLC, volume, percentage changes), helping to distinguish it from lighter or real-time siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for historical end-of-day data, but it never explicitly states when to prefer this over alternatives like getForexHistoricalLightChart or intraday forex endpoints. There is no when-not-to-use guidance or mention of alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getForexHistoricalLightChartAInspect
Access historical end-of-day forex prices with the Historical Forex Light Chart API. Track long-term price trends across different currency pairs to enhance your trading and analysis strategies.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Forex pair symbol (e.g., EURUSD) |
Tool Definition Quality
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 discloses that the data is end-of-day and historical, which is useful, but it does not explain what 'light' means (e.g., limited fields or data points), nor does it mention response format, pagination, or any limitations. This is a significant gap for a tool with no other behavioral documentation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action, and every sentence adds context. No fluff or repetition of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain what the tool returns; it does not. While it gives enough to invoke correctly (symbol with optional dates), it lacks details on response structure, the 'light' vs 'full' distinction, or any limits. For a moderately simple tool, this is adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with clear descriptions for all three parameters including a symbol example and date formats. The description adds no additional parameter meaning beyond what the schema provides, so it meets the baseline but does not compensate further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses historical end-of-day forex prices, which distinguishes it from intraday sibling tools like getForex1MinuteData and getForex5MinuteData. However, it does not explicitly contrast with getForexHistoricalFullChart, relying on the 'light' naming to imply the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use for long-term price trends and end-of-day analysis. It does not explicitly exclude alternatives or name when not to use it, but the use case is well implied for a historical daily data tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getForexListBInspect
Access a comprehensive list of all currency pairs traded on the forex market with the FMP Forex Currency Pairs API. Analyze and track the performance of currency pairs to make informed investment decisions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It states that the tool returns a comprehensive list of currency pairs, which conveys the basic operation. However, it does not disclose the return format (e.g., symbols only vs. additional metadata), whether the list includes inactive pairs, or any rate-limit or authentication considerations. For a simple no-parameter list tool, this is adequate but lacking in depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two sentences. The first sentence is informative and specific, but the second is generic marketing language ('Analyze and track the performance...') that adds little value. It is not overly long, but it could be tightened to a single, more direct statement about what the tool returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema and no annotations, the description should explain what the returned list contains (e.g., currency pair codes, names, or additional data). It only says 'comprehensive list,' which leaves the agent uncertain about the data structure and whether it can be used directly with other tools like getForexQuote. This is a significant gap for a no-parameter tool where the description is the only source of context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty with 100% coverage. According to the rubric, the baseline is 4 for no parameters. The description adds no parameter-specific meaning because there are no parameters to explain, but it correctly implies that no inputs are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's primary function: accessing a comprehensive list of all forex currency pairs. It identifies the resource (currency pairs), the market (forex), and the API source, making it distinct from sibling tools like getForexQuote or getForexHistoricalFullChart which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 implies it should be used when you need the list of currency pairs, but it does not mention other forex-related tools (e.g., getForexQuote for price quotes) or exclusions. The final sentence about investment decisions is too general to serve as actionable usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getForexNewsCInspect
Stay updated with the latest forex news articles from various sources using the FMP Forex News API. Access headlines, snippets, and publication URLs for comprehensive market insights.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| page | No | Page number (default: 0) | |
| limit | No | Limit on number of results (default: 20, max: 250) |
Tool Definition Quality
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 'various sources' and lists return fields, but does not disclose pagination behavior, date range defaults, rate limits, or output structure beyond the listed fields. The phrase 'comprehensive market insights' adds no concrete behavioral information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with two clauses, concise and front-loaded with the main purpose. The phrase 'comprehensive market insights' is somewhat filler, but it does not significantly bloat the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple news-listing tool, the description covers the basic resource and content types, but it lacks usage guidance and does not explain default behavior or pagination. The presence of sibling tools like searchForexNews makes the missing distinction more significant, leaving the description adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all four parameters with descriptions (100% coverage), so the baseline is 3. The description does not add extra semantics for to/from/page/limit, leaving the schema as the sole source of parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves latest forex news articles and lists content types (headlines, snippets, publication URLs). It differentiates from stock/crypto news by specifying 'forex', but does not explicitly distinguish from the sibling searchForexNews tool, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 searchForexNews, getStockNews, or getGeneralNews. It lacks any context about prerequisites, recommended use cases, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getForexQuoteBInspect
Access real-time forex quotes for currency pairs with the Forex Quote API. Retrieve up-to-date information on exchange rates and price changes to help monitor market movements.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Forex pair symbol (e.g., EURUSD) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so description carries full burden. It adds real-time/up-to-date framing and mentions price changes, but lacks detail on response format, delay/availability, or error behavior. For a simple read-only quote tool this is minimal but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action. The second sentence partially restates the first but adds the 'monitor market movements' purpose; overall no wasted content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should clarify return value shape and distinguish from similar siblings like getForexQuotes, getForexShortQuote, and getForexBatchQuotes. It does neither, leaving the agent to guess whether this is the single-quote variant and what the response contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'symbol' parameter is already fully documented in the schema with example 'EURUSD'. Description adds no additional parameter semantics beyond the term 'currency pairs', so baseline 3 applies due to high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it accesses real-time forex quotes for currency pairs and retrieves exchange rates/price changes. Verb+resource is specific ('Access real-time forex quotes'), but it does not explicitly distinguish from sibling tools like getForexQuotes or getForexShortQuote.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied use case is monitoring market movements, but no explicit guidance on when to choose this over alternatives. No mention of batch vs single quote, historical vs real-time, or exclusions. Sibling tools with similar names are not referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getForexQuotesBInspect
Retrieve real-time quotes for multiple forex currency pairs with the FMP Batch Forex Quote API. Get real-time price changes and updates for a variety of forex pairs in a single request.
| Name | Required | Description | Default |
|---|---|---|---|
| short | No | Whether to use short format |
Tool Definition Quality
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 only states that the tool gets real-time price changes and updates, but does not disclose response format, error behavior, rate limits, or the meaning of the 'short' parameter. For a tool with no output schema, this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, consisting of two sentences that state the purpose and the batch capability. There is no redundant information or verbose language, making it efficient and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple with one boolean parameter fully documented in the schema, but it lacks an output schema. The description does not explain what the response looks like (e.g., structure of returned quotes), which would be useful. However, for a straightforward quote-retrieval tool, the description is minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides a 100% description for the single 'short' parameter ('Whether to use short format'), so the baseline is 3. The tool description does not add any additional semantic detail beyond what the schema already states, such as what 'short format' entails or when to set it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves real-time quotes for multiple forex currency pairs, using a specific verb and resource. It distinguishes from single-quote tools by emphasizing 'multiple' and 'single request', but does not differentiate from the sibling tool 'getForexBatchQuotes', which likely covers the same functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving multiple forex pairs at once ('in a single request'), but it does not explicitly state when to use this tool versus alternatives like getForexQuote or getForexBatchQuotes. There is no exclusionary guidance or mention of conditions where a different tool would be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getForexShortQuoteAInspect
Quickly access concise forex pair quotes with the Forex Quote Snapshot API. Get a fast look at live currency exchange rates, price changes, and volume in real time.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Forex pair symbol (e.g., EURUSD) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry behavioral transparency. It discloses that it returns live exchange rates, price changes, and volume in real time, but does not describe limitations, return format, or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary purpose. It contains no unnecessary words, though 'concise' and 'Snapshot' are slightly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and no output schema. The description adequately conveys the core functionality and return data, though it could clarify what 'short' means relative to full quote tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of the single parameter with a clear description. The tool description does not add any additional parameter information beyond what schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing quick, concise forex pair quotes using a snapshot API. It specifies the resource (forex pair quotes) and distinguishes it from full quote tools via 'concise' and 'fast look.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for quick snapshots of forex rates but does not explicitly state when to prefer this over sibling tools like getForexQuote or getForexQuotes. No exclusions or alternative comparisons are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getForm13FFilingDatesBInspect
The Form 13F Filings Dates API allows you to retrieve dates associated with Form 13F filings by institutional investors. This is crucial for tracking stock holdings of institutional investors at specific points in time, providing valuable insights into their investment strategies.
| Name | Required | Description | Default |
|---|---|---|---|
| cik | Yes | CIK number |
Tool Definition Quality
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 only says 'retrieve dates' and does not disclose what input is required (CIK), what exact dates are returned (filing date vs period of report), or any pagination/error behavior. The read-only nature is only implied by the verb 'retrieve'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is serviceable and front-loaded, but the second sentence is marketing language ('This is crucial...') that does not help an agent invoke the tool. The description is short but wastes a sentence on generic value statements.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema or annotations, the description should clarify what the returned dates represent (e.g., filing date vs period of report) and that the CIK identifies the institutional investor. It does not, leaving the description incomplete for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, cik, is fully described in the schema as 'CIK number,' and the description adds no additional meaning about how CIK relates to the tool or how to format it. Since schema coverage is 100%, the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool 'retrieve[s] dates associated with Form 13F filings by institutional investors'—a specific verb and resource. However, it does not distinguish the tool from siblings like getFundDisclosureDates or getFilingsByCIK, and it omits that the input is a CIK.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence provides clear context: the tool is useful for tracking institutional stock holdings at specific points in time. It does not, however, explicitly mention alternatives or when-not-to-use conditions, so it stops short of full selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getFullChartCInspect
Access full price and volume data for any stock symbol using the FMP Comprehensive Stock Price and Volume Data API. Get detailed insights, including open, high, low, close prices, trading volume, price changes, percentage changes, and volume-weighted average price (VWAP).
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for behavior. It lists output fields but omits key behavioral context such as whether data is daily adjusted, what date range defaults apply, how from/to interact, error behavior, or rate limits. The phrase 'full price and volume data' is vague and does not reveal the actual data structure or caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the primary purpose, and lists relevant data fields without excessive fluff. Every sentence earns its place, and there is no redundant repetition of the tool name or schema descriptions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should describe the return structure more fully, but it only lists a few fields. Additionally, it does not place the tool in the context of its many chart-related siblings (e.g., getLightChart, getHistoricalIndexFullChart, getIntradayChart), leaving the agent unclear about when to prefer this tool. The description is incomplete for a tool with this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds some meaning by clarifying the type of data returned (OHLCV, VWAP), but it does not elaborate on the semantics of 'from' and 'to' beyond what the schema already states. It neither compensates for gaps nor adds significant value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses 'full price and volume data for any stock symbol' and lists key fields (open, high, low, close, volume, changes, VWAP). This is a specific verb+resource and is more detailed than a tautology. However, it does not explicitly differentiate from sibling chart tools like getLightChart or getIntradayChart, so it misses full points for sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives. It implies usage for full historical chart data, but with many sibling chart and quote tools, there is no mention of exclusions, preferred scenarios, or when to prefer a sibling tool. This is a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getFundAssetExposureBInspect
Discover which ETFs hold specific stocks with the FMP ETF Asset Exposure API. Access detailed information on market value, share numbers, and weight percentages for assets within ETFs.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Fund symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only operation through words like 'Discover' and 'Access', which is appropriate for this type of API. However, with no annotations provided, the description does not disclose additional behavioral traits such as authentication requirements, rate limits, error handling, or the fact that no side effects occur. It provides minimal information beyond the informational nature of the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, composed of two sentences that front-load the main purpose and then provide detail on the returned data. There is no fluff or redundancy, and every clause contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool with 100% schema coverage, the description covers the core purpose and key return fields (market value, share numbers, weight percentages). However, since there is no output schema, the description could have been more explicit about the response structure or any limitations, but the tool's simplicity keeps it close to complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides a clear description for the 'symbol' parameter ('Fund symbol'), giving 100% coverage. The tool description adds context by mentioning 'specific stocks' and 'assets within ETFs', which helps clarify that the symbol refers to an ETF/fund. This is a slight enhancement, but not substantial beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool discovers which ETFs hold specific stocks and provides market value, share numbers, and weight percentages for assets within ETFs. This clearly identifies the resource and the type of information returned, but the phrasing 'which ETFs hold specific stocks' could be misleading because the input is a fund symbol, not a stock symbol. It distinguishes itself by referencing 'FMP ETF Asset Exposure API', though without naming sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as getFundHoldings or getFundSectorWeighting. The description simply states what the tool does without providing context on use cases, exclusions, 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.
getFundCountryAllocationBInspect
Gain insight into how ETFs and mutual funds distribute assets across different countries with the FMP ETF & Fund Country Allocation API. This tool provides detailed information on the percentage of assets allocated to various regions, helping you make informed investment decisions.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Fund symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of transparency. It discloses that the tool returns the percentage of assets allocated to regions, which suggests a read-only operation, but it does not describe the response structure, whether data is historical or current, or any limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, but it contains promotional fluff ('Gain insight', 'helping you make informed investment decisions') and redundancy ('This tool provides detailed information' echoes the first sentence). It could be more concise without losing substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description provides a reasonable overview of what is returned (percentages by region). However, it does not specify the return format (list vs. single object), naming conventions for countries, or whether the tool expects an ETF symbol versus a mutual fund symbol.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes the single 'symbol' parameter as 'Fund symbol' with 100% coverage. The description adds context that the tool applies to ETFs and mutual funds, but it does not provide examples, format requirements, or additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool provides percentage asset allocation by country for ETFs and mutual funds, which differentiates it from related tools like getFundSectorWeighting. However, it uses vague verbs like 'Gain insight' instead of a direct action verb such as 'Returns' or 'Gets'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies it should be used when needing country-level allocation data for funds, but it does not explicitly state when to use it versus alternatives, nor does it mention exclusions or prerequisites. The context is clear but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getFundDisclosureBInspect
Access comprehensive disclosure data for mutual funds with the FMP Mutual Fund Disclosures API. Analyze recent filings, balance sheets, and financial reports to gain insights into mutual fund portfolios.
| Name | Required | Description | Default |
|---|---|---|---|
| cik | No | Optional CIK number | |
| year | Yes | Year | |
| symbol | Yes | Fund symbol | |
| quarter | Yes | Quarter |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full responsibility. It implies a read-only operation ('Access', 'Analyze') and hints at data scope ('recent filings'), but it doesn't disclose limitations, prerequisites, or response format. This gives some transparency but not enough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, free of unnecessary verbosity. It front-loads the main purpose and gives a secondary insight into usage. No wasted words, though 'comprehensive' is slightly fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters (3 required), no output schema, and no annotations, the description should provide more context. It doesn't explain what the response looks like, why year and quarter are needed, or how the optional CIK interacts. It's adequate for a basic understanding but leaves gaps for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (every parameter has a minimal description), so the baseline is 3. The description adds context about the domain (mutual funds, filings) but doesn't clarify the exact role of each parameter, particularly the optional CIK number. It doesn't go beyond the schema labels significantly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Access' with a clear resource ('disclosure data for mutual funds') and further specifies the data type ('recent filings, balance sheets, financial reports'). However, it doesn't explicitly distinguish from sibling tools like getFundDisclosureDates or getFundHoldings, so it's clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't mention what makes this tool unique, nor does it suggest conditions or alternatives. This is a clear gap given the large sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getFundDisclosureDatesCInspect
Retrieve detailed disclosures for mutual funds and ETFs based on filing dates with the FMP Fund & ETF Disclosures by Date API. Stay current with the latest filings and track regulatory updates effectively.
| Name | Required | Description | Default |
|---|---|---|---|
| cik | No | Optional CIK number | |
| symbol | Yes | Fund symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It only says 'Retrieve' which implies a safe read, but it does not describe the output format, pagination, rate limits, or any other behavioral traits. Additionally, the claim 'based on filing dates' conflicts with the input schema, which only includes symbol and cik with no date parameters, creating confusion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the main purpose. The second sentence is somewhat fluffy ('Stay current with the latest filings and track regulatory updates effectively') and adds little concrete information, but overall it remains concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool lacks an output schema and annotations, and the description fails to explain what 'detailed disclosures' means, how CIK interacts with symbol, or how filing dates factor in given the schema. This is insufficient for an agent to use the tool correctly, especially given the conflicting date mention.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does not add any extra meaning beyond the schema's simple descriptions of 'Fund symbol' and 'Optional CIK number.' It even introduces a misleading date-based concept not reflected in the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Retrieve detailed disclosures') and the resource ('mutual funds and ETFs'), making the core purpose understandable. However, it does not differentiate from sibling tools like getFundDisclosure or searchFundDisclosures, which likely perform similar retrieval functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It only says to 'stay current with the latest filings,' which is a vague goal rather than a specific use case or exclusion criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getFundHoldingsAInspect
Get a detailed breakdown of the assets held within ETFs and mutual funds using the FMP ETF & Fund Holdings API. Access real-time data on the specific securities and their weights in the portfolio, providing insights into asset composition and fund strategies.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Fund symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the full burden of behavioral disclosure. It states that data is 'real-time' and includes 'specific securities and their weights', providing some behavioral context. However, it does not mention response size, potential missing data for some funds, pagination, or rate limits, which are relevant for an agent invoking the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two sentences front-loading the core action. The phrase 'providing insights into asset composition and fund strategies' is somewhat redundant with 'detailed breakdown' and could be trimmed, but overall it is efficient and free of excess verbiage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, no annotations, no output schema), the description provides sufficient context. It explains what data is returned (securities and weights) and the real-time nature. It could be more explicit about the output structure, but for a straightforward holdings query, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the sole parameter 'symbol' with 100% coverage, so the baseline is 3. The description does not add meaningful detail about parameter formatting or accepted values beyond implying that the symbol should be for an ETF or mutual fund, which is already captured by the schema's 'Fund symbol' description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it retrieves a detailed breakdown of assets held within ETFs and mutual funds, including specific securities and their weights. This distinguishes it from related sibling tools like getFundSectorWeighting or getFundCountryAllocation by focusing on individual holdings rather than aggregated allocations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by describing the tool's domain (ETF and mutual fund holdings), but it offers no explicit guidance on when to use this tool over siblings such as getEtfHoldersBulk or getFundInfo. It does not provide exclusions or alternative suggestions, leaving the agent to infer appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getFundInfoBInspect
Access comprehensive data on ETFs and mutual funds with the FMP ETF & Mutual Fund Information API. Retrieve essential details such as ticker symbol, fund name, expense ratio, assets under management, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Fund symbol |
Tool Definition Quality
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 discloses that the tool retrieves essential fund details, but it does not mention return format, pagination, or any special behavioral traits. It adds some context by listing example fields, but lacks depth about what 'comprehensive data' includes or how results are structured.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise, front-loaded sentences. The first sentence names the API and resource, and the second lists example fields. Every word earns its place with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool without an output schema, the description provides a basic purpose and example fields, but it omits details about the return structure and does not explain how it relates to the many sibling fund tools. Given the absence of annotations and output schema, the description could be more complete but is not severely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides a clear description for the single 'symbol' parameter with 100% coverage. The description mentions 'ticker symbol' but does not add format or validation details beyond the schema, so the baseline 3 applies as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses comprehensive data on ETFs and mutual funds, listing example fields like ticker symbol, fund name, expense ratio, and AUM. It is specific about the resource type, but it doesn't explicitly distinguish itself from sibling tools like getETFList or getMutualFundQuotes, so the purpose is clear but not uniquely differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternative fund-related tools. There is no mention of exclusions, prerequisites, or suggested use cases, leaving the agent to infer usage solely from the tool name and general description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getFundSectorWeightingAInspect
The FMP ETF Sector Weighting API provides a breakdown of the percentage of an ETF's assets that are invested in each sector. For example, an investor may want to invest in an ETF that has a high exposure to the technology sector if they believe that the technology sector is poised for growth.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Fund symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool returns percentage weights per sector and explicitly scopes it to ETFs, but it does not mention behavior for non-ETF symbols, data source, update frequency, or return format. It adds some value but lacks richer behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, with the second being an illustrative example. The description is efficient and front-loaded, though the example is somewhat optional. Still, it earns its place by reinforcing usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one parameter, no output schema) and clear purpose, the description is adequate. It explains the core functionality and provides an example, but slightly more detail about return structure or limitations would make it fully complete. It is not as under-specified as tools in lower tiers.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with 'symbol' described as 'Fund symbol'. The description adds minimal extra semantic value by implying the symbol should be an ETF, but does not provide format examples or additional parameter context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides a breakdown of ETF sector weighting percentages, using a specific verb ('provides') and resource ('sector weighting'). It distinguishes itself from sibling tools like getFundCountryAllocation and getFundAssetExposure by specifically focusing on sector weights.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool via an example (investor evaluating sector exposure), providing clear context. However, it does not explicitly mention alternatives or when not to use it, such as when needing country or asset allocation, leaving some room for ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getGeneralNewsAInspect
Access the latest general news articles from a variety of sources with the FMP General News API. Obtain headlines, snippets, and publication URLs for comprehensive news coverage.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| page | No | Page number (default: 0) | |
| limit | No | Limit on number of results (default: 20, max: 250) |
Tool Definition Quality
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 output content (headlines, snippets, URLs) but does not disclose behavior such as pagination handling, default limits, date filtering semantics, or any rate limits. This leaves important behavioral traits unaddressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the core purpose. Every sentence adds value, and there is no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only news tool with fully documented optional parameters, the description is fairly complete. It states the purpose, source variety, and key output fields. It does not explicitly explain pagination or default behaviors, but the schema already covers parameter details, so this is not a major gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of the parameters with clear descriptions, so the baseline is 3. The description adds no extra parameter-level detail beyond what the schema already provides, so it does not raise the score above the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses the latest general news articles from a variety of sources via the FMP General News API, and it lists the obtained elements (headlines, snippets, URLs). This distinguishes it from sibling news tools that focus on stock, crypto, or forex news.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'general news' implies when the tool should be used, but there is no explicit guidance about alternatives or exclusions. The description does not mention that for asset-specific news, users should use sibling tools like getStockNews, getCryptoNews, or getForexNews.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_hist_dataBInspect
Get historical stock market data. 'eastmoney_direct' support all A,B,H shares
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | Adjustment type | none |
| source | No | Data source | eastmoney |
| symbol | Yes | Stock symbol/ticker (e.g. '000001') | |
| end_date | No | End date in YYYY-MM-DD format | 2030-12-31 |
| interval | No | Time interval | day |
| recent_n | No | Number of most recent records to return | |
| start_date | No | Start date in YYYY-MM-DD format | 1970-01-01 |
| indicators_list | No | Technical indicators to add | |
| interval_multiplier | No | Interval multiplier |
Tool Definition Quality
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 only reveals that the 'eastmoney_direct' source supports A/B/H shares, but it does not state what the function returns, whether there are rate limits, how errors for unsupported symbols are handled, or how the multiple sources differ in behavior beyond share coverage. Given the tool has 9 parameters and no output schema, this is a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler words, making it concise and front-loaded. The first sentence establishes the core purpose, and the second adds a specific data-source note. However, the second sentence is grammatically fragmented ('eastmoney_direct' support all A,B,H shares'), which slightly reduces clarity. It earns a 4 for efficiency but not a 5 due to the awkward phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This tool has 9 parameters, no output schema, and no annotations, so the description needs to compensate significantly. It fails to explain return formats, the meaning of key parameters like interval_multiplier or recent_n, or the practical differences between sources. The schema alone covers syntax but not usage semantics. For a tool with this complexity, the description is severely under-specified, earning a 2.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with descriptions, establishing a baseline of 3. The description adds value by clarifying that the 'source' parameter, specifically 'eastmoney_direct', supports all A/B/H shares, which is not obvious from the schema's enum list. This enriches parameter understanding beyond the structured data, warranting a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb and resource: 'Get historical stock market data.' It states what the tool does without ambiguity, but it does not differentiate from sibling tools like getFullChart, getCandlesticks, or getHistoricalIndexFullChart, which also fetch historical market data. The added detail about 'eastmoney_direct' hints at a specific niche (A/B/H shares) but doesn't explicitly separate it from alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'eastmoney_direct support all A,B,H shares' implies a usage context — if you need data for A/B/H shares, use this source. However, the description provides no explicit 'when to use' guidance and does not mention alternative tools or scenarios where this tool should be avoided. It relies on the agent inferring usage from this single hint, which is a weak form of guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getHistoricalDowJonesChangesAInspect
Access historical data for the Dow Jones Industrial Average using the Historical Dow Jones API. Analyze changes in the index’s composition and study its performance across different periods.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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 does not state whether the tool returns time-series data, what format, or any limitations, focusing instead on user-oriented activities like 'analyze' and 'study' rather than the tool's actual behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no extraneous words. It front-loads the main action and resource, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, but in the absence of an output schema, the description should explain what the returned data looks like or what kind of historical data is included. It mentions 'changes in composition' and 'performance across periods', which is helpful, but lacks specificity about return structure or data granularity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema is already fully descriptive. According to the rubric, a baseline of 4 is appropriate for zero-parameter tools, and the description does not need to add parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it provides historical data for the Dow Jones Industrial Average, with verbs 'Access' and 'Analyze' that distinguish it from sibling tools covering other indices (e.g., getHistoricalSP500Changes). This is specific and informative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly tells when to use it (whenever Dow Jones historical data is needed) and provides clear context for performance and composition analysis. However, it does not explicitly mention alternatives or exclusions, so it falls short of a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getHistoricalEmployeeCountCInspect
Access historical employee count data for a company based on specific reporting periods. The FMP Company Historical Employee Count API provides insights into how a company’s workforce has evolved over time, allowing users to analyze growth trends and operational changes.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit on number of results (default: 100, max: 10000) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It merely states it 'Accesses historical employee count data' without mentioning whether it is read-only, any rate limits, pagination behavior, or what the response structure contains. The 'specific reporting periods' are vaguely referenced but not clarified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and mostly focused. The first sentence defines the tool's purpose, while the second adds context about growth trends and operational changes. The mention of 'FMP Company Historical Employee Count API' is somewhat redundant but not excessive. It is concise overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple data-retrieval tool with two well-documented parameters, the description provides adequate but not rich context. It fails to explain what 'reporting periods' means or what the response contains, and it does not distinguish from the sibling getEmployeeCount tool. Given the lack of output schema, more detail about return values would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes both parameters (symbol and limit) with clear descriptions, so schema coverage is 100%. The description adds no additional parameter detail beyond what the schema provides, warranting the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses historical employee count data for a company using 'specific reporting periods', which is a specific verb+resource combination. However, it does not explicitly differentiate from the sibling tool 'getEmployeeCount' (likely current data), so it misses the opportunity to distinguish between historical and current employee count tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 phrase 'allowing users to analyze growth trends' implies some use cases, but there is no explicit 'use this for historical, use getEmployeeCount for current' or any exclusionary criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getHistoricalIndexFullChartAInspect
Access full historical end-of-day prices for stock indexes using the Detailed Historical Price Data API. This API provides comprehensive information, including open, high, low, close prices, volume, and additional metrics for detailed financial analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Index symbol (e.g., ^GSPC for S&P 500) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It discloses the data provided (open, high, low, close, volume, metrics) and the 'end-of-day' timeframe, but does not discuss return format, rate limits, or any query restrictions beyond parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first states the action, the second lists data content. It is efficient, though 'using the Detailed Historical Price Data API' adds minor redundancy and could be trimmed without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 params, no output schema, no annotations), the description adequately covers purpose and data fields. It lacks explicit return format details but is otherwise complete for a straightforward historical data retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter (symbol, from, to) already described in the input schema. The description adds no new parameter semantics beyond saying 'stock indexes', so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses full historical end-of-day prices for stock indexes, with a specific verb and resource. It distinguishes itself from sibling tools like getHistoricalIndexLightChart by using 'full' and listing detailed data fields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. While it implies use for detailed index historical analysis, it does not mention exclusions or alternative tools, leaving the agent to infer from the name and data content.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getHistoricalIndexLightChartCInspect
Retrieve end-of-day historical prices for stock indexes using the Historical Price Data API. This API provides essential data such as date, price, and volume, enabling detailed analysis of price movements over time.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Index symbol (e.g., ^GSPC for S&P 500) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits itself. It mentions returned fields (date, price, volume) but fails to explain what 'light' means relative to the full chart, nor does it address output structure, limitations, or authentication. This is a significant gap for a read tool with an unspecified return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences and front-loads the main action. The phrase 'using the Historical Price Data API' is somewhat redundant and adds little value, but the overall length is appropriate and structured effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and a sibling that likely differs only in data granularity, the description is incomplete. It fails to clarify what differentiates 'light' from 'full', and does not describe the response shape or pagination, leaving an agent uncertain about the tool's practical behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with clear descriptions for all three parameters (symbol, from, to). The tool description adds no additional parameter-level meaning beyond what the schema already documents, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves end-of-day historical prices for stock indexes, naming the resource and data fields. However, it does not distinguish itself from the sibling getHistoricalIndexFullChart, so it misses the top score for sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives like getHistoricalIndexFullChart or intraday index chart tools. The description only implies a use case for end-of-day analysis, offering no exclusions or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getHistoricalIndustryPEBInspect
Access historical price-to-earnings (P/E) ratios by industry using the Historical Industry P/E API. Track valuation trends across various industries to understand how market sentiment and valuations have evolved over time.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| exchange | No | Exchange (e.g., NASDAQ) | |
| industry | Yes | Industry (e.g., Biotechnology) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It only provides a high-level purpose and fails to mention response format, date range constraints, rate limits, or confirm the read-only nature of the operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the core function and followed by a brief purpose. Every word contributes value with no redundancy or irrelevant detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters and no output schema, the description is insufficiently complete. It does not explain how to use date ranges, exchanges, or industries, nor does it differentiate this tool from historical performance or snapshot competitors, leaving the agent with ambiguous guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does not add any meaning beyond the schema, but the schema descriptions are clear enough. The description neither compensates nor detracts from parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses historical P/E ratios by industry, using a specific verb and resource. It distinguishes from sector-based tools but does not explicitly name sibling alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a use case by mentioning tracking valuation trends, but it offers no explicit guidance on when to use this tool over similar siblings like getHistoricalSectorPE or getIndustryPESnapshot. No exclusions or alternative conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getHistoricalIndustryPerformanceAInspect
Access historical performance data for industries using the Historical Industry Performance API. Track long-term trends and analyze how different industries have evolved over time across various stock exchanges.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| exchange | No | Exchange (e.g., NASDAQ) | |
| industry | Yes | Industry (e.g., Biotechnology) |
Tool Definition Quality
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. It does not mention response format, date range defaults, required permissions, or any constraints beyond the parameters. The description only gives a high-level purpose and does not disclose operational behaviors expected for a historical data API.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, front-loading the core function in the first sentence and expanding on the use case in the second. It contains no filler, though it could be slightly more specific in the second sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (4 params, no output schema, no annotations), the description is adequate but lacks details on return values, date range behavior, or how 'performance data' is defined. It provides a high-level purpose but does not fully cover what the agent should expect when invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100% with each parameter having a description. The tool description adds little beyond the schema—it mentions 'across various stock exchanges' which loosely connects to the exchange parameter, but does not enhance understanding of the parameters or their usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses historical performance data for industries, using a specific verb 'Access' and resource 'Historical Industry Performance API'. It distinguishes from sibling tools like getIndustryPerformanceSnapshot by emphasizing 'historical' and 'long-term trends', and notes coverage 'across various stock exchanges'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: to 'Track long-term trends' and 'analyze how different industries have evolved over time'. This implies a use case distinct from snapshot or current data tools, though it does not explicitly name alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getHistoricalMarketCapBInspect
Access historical market capitalization data for a company using the FMP Historical Market Capitalization API. This API helps track the changes in market value over time, enabling long-term assessments of a company's growth or decline.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| limit | No | Limit on number of results (default: 100, max: 5000) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
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 only states that it accesses historical market cap data and helps track changes; it does not disclose the response format, pagination/limit behavior, date range handling, or that it is a read-only operation. This leaves key behavioral traits undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the core purpose and followed by a brief use-case statement. It is concise with no unnecessary filler, though the second sentence is somewhat generic.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the description should explain what the response contains and how the tool behaves. It does not mention return fields, output structure, default limit values, or any constraints, leaving significant gaps for a tool with four parameters and no structured output documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions for symbol, from, to, and limit, so the schema already explains parameter semantics. The description adds no additional parameter-level detail, making the baseline score of 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool accesses historical market capitalization data for a company, specifying the resource and the historical scope. It implicitly distinguishes itself from current-market-cap tools like getMarketCap by emphasizing 'historical' and 'changes in market value over time', though it does not explicitly name any sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for tracking market value changes over time and long-term assessments, which suggests when it might be used. However, it does not explicitly mention alternatives or when not to use it, relying on the word 'historical' to differentiate from peers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getHistoricalNasdaqChangesAInspect
Access historical data for the Nasdaq index using the Historical Nasdaq API. Analyze changes in the index composition and view how it has evolved over time, including company additions and removals.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It states the tool accesses historical data and analyzes changes, which conveys a read-only, analytical function. However, it does not disclose return format, date ranges, or any limitations, leaving some uncertainty about output shape or scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and relatively concise. The first sentence 'using the Historical Nasdaq API' is somewhat redundant and adds little value, but the second sentence provides concrete information about composition changes. Overall efficient, but not perfectly lean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and no output schema, the description is reasonably complete. It states the core functionality and the aspect of the data (composition changes). Minor gap: it does not explicitly mention what the output will look like, but given the simplicity, this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline for parameter semantics is 4. The description does not need to explain parameter syntax, and it adds no param-related details. The baseline is appropriate since no parameters exist to describe.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'Access' and 'Analyze' with the resource 'historical data for the Nasdaq index', and explicitly states the tool's focus on composition changes, additions, and removals. This differentiates it from sibling tools like getHistoricalSP500Changes or getHistoricalDowJonesChanges by naming the index.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case: when you need Nasdaq index historical composition changes, this is the tool. However, it does not explicitly mention alternatives or exclusions, such as 'for S&P 500 use getHistoricalSP500Changes'. This is clear context but lacks explicit when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getHistoricalRatingsBInspect
Track changes in financial performance over time with the FMP Historical Ratings API. This API provides access to historical financial ratings for stock symbols in our database, allowing users to view ratings and key financial metric scores for specific dates.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional limit on number of results (default: 1, max: 10000) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits, but it fails to mention pagination, default limit behavior beyond the schema, output format, authentication, or rate limits. It states the tool allows users to 'view ratings and key financial metric scores' but gives no indication of the response structure or any side effects (though likely read-only).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, but the first sentence is somewhat marketing-like and repeats the tool's name. The second sentence provides more detail but still contains redundancy (e.g., 'financial ratings' and 'ratings'). It is not overly verbose, but it could be more direct and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema and no annotations, the description should provide more context about the return structure, how limit affects results, and what 'key financial metric scores' entails. The description is too thin to fully understand the tool's behavior, especially for selecting the correct parameter values or interpreting the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage for both parameters (symbol and limit), including a description of limit's default and max values. The description adds minimal semantic value by mentioning 'specific dates' but does not explain how those dates are specified (e.g., via limit). Baseline 3 is appropriate since the schema already documents the parameters clearly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that this tool provides access to historical financial ratings for stock symbols, with a specific focus on viewing ratings and metric scores for specific dates. It distinguishes itself from sibling tools like getRatingsSnapshot through the word 'historical,' though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Track changes in financial performance over time' implies a use case, and the historical nature suggests it is for time-series analysis. However, there is no explicit guidance on when to use this tool instead of related tools like getRatingsSnapshot or getHistoricalStockGrades, nor any mention of exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getHistoricalSectorPEAInspect
Access historical price-to-earnings (P/E) ratios for various sectors using the Historical Sector P/E API. Analyze how sector valuations have evolved over time to understand long-term trends and market shifts.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| sector | Yes | Sector (e.g., Energy) | |
| exchange | No | Exchange (e.g., NASDAQ) |
Tool Definition Quality
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 conveys read-only retrieval of historical ratios through 'Access' and 'evolved over time,' but it does not disclose return format, data frequency, or behavior when date ranges are omitted. Given the absence of an output schema, this is a notable but not critical gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with front-loaded purpose; the first sentence is direct and informative. However, 'using the Historical Sector P/E API' is redundant filler that does not earn its place, preventing a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should clarify what the response contains. 'P/E ratios for various sectors' is a minimal indication but lacks detail on time-series ordering, default date ranges, and sector restrictions. It is adequate for basic tool selection but not fully complete for a 4-parameter read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all four parameters (100% coverage), so the description adds little beyond what is already structured. It mentions sectors and historical trends but does not elaborate on from/to or exchange semantics, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Access' with the resource 'historical price-to-earnings (P/E) ratios for various sectors,' clearly stating what the tool does. The terms 'historical' and 'sector' distinguish it from sibling tools like getSectorPESnapshot (current snapshot) and getHistoricalIndustryPE (industry-level), so it differentiates effectively.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence—'Analyze how sector valuations have evolved over time to understand long-term trends and market shifts'—provides a clear temporal analysis context that tells an agent when to use this tool. It does not explicitly name alternatives or exclusions, but the context is strong enough to guide selection among historical, snapshot, and industry-level siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getHistoricalSectorPerformanceBInspect
Access historical sector performance data using the Historical Market Sector Performance API. Review how different sectors have performed over time across various stock exchanges.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| sector | Yes | Sector (e.g., Energy) | |
| exchange | No | Exchange (e.g., NASDAQ) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. It only states that it accesses historical sector performance data and allows review of performance over time, but it does not mention response format, date-range behavior, or other relevant details. This is minimal transparency for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two short sentences. The first sentence is somewhat redundant with the tool name and includes the filler 'using the Historical Market Sector Performance API,' but the second sentence adds useful context about reviewing performance across exchanges. Overall, it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, and the description provides only a general sense of the returned data (sector performance over time). It does not explain what fields or format to expect, nor any limitations. This is incomplete for a tool with four parameters and no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage of the parameters (sector, from, to, exchange), so the baseline is 3. The description adds no additional meaning beyond the schema's field descriptions, but it does not need to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool accesses historical sector performance data and explains its purpose: reviewing sector performance over time across various stock exchanges. It distinguishes itself from sibling tools by emphasizing 'historical' and 'across various stock exchanges,' though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for reviewing historical sector performance data, but it provides no explicit guidance on when to use this tool versus alternatives like getHistoricalSectorPE or getSectorPerformanceSnapshot. No exclusions or alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getHistoricalSP500ChangesAInspect
Retrieve historical data for the S&P 500 index using the Historical S&P 500 API. Analyze past changes in the index, including additions and removals of companies, to understand trends and performance over time.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It says 'Retrieve' and mentions additions/removals, but it does not specify the response structure, whether it is read-only, any API limitations, or pagination behavior. The description is vague about what exactly is returned (index levels vs. change events).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loaded with the main action. The first sentence redundantly repeats the tool's name and API reference, but the second sentence adds useful detail about additions and removals. Overall, it is concise but could be tightened by removing the redundant API mention.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should provide a complete picture of what the tool returns. It mentions additions and removals but does not describe the data format, time range, or whether it includes historical index levels. Given the low complexity (0 params), it is adequate but has clear gaps in explaining the exact output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the input schema is empty (100% coverage). The baseline for 0 parameters is 4, and the description adds no confusing parameter information. It does not mislead, but it also does not add any behavioral value regarding parameters since there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves historical S&P 500 index data, specifically including additions and removals of companies. This distinguishes it from siblings like getHistoricalDowJonesChanges and getHistoricalNasdaqChanges, and the verb 'Retrieve' is specific and action-oriented.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for analyzing historical S&P 500 index changes, but it does not explicitly compare with alternatives such as getHistoricalDowJonesChanges or getHistoricalNasdaqChanges, nor does it state when not to use this tool. There is no direct 'use when' guidance or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getHistoricalStockGradesBInspect
Access a comprehensive record of analyst grades with the FMP Historical Grades API. This tool allows you to track historical changes in analyst ratings for specific stock symbols.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional limit on number of results (default: 100, max: 1000) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
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 only restates the purpose and does not mention return format, pagination, rate limits, or what data fields are included in the historical record, which 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is just two sentences and is easy to scan, but the second sentence largely restates the first ('comprehensive record' vs. 'track historical changes'). It is still appropriately sized and avoids true filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain what the analyst grade record contains and how the limit parameter behaves, but it does not. It is complete only for conveying the high-level purpose, not for setting expectations about the response or edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for both parameters (symbol and limit) with 100% coverage. The tool description only adds the phrase 'specific stock symbols,' which does not go beyond what the schema already states, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool accesses historical analyst grades and tracks rating changes for specific stock symbols. However, it does not distinguish itself from closely related siblings like getHistoricalRatings, getStockGrades, or getRatingsSnapshot, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for tracking historical analyst rating changes for a symbol, but it does not explicitly say when to use this tool versus alternatives, nor does it mention exclusions or prerequisites. Given the large number of sibling rating/grade tools, more explicit guidance would be helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getHolderIndustryBreakdownCInspect
The Holders Industry Breakdown API provides an overview of the sectors and industries that institutional holders are investing in. This API helps analyze how institutional investors distribute their holdings across different industries and track changes in their investment strategies over time.
| Name | Required | Description | Default |
|---|---|---|---|
| cik | Yes | CIK number | |
| year | Yes | Year of filing | |
| quarter | Yes | Quarter of filing (1-4) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose important behavioral traits such as whether this returns historical trends, single-period data, or any limitations. It mentions 'track changes over time' but gives no details about data source (e.g., 13F filings), time range constraints, or how the breakdown is structured.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, with no significant fluff. The first sentence is a bit generic, but the second adds value by explaining the analytical purpose. It is appropriately sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema, three required parameters, and no annotations, the description should clarify the expected output, how to interpret the industry breakdown, and the exact meaning of CIK. It does not, leaving the agent to guess critical details about invocation and result interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with basic descriptions (CIK number, Year of filing, Quarter of filing), so the baseline is 3. However, the description adds no meaning beyond the schema and does not clarify that 'cik' likely refers to the institutional holder's CIK, which is a critical semantic gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool provides an overview of sectors/industries that institutional holders invest in, which conveys the general resource. However, it lacks a specific verb like 'get' or 'retrieve' and does not distinguish this from sibling tools like getFundSectorWeighting or getHolderPerformanceSummary, making the exact action and scope ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, nor any mention of prerequisites or context for using the CIK, year, and quarter parameters. The description only implies it is for analyzing institutional holder industry breakdowns without specifying suitable scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getHolderPerformanceSummaryCInspect
The Holder Performance Summary API provides insights into the performance of institutional investors based on their stock holdings. This data helps track how well institutional holders are performing, their portfolio changes, and how their performance compares to benchmarks like the S&P 500.
| Name | Required | Description | Default |
|---|---|---|---|
| cik | Yes | CIK number | |
| page | No | Page number (default: 0) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It does not mention that this is a read-only operation, return format, pagination behavior, or any required permissions. This leaves significant gaps for the agent to infer safety and side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, reasonably concise, but the second sentence ('This data helps track...') is somewhat redundant with the first and adds fluff. Not every sentence earns its place, though it is not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must convey what the response contains. It vaguely mentions performance, portfolio changes, and benchmarks but does not specify concrete output fields or structure. For a simple 2-parameter tool, the description is minimally adequate but leaves the agent guessing about the exact return.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and parameters are documented (CIK number, page number with default). The description adds no extra meaning beyond the schema, such as clarifying that the CIK refers to the institutional holder. Baseline 3 applies because schema covers all parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool provides insights into institutional investor performance based on holdings, but uses vague language like 'provides insights' rather than a specific action verb. It distinguishes somewhat from siblings by focusing on performance and benchmarks, but does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like getHolderIndustryBreakdown or getFundHoldings. It mentions what the data helps track but does not provide context for choosing this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getHolidaysByExchangeBInspect
Access holiday schedules for specific stock exchanges using the Global Exchange Market Hours API. Find out the dates when global exchanges are closed for holidays and plan your trading activities accordingly.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date for the holidays (YYYY-MM-DD format) | |
| from | No | Start date for the holidays (YYYY-MM-DD format) | |
| exchange | Yes | Exchange code (e.g., NASDAQ, NYSE) |
Tool Definition Quality
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 does not mention output format, date range handling, timezone considerations, error behavior, or any side effects. This lack of detail leaves the agent uncertain about what to expect from the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and reasonably concise. The first sentence states the core function, and the second provides a use case. The second sentence is slightly generic ('plan your trading activities') but does not waste much space. Overall, it is appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and no annotations, the description should compensate by explaining what the tool returns or how parameters like from/to affect results. It does not mention the output structure or the default behavior when date ranges are omitted. This leaves significant gaps for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add any parameter-specific meaning beyond what the schema already provides. It merely refers to 'specific stock exchanges' which mirrors the exchange parameter but adds no syntax or formatting details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses holiday schedules for specific stock exchanges, which indicates the resource and scope. It distinguishes from sibling tools like getExchangeMarketHours and getAllExchangeMarketHours by focusing specifically on holidays. The verb 'access' is somewhat generic, but the overall intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use this tool to find dates when global exchanges are closed for holidays and plan trading activities. It does not explicitly mention alternatives or exclusions, but the use case is well implied by the holiday focus, which differentiates it from market-hours siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getHouseTradesCInspect
Track the financial trades made by U.S. House members and their families with the FMP U.S. House Trades API. Access real-time information on stock sales, purchases, and other investment activities to gain insight into their financial decisions.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
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 'real-time information' and the types of trades, but does not state whether it returns a list, how the symbol parameter filters results, any authentication requirements, or potential limitations. The language is promotional ('gain insight') rather than descriptive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences and identifies the core purpose. However, the second sentence includes the phrase 'to gain insight into their financial decisions', which is somewhat redundant and adds little operational value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter, and the description adequately conveys the domain. However, it fails to mention that the tool filters by stock symbol, which is a key operational detail. Given the absence of an output schema, the description could be more complete by describing the expected return structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage for the single 'symbol' parameter described as 'Stock symbol'. The description adds no additional meaning about the parameter, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool tracks financial trades made by U.S. House members and their families, distinguishing it from Senate trade tools. However, it does not explicitly mention the 'by symbol' aspect that differentiates it from the sibling tool 'getHouseTradesByName'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like getHouseTradesByName or getLatestHouseDisclosures. The description only implies a general use case ('gain insight into their financial decisions') without any explicit when-to-use or when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getHouseTradesByNameAInspect
Search for House trading activity by Representative name with the FMP House Trades by Name API. Access detailed information on trades made by specific Representatives, including trade dates, assets, amounts, and potential conflicts of interest.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Representative name (first or last name) |
Tool Definition Quality
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 discloses the return content (trade dates, assets, amounts, potential conflicts of interest), which is useful. However, it does not describe matching behavior (e.g., exact vs partial name), pagination, or potential rate limits, leaving gaps for a search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loading the verb and resource in the first sentence. The second sentence lists key output fields. There is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description partially compensates by naming the returned fields. While it doesn't mention sibling tools or usage exclusions, the tool is simple (one parameter) and the description covers purpose and output content adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the parameter 'name' described as 'Representative name (first or last name)'. The tool description adds no extra meaning beyond the schema, so the baseline of 3 applies; there is no additional clarification about name formats or matching rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Search for House trading activity by Representative name', which specifies the verb 'Search', the resource 'House trading activity', and the parameter 'name'. This distinguishes it from siblings like getHouseTrades (which lists all trades) and getSenateTradesByName (which covers Senate).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when you need House trades by a specific Representative's name, providing clear context. However, it does not explicitly mention alternatives or exclusions, such as using getHouseTrades for all trades or getSenateTradesByName for Senate activity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_income_statementCInspect
Get company income statement data.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol/ticker (e.g. '000001') | |
| recent_n | No | Number of most recent records to return |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It does not mention output format, data period, freqency, or any limitations. The description is purely declarative and leaves the agent without insight into the tool's behavior beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no unnecessary words. It is front-loaded and efficiently communicates the basic purpose, though it could be slightly more detailed without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the large set of sibling income statement tools, the description is too brief to disambiguate the tool's specific scope. It lacks mention of data frequency, period, or source, and with no output schema, the agent cannot anticipate the return structure. The tool is simple, but the description leaves gaps that matter in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full descriptions for both parameters (symbol and recent_n), with 100% coverage. The description adds no extra meaning to the parameters, so it meets the baseline but does not enhance understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves company income statement data, identifying the resource and action. However, it does not differentiate from many sibling tools with similar names (e.g., getIncomeStatement, getIncomeStatementTTM, getIncomeStatementGrowth), so it 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.
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 getIncomeStatementTTM or getIncomeStatementGrowth. It only states what it does without context or exclusions, so the agent receives no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getIncomeStatementBInspect
Access real-time income statement data for public companies, private companies, and ETFs with the FMP Real-Time Income Statements API. Track profitability, compare competitors, and identify business trends with up-to-date financial data.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit on number of results (default: 100, max: 1000) | |
| period | No | Period (Q1, Q2, Q3, Q4, or FY) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral details such as response format, pagination, data granularity, or potential latency. It only repeats that data is real-time/up-to-date, which is thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose. The second sentence is somewhat generic marketing language but not overly verbose, so it earns a solid score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is straightforward with fully documented parameters, but the lack of output schema and minimal behavioral detail leaves room for ambiguity. It would be stronger if it mentioned how 'real-time' differs from other income statement APIs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no additional semantic detail about symbol, limit, or period beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides real-time income statement data for public/private companies and ETFs. However, it doesn't distinguish itself from sibling tools like get_income_statement or getIncomeStatementAsReported, though the 'real-time' qualifier offers some differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for tracking profitability and comparing competitors, but gives no explicit guidance on when to choose this tool over other income statement endpoints. It lacks exclusions or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getIncomeStatementAsReportedAInspect
Retrieve income statements as they were reported by the company with the As Reported Income Statements API. Access raw financial data directly from official company filings, including revenue, expenses, and net income.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit on number of results (default: 100, max: 1000) | |
| period | No | Period type (annual or quarter) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden of behavioral disclosure. It correctly implies a read-only operation via 'Retrieve' and 'Access raw financial data', but it does not mention potential limitations, rate limits, pagination, or the exact structure of the response beyond listing revenue, expenses, and net income. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences and avoids excessive verbosity. The first sentence is slightly redundant by repeating 'As Reported Income Statements API', but overall it is efficient and front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides a basic understanding of the tool's output by mentioning revenue, expenses, and net income, but it lacks details on the return format, date ranges, or behavior across multiple periods. Given the absence of an output schema, this is a clear gap, though not fatal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all three parameters (limit, period, symbol). The description adds no additional meaning to the parameters, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves income statements as reported by the company, using a specific verb ('Retrieve') and resource ('income statements as they were reported'). It also emphasizes raw financial data from official filings, which distinguishes it from sibling tools like getIncomeStatement or getIncomeStatementGrowth.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'as they were reported' and 'raw financial data directly from official company filings' conveys a clear use case: when original, unadjusted data is needed. However, it does not explicitly name alternative tools or state when not to use it, so it falls short of full explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getIncomeStatementGrowthBInspect
Track key financial growth metrics with the Income Statement Growth API. Analyze how revenue, profits, and expenses have evolved over time, offering insights into a company’s financial health and operational efficiency.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit on number of results (default: 100, max: 1000) | |
| period | No | Period (Q1, Q2, Q3, Q4, or FY) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
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 'track' and 'analyze' but does not explain whether this is a read-only operation, what data format is returned, how the limit/period parameters affect results, or any pagination/auth details. The description is high-level and lacks the operational transparency needed for an agent to anticipate behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and reasonably concise. The first sentence restates the tool name ('Income Statement Growth API') which is somewhat redundant, but the second sentence adds meaningful context. The phrase 'offering insights into a company’s financial health and operational efficiency' is marketing fluff and could be removed, but overall the description is not bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a financial data tool with no output schema and no annotations, and the description does not specify what the response will contain (e.g., growth rates, list of periods). It does not mention how the tool differs from similar tools like getIncomeStatementGrowthBulk or getIncomeStatementTTM. For an agent to correctly invoke and interpret results, the description is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage for the three parameters (symbol, limit, period), so the baseline is 3. The description does not add any parameter-specific semantics beyond what the schema already states. It mentions 'revenue, profits, and expenses' but does not connect these to the period or limit parameters, so it adds no extra meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear purpose: 'Track key financial growth metrics' and 'Analyze how revenue, profits, and expenses have evolved over time.' This names the resource (Income Statement Growth) and the subject matter (revenue/profits/expenses), distinguishing it from plain income statement tools. However, it could be more specific about what exactly is returned (e.g., growth rates, time periods) and does not explicitly differentiate from similar growth tools like getFinancialStatementGrowth.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a use case: analyzing evolution of financial metrics over time. It does not provide explicit when-to-use or when-not-to-use guidance, nor does it name alternatives among the many sibling tools. While the 'evolved over time' phrase suggests growth analysis, there is no exclusions or alternative tool recommendation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getIncomeStatementGrowthBulkBInspect
The Bulk Income Statement Growth API provides access to growth data for income statements across multiple companies. Track and analyze growth trends over time for key financial metrics such as revenue, net income, and operating income, enabling a better understanding of corporate performance trends.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Year (e.g., 2023) | |
| period | Yes | Period (Q1, Q2, Q3, Q4, FY) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It mentions data access and metrics but does not disclose return format, pagination, rate limits, authentication needs, or whether it covers all companies. This is a significant gap for an API tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, with the first being informative and the second somewhat filler ('enabling a better understanding'). Efficient but not maximally concise; no redundant repetition of schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so description should explain return values. It does not, and it also fails to clarify how 'multiple companies' are selected given only year and period parameters. Ambiguity about whether this returns all companies or requires additional inputs makes it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline 3 applies. The description does not add additional meaning to the year and period parameters beyond what the schema already provides, but it does not need to since they are well-documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides growth data for income statements across multiple companies, with specific examples of metrics (revenue, net income, operating income). This distinguishes it from single-company tools like getIncomeStatementGrowth and other bulk tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'across multiple companies' phrase implies usage for bulk/multi-company scenarios, but it does not explicitly contrast with single-company alternatives or provide when-not guidance. Usage context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getIncomeStatementsBulkCInspect
The Bulk Income Statement API allows users to retrieve detailed income statement data in bulk. This API is designed for large-scale data analysis, providing comprehensive insights into a company's financial performance, including revenue, gross profit, expenses, and net income.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Year (e.g., 2023) | |
| period | Yes | Period (Q1, Q2, Q3, Q4, FY) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of disclosing behavior. It only offers a generic statement about retrieving data and mentions large-scale analysis, without addressing required parameters, return format, or any side effects or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, with the verb and purpose front-loaded. It avoids excessive detail but includes a somewhat redundant second sentence that adds little new information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain return values, required inputs beyond the schema, and usage context. It fails to mention that only year and period are parameters (and no company identifier), how results are structured, or any examples.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters year and period are already documented. The description adds a few financial metrics but doesn't map them to parameters or clarify the missing company identifier, which is a notable gap beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves income statement data in bulk, using a specific verb and resource. It doesn't explicitly distinguish from other bulk statement tools, but the income statement focus and 'large-scale' hint are sufficient.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs. alternatives like single-statement tools or other bulk tools. The phrase 'designed for large-scale data analysis' implies bulk usage but provides no explicit comparisons, exclusions, or use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getIncomeStatementTTMBInspect
Access real-time income statement data for public companies, private companies, and ETFs with the FMP Real-Time Income Statements API. Track profitability, compare competitors, and identify business trends with up-to-date financial data.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit on number of results (default: 100, max: 1000) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It does convey that the data is real-time and scoped to public/private companies and ETFs, but it omits important behaviors such as what the return structure looks like, how 'TTM' is calculated, pagination behavior, or any rate limits. This is minimal but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, and the first sentence front-loads the core purpose. The second sentence adds generic use cases but does not include operational specifics; it is somewhat fluffy but not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the large set of sibling tools with similar income statement functions, the description is incomplete because it fails to define TTM, contrast with standard or as-reported income statements, or describe the expected response data. The lack of an output schema further increases the need for narrative explanation, which is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full descriptions for both parameters (symbol and limit), so schema coverage is 100%. The description adds no extra parameter semantics beyond the schema, and it does not clarify how 'limit' interacts with the TTM data or what range of values might be meaningful. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses real-time income statement data for public companies, private companies, and ETFs, which is a specific resource and action. However, it does not explain the 'TTM' (trailing twelve months) aspect or differentiate among the many sibling income statement tools (e.g., getIncomeStatement, getIncomeStatementAsReported).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for up-to-date profitability tracking, competitor comparison, and business trend analysis, but it offers no explicit guidance on when to choose this tool over the numerous other income statement variants. It does not mention exclusions or alternatives, leaving the selection largely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getIndex1HourDataAInspect
Access 1-hour interval intraday data for stock indexes using the Intraday 1-Hour Price Data API. This API provides detailed price movements and volume within hourly intervals, making it ideal for tracking medium-term market trends during the trading day.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Index symbol (e.g., ^GSPC for S&P 500) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only says it 'provides detailed price movements and volume.' It does not disclose important behaviors such as whether the from/to parameters are optional, the default date range, or the exact output format, which is insufficient for a tool with no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, with no redundant information. It efficiently states what the tool does and when to use it, making it well-structured and appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 params, no output schema), the description covers the basic purpose and use case. However, it omits information about the optional date range parameters and the specific structure of the returned data (e.g., OHLCV), which would be necessary for full completeness without annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for symbol, from, and to. The description adds no additional parameter meaning beyond calling it the 'Intraday 1-Hour Price Data API,' so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Access 1-hour interval intraday data for stock indexes,' specifying the resource and interval. This distinguishes it from sibling tools like getIndex1MinuteData and getIndex5MinuteData by explicitly mentioning the 1-hour interval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear use case: 'ideal for tracking medium-term market trends during the trading day.' However, it does not mention alternatives or when not to use this tool, so it falls short of a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getIndex1MinuteDataAInspect
Retrieve 1-minute interval intraday data for stock indexes using the Intraday 1-Minute Price Data API. This API provides granular price information, helping users track short-term price movements and trading volume within each minute.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Index symbol (e.g., ^GSPC for S&P 500) |
Tool Definition Quality
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 identifies this as a retrieval operation ('Retrieve') and mentions the data granularity and trading volume, but does not disclose return format, pagination, rate limits, authentication needs, or any side effects. This is a read-only operation, but the description is too generic to fully inform the agent about the tool's behavior 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences and front-loads the primary action. The first sentence is efficient, and the second adds context about the use case. The phrase 'using the Intraday 1-Minute Price Data API' is slightly redundant with the tool name, but it is not wasted words overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter data retrieval tool with no output schema or annotations, the description provides enough context for an agent to understand its purpose and select it over siblings. It mentions the interval, the asset class, and the type of data (price and volume). It could be improved by describing the return format, but it is largely complete for this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all three parameters (symbol, from, to) with descriptions, achieving 100% schema description coverage. The tool description does not add additional parameter semantics beyond what is already in the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that this tool retrieves 1-minute interval intraday data for stock indexes, using a specific API. This distinguishes it from sibling tools like getIndex5MinuteData and getIndex1HourData by explicitly naming the 1-minute interval, and from crypto/forex tools by specifying stock indexes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context that this is for tracking short-term price movements and trading volume, which implies the appropriate use case. However, it does not explicitly mention alternatives or exclusions, such as 'use getIndex5MinuteData for less granular data' or 'not for daily data,' though the interval is clear from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getIndex5MinuteDataAInspect
Retrieve 5-minute interval intraday price data for stock indexes using the Intraday 5-Minute Price Data API. This API provides crucial insights into price movements and trading volume within 5-minute windows, ideal for traders who require short-term data.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Index symbol (e.g., ^GSPC for S&P 500) |
Tool Definition Quality
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 only vaguely mentions 'price movements and trading volume' but does not disclose response format, date range constraints, pagination, or any limitations. This is a significant gap for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise at two sentences. The first sentence is direct; the second adds context but includes some filler ('crucial insights') that could be trimmed. Overall, it is appropriately sized and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with three well-documented parameters and no output schema. The description conveys the purpose and a use case, but lacks explicit usage guidance and response details. It is minimally viable but has room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters (symbol, from, to) with example values. The description adds no parameter-specific meaning beyond the schema, meeting the baseline but not exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves 5-minute interval intraday price data for stock indexes. It uses a specific verb ('Retrieve') and resource ('stock index 5-minute price data'), distinguishing it from sibling tools like getIndex1MinuteData and getIndex1HourData by interval and asset class.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates it is ideal for traders requiring short-term data, providing clear context for when to use it. However, it does not explicitly mention alternatives or when-not-to-use cases, so it stops short of full usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getIndexListAInspect
Retrieve a comprehensive list of stock market indexes across global exchanges using the FMP Stock Market Indexes List API. This API provides essential information such as the symbol, name, exchange, and currency for each index, helping analysts and investors keep track of various market benchmarks.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the underlying FMP API and the fields returned (symbol, name, exchange, currency) and notes global scope. However, it does not mention pagination, rate limits, response size, or whether the list is exhaustive. There is no contradiction with structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, with the first stating the action and the second adding field-level detail and a use case. It is efficient, though the second sentence's 'helping analysts and investors' phrase is slightly promotional and could be trimmed. No significant redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should clarify the return shape. It lists 'symbol, name, exchange, currency' but uses 'such as', leaving the full response structure ambiguous. For a zero-parameter list tool, this is a moderate gap, especially regarding array/object formatting and any additional fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, making schema coverage trivially 100%. The description appropriately focuses on output fields rather than parameters, leaving no parameter semantics to clarify. Baseline of 4 applies for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a comprehensive list of stock market indexes across global exchanges, using a specific verb ('Retrieve') and resource. It naturally distinguishes from sibling quote/historical tools by focusing on the list itself, even though it doesn't explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 over siblings like getIndexQuote, getAllIndexQuotes, or getHistoricalIndexFullChart. The phrase 'helping analysts and investors keep track' implies a general use case but lacks explicit alternatives, exclusions, or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getIndexQuoteBInspect
Access real-time stock index quotes with the Stock Index Quote API. Stay updated with the latest price changes, daily highs and lows, volume, and other key metrics for major stock indices around the world.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Index symbol (e.g., ^GSPC for S&P 500) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose that the tool provides real-time quotes with daily highs/lows and volume, which is useful. However, it omits details such as whether a single symbol is required (though the schema shows this), any rate limits, or response structure nuances. The behavioral description is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loads the core action. The phrase 'with the Stock Index Quote API' is slightly redundant, but the text is concise and avoids unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description explains the type of data returned (price changes, highs/lows, volume). It does not detail the exact return format, but the high-level description is sufficient given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the only parameter 'symbol' with a description and example, so coverage is 100%. The tool description adds no additional meaning beyond what the schema already provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses real-time stock index quotes and lists the key metrics it returns. However, it does not explicitly differentiate this tool from sibling tools like getIndexQuotes or getIndexShortQuote, relying on the tool name to imply single-quote retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 getIndexQuotes or getIndexShortQuote. There is no mention of use cases, exclusions, or preferred scenarios, leaving the agent to infer from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getIndexQuotesCInspect
Track real-time movements of major stock market indexes with the FMP Stock Market Index Quotes API. Access live quotes for global indexes and monitor changes in their performance.
| Name | Required | Description | Default |
|---|---|---|---|
| short | No | Whether to use short format |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It implies a read-only, real-time quote retrieval, but does not state what data is returned, whether it returns a list or single quote, any rate limits, or how the 'short' parameter affects behavior. The phrase 'monitor changes in their performance' is vague and adds no concrete behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, but it contains redundancy: 'real-time movements', 'live quotes', and 'monitor changes' all convey the same idea. The phrase 'with the FMP Stock Market Index Quotes API' is filler and not helpful. It is concise in length but not in content, with repeated concepts.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain what the tool returns and how it behaves. It only says 'access live quotes' without specifying the format, scope, or relationship to the short parameter. The ambiguity with sibling getAllIndexQuotes makes this incomplete for a correctly selecting agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for the single 'short' parameter, describing it as 'Whether to use short format'. The description adds no additional meaning or context about this parameter, such as how short format differs from full format. With full schema coverage, a baseline of 3 is appropriate, but the description does not enhance the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to track real-time movements and access live quotes for stock market indexes. It uses specific action verbs ('track', 'access', 'monitor') and a specific resource ('major stock market indexes', 'global indexes'). However, it does not explicitly distinguish between this tool and closely related siblings like getAllIndexQuotes or getIndexQuote, though the plural 'Quotes' is a hint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives such as getAllIndexQuotes, getIndexQuote, or getIndexShortQuote. The description only explains what the tool does, not the context or exclusions. Given the large sibling list, 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.
getIndexShortQuoteAInspect
Access concise stock index quotes with the Stock Index Short Quote API. This API provides a snapshot of the current price, change, and volume for stock indexes, making it ideal for users who need a quick overview of market movements.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Index symbol (e.g., ^GSPC for S&P 500) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the transparency burden. It discloses the output fields (current price, change, volume) and the 'concise' nature, which is useful. However, it does not mention limitations such as whether the quote is real-time/delayed, the return format, or any restrictions on symbols. This is a moderate level of disclosure for a simple read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and avoids fluff. The first sentence is somewhat redundant with the API name, but the second adds value by listing output fields and use case. It is concise and front-loaded with the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain return values and context. It lists the key fields (price, change, volume) and the use case, but it does not clarify how it differs from getIndexQuote or whether the data is delayed. Given the simplicity of the tool (one required param), it is mostly complete but leaves some ambiguity compared to similar index quote tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage, with the symbol parameter described as 'Index symbol (e.g., ^GSPC for S&P 500)'. The description reinforces that this is for stock indexes but does not add any additional nuance beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Access concise stock index quotes' and specifies the output fields (price, change, volume). It is distinguished from siblings like getQuoteShort (which likely covers stocks) and getIndexQuote (which may provide full quotes) by emphasizing 'concise' and 'short', but it does not explicitly name alternative tools for full quotes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear context: 'ideal for users who need a quick overview of market movements'. This implies when to use it (quick snapshot) versus potentially heavier or more detailed quote tools. It does not provide explicit exclusions or name alternatives, but the use case is specific enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getIndustryClassificationListCInspect
Retrieve a comprehensive list of industry classifications, including Standard Industrial Classification (SIC) codes and industry titles with the FMP Industry Classification List API.
| Name | Required | Description | Default |
|---|---|---|---|
| sicCode | No | SIC code | |
| industryTitle | No | Industry title or partial title |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It mentions 'comprehensive list' but does not explain behavioral nuances such as whether parameters filter results, pagination, or the response format. The read-only nature is implied by 'Retrieve' but no deeper behavioral details are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the action and resource. It is free of fluff, though the phrase 'with the FMP Industry Classification List API' is slightly redundant given the tool name, but not harmful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain the return structure. It only mentions SIC codes and industry titles as included fields, but does not clarify that the optional parameters allow filtering, nor does it describe the overall response format. For a simple list tool with optional filters, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the parameter descriptions ('SIC code', 'Industry title or partial title') already convey their meaning. The description repeats these concepts without adding new details like examples, formats, or filter behavior, so it provides no value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Retrieve' and the resource 'industry classifications', including SIC codes and industry titles. It is specific enough about the tool's purpose, though it does not explicitly distinguish this from siblings like getAvailableIndustries or searchIndustryClassification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 does not mention that sicCode and industryTitle parameters can be used for filtering, nor does it contrast with other industry-related tools. Usage context is only vaguely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getIndustryPerformanceSnapshotBInspect
Access detailed performance data by industry using the Industry Performance Snapshot API. Analyze trends, movements, and daily performance metrics for specific industries across various stock exchanges.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date (YYYY-MM-DD) | |
| exchange | No | Exchange (e.g., NASDAQ) | |
| industry | No | Industry (e.g., Biotechnology) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden. It reveals the tool returns performance metrics and supports analysis, but does not explain whether this is a point-in-time snapshot or a historical series, nor does it disclose response structure, pagination, or limitations. This is not contradictory and adds a bit of context, but the disclosure is shallow.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with the main purpose front-loaded in the first sentence. The second sentence adds context about metrics and exchanges but uses somewhat vague language ('trends, movements'). There is no excessive filler, though it could be slightly tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description needs to do more to explain what the snapshot actually contains and how it differs from the historical/summary siblings. It only vaguely mentions 'daily performance metrics' and 'trends,' leaving unclear the required date parameter's role and the precise response format. This is insufficient for confident invocation in a tool family with very similar names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all three parameters described (date, exchange, industry) and examples given. The description adds no additional parameter semantics beyond what the schema already provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it accesses detailed performance data by industry and mentions daily metrics and exchange coverage, which is a specific verb+resource+scope. It doesn't explicitly distinguish itself from similarly named siblings like getIndustryPerformanceSummary or getHistoricalIndustryPerformance, but the 'Snapshot' term in the name and 'daily performance metrics' provide some differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 such as getIndustryPerformanceSummary or getHistoricalIndustryPerformance. The description implies it is for industry performance data but doesn't set exclusions or name any preferred use case, leaving the agent to guess among the many industry/sector performance tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getIndustryPerformanceSummaryBInspect
The Industry Performance Summary API provides an overview of how various industries are performing financially. By analyzing the value of industries over a specific period, this API helps investors and analysts understand the health of entire sectors and make informed decisions about sector-based investments.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Year of filing | |
| quarter | Yes | Quarter of filing (1-4) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fails to disclose behavioral details such as whether this is a read-only operation, what data source or methodology is used, or what the response format contains. It only vaguely mentions 'analyzing the value of industries,' which is insufficient for an agent to anticipate side effects or output structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences and is front-loaded with the core purpose. The second sentence adds some contextual color but is largely redundant with the first, making it acceptable but not exemplary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, no annotations, and many sibling tools, the description is too thin. It doesn't clarify what data is returned (e.g., list of industries, performance percentages), the time period semantics beyond year/quarter, or how this differs from the snapshot and historical variants.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both year and quarter parameters are fully described in the schema (100% coverage), so the description adds no additional semantic detail. Its mention of 'a specific period' loosely matches the parameters but doesn't explain how they affect the summary.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool provides an overview of financial performance across industries, which matches the 'Summary' in its name. However, it doesn't distinguish this tool from closely related siblings like getIndustryPerformanceSnapshot or getHistoricalIndustryPerformance, so it falls short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description identifies the general use case (understanding sector health for investment decisions) but gives no explicit guidance on when to choose this tool over alternatives. It lacks any exclusions or comparative notes, leaving selection ambiguous among the many industry/sector tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getIndustryPESnapshotCInspect
View price-to-earnings (P/E) ratios for different industries using the Industry P/E Snapshot API. Analyze valuation levels across various industries to understand how each is priced relative to its earnings.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date (YYYY-MM-DD) | |
| exchange | No | Exchange (e.g., NASDAQ) | |
| industry | No | Industry (e.g., Biotechnology) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must disclose behavior. It implies a read-only operation ('View') but does not state output details, default scope (e.g., all industries if no filters are provided), or any limitations such as date requirements or data availability.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loaded with the action, but the second sentence largely restates the first ('Analyze valuation levels' vs 'View P/E ratios'), making it slightly redundant yet still concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (3 params, 1 required) and the schema covers parameters, but with no output schema or annotations, the description leaves gaps around default behavior, response format, and usage context. It is adequate for a basic read tool but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already has full parameter descriptions (100% coverage), so the baseline is 3. The description adds no additional parameter semantics beyond referring to industries and valuation levels.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('View') and resource ('P/E ratios for different industries'). It distinguishes from sector-level tools by focusing on industries, though it does not explicitly contrast with historical industry P/E or sector P/E siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not explain when to use this snapshot over alternatives like getHistoricalIndustryPE or getSectorPESnapshot, nor does it mention any exclusions or prerequisites beyond the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_inner_trade_dataBInspect
Get company insider trading data.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol/ticker (e.g. '000001') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It only states 'Get', implying a read-only operation, but does not disclose what specific insider trading data is included (e.g., transaction types, dates, holder names), any pagination behavior, or response structure. This is minimal disclosure for a tool with no other context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It is front-loaded with the main action and resource, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool with 100% schema coverage, the description is minimally sufficient. However, it lacks any context about what 'insider trading data' includes, and the absence of annotations or output schema means the agent has no additional signals to understand the return format or scope. It is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage for the single required parameter 'symbol' with a clear description. The tool description adds 'company' and 'insider trading' context, which maps well to the symbol parameter. Since the schema does the heavy lifting, the description adds a modest amount of meaning beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb+resource structure: 'Get company insider trading data.' It tells the agent this tool retrieves insider trading information for a specific company. However, it does not distinguish this from sibling tools like getInsiderTradeStatistics, getLatestInsiderTrading, or searchInsiderTrades, which also target insider trading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many insider-trading-related siblings. It does not specify whether this is for historical transactions, recent filings, or statistics, nor does it mention alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getInsiderTradeStatisticsCInspect
Analyze insider trading activity with the Insider Trade Statistics API. This API provides key statistics on insider transactions, including total purchases, sales, and trends for specific companies or stock symbols.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It mentions the tool provides 'key statistics' but does not disclose return shape, time range, pagination, or any access prerequisites, leaving significant behavior unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and directly states the tool's purpose. The first sentence is slightly redundant with the name but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description gives a basic sense of what it returns (purchases, sales, trends) but lacks details on response format, time periods, or how it differs from similar insider trading tools, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter, 'symbol', described as 'Stock symbol', which is 100% covered. The description adds no extra meaning beyond confirming it works for stock symbols, so it meets the baseline but doesn't enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it 'provides key statistics on insider transactions, including total purchases, sales, and trends,' clearly identifying a specific resource and purpose. It distinguishes from raw trade lookup siblings like searchInsiderTrades by emphasizing statistics, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use guidance or contrasts with sibling tools like getLatestInsiderTrading or searchInsiderTrades. It only implies usage for analyzing insider trading stats but offers no exclusions or decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getInsiderTransactionTypesBInspect
Access a comprehensive list of insider transaction types with the All Insider Transaction Types API. This API provides details on various transaction actions, including purchases, sales, and other corporate actions involving insider trading.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It states the tool returns a comprehensive list of transaction types and gives examples, implying a read-only operation. However, it doesn't disclose response structure, pagination, or any limitations. For a simple zero-parameter catalog, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, but the first sentence includes the redundant phrase 'with the All Insider Transaction Types API,' which repeats the tool's name. The second sentence adds value with examples of transaction actions. It could be tightened to a single, more efficient sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters, no output schema, and no annotations, the description provides enough context to understand what the tool returns: a list of insider transaction types with examples. It doesn't discuss related use-cases or prerequisites, but given the tool's simplicity, the description is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty (100% coverage). Baseline for 0 parameters is 4. The description doesn't need to add parameter details and doesn't explicitly mention the lack of parameters, but the schema makes it obvious. No additional parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing a list of insider transaction types, with examples like purchases, sales, and corporate actions. It distinguishes itself from data-retrieval tools like getInsiderTradeStatistics or searchInsiderTrades by focusing on the taxonomy of transaction types, but it could be more explicit that this is a reference/static list rather than trade data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It doesn't mention that this list of transaction types could be used to filter or interpret insider trading data from other tools (e.g., searchInsiderTrades), nor does it provide any exclusion criteria. The description is purely capability-focused, not usage-focused.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getIntradayChartCInspect
Access precise intraday stock price and volume data with the FMP Interval Stock Chart API. Retrieve real-time or historical stock data in intervals, including key information such as open, high, low, and close prices, and trading volume for each minute.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Stock symbol | |
| interval | Yes | Time interval |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description notes real-time or historical data and lists OHLCV fields, but it omits important behavioral details such as data range limits, timezone, business-day handling, and response ordering. The 'for each minute' claim is misleading given the interval enum includes up to 4-hour bars, and no annotations exist to clarify safety or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief but contains redundancy ('Access precise intraday stock price and volume data' vs 'Retrieve real-time or historical stock data in intervals') and an inaccurate detail ('for each minute') that could mislead. The two sentences could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema and no annotations, the description does not adequately explain return format, data ordering, or limitations. With a parameter count of 4 and numerous sibling competitors, more contextual detail is needed for reliable tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all four parameters with descriptions and an enum for interval (100% coverage). The description adds minimal extra value beyond mentioning 'intervals' and implying range usage through from/to, but it doesn't clarify default behavior when from/to are omitted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves intraday stock price and volume data with OHLCV fields, using a specific API. However, it does not differentiate from sibling chart tools like getFullChart or getUnadjustedChart, and the phrase 'for each minute' inaccurately suggests only 1-minute intervals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 such as getFullChart, getLightChart, or other interval-specific tools. There are no explicit exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getIPOCalendarAInspect
Access a comprehensive list of all upcoming initial public offerings (IPOs) with the FMP IPO Calendar API. Stay up to date on the latest companies entering the public market, with essential details on IPO dates, company names, expected pricing, and exchange listings.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It does describe the nature of the response (a list of IPO details) and implies a read-only operation through 'Access' and 'list', but it does not disclose whether any authentication is required, what happens when no date range is provided, or any rate limits/pagination. It adds some value beyond the schema by specifying the returned fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, with the main purpose in the first sentence. The second sentence adds some promotional language ('Stay up to date') but also lists useful details about the returned data. Overall, it is appropriately sized with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple 2-parameter list operation with no output schema. The description covers the essential purpose and data fields, but it does not explain the semantics of the optional date-range parameters or what the default behavior is when omitted. Given the lack of an output schema, the description is somewhat incomplete for a fully informed usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully describes the two parameters ('to' and 'from' with date format), so the baseline is 3. The description does not add further meaning about parameter usage, such as whether the range is required or how it filters the calendar. It effectively relies on the schema, which is acceptable given 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: accessing a comprehensive list of upcoming IPOs via the FMP IPO Calendar API. It names the specific resource (IPO calendar) and includes key output fields (dates, company names, pricing, exchanges), distinguishing it from other calendar tools like earnings or dividends.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for staying up to date on upcoming IPOs, but does not explicitly state when to use this tool versus the many sibling calendar tools (e.g., getEarningsCalendar, getDividendsCalendar) or how the from/to parameters affect the results. It provides context but no exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getIPODisclosuresAInspect
Access a comprehensive list of disclosure filings for upcoming initial public offerings (IPOs) with the FMP IPO Disclosures API. Stay updated on regulatory filings, including filing dates, effectiveness dates, CIK numbers, and form types, with direct links to official SEC documents.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of transparency. It discloses the returned data (filing dates, effectiveness dates, CIK numbers, form types, SEC links), which helps predict output. However, it doesn't mention pagination, date-range behavior, authentication, or explicitly confirm read-only status, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the core purpose and using no filler words. The first sentence states the tool's scope, and the second adds valuable output details, making every sentence purposeful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-optional-parameter read API with no output schema, the description covers what the tool returns and its domain. The main gaps are not clarifying how from/to relate to 'upcoming' IPOs and not mentioning pagination, but overall it is sufficiently complete for an agent to select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents both parameters (to, from) with descriptions 'End date' and 'Start date', so schema coverage is 100%. The description adds no extra parameter semantics, but the baseline of 3 is appropriate since the schema handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with a specific verb and resource: 'Access a comprehensive list of disclosure filings for upcoming initial public offerings (IPOs)'. It clearly names the FMP IPO Disclosures API and focuses on IPO-specific filings, distinguishing it from generic disclosure tools like getDisclosure or fund disclosure tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context for use: staying updated on IPO regulatory filings. It does not explicitly name alternatives or state when not to use this tool, but the 'upcoming IPOs' scope gives strong guidance for selecting it over siblings like getIPOProspectuses or getFilingsByFormType.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getIPOProspectusesBInspect
Access comprehensive information on IPO prospectuses with the FMP IPO Prospectus API. Get key financial details, such as public offering prices, discounts, commissions, proceeds before expenses, and more. This API also provides links to official SEC prospectuses, helping investors stay informed on companies entering the public market.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of explaining behavior. It discloses that the tool returns key financial details and SEC prospectus links, implying a read-only operation. However, it does not mention any constraints, pagination, date range behavior, or potential variations in response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences and efficiently conveys the main purpose, sample data, and use case. It is slightly promotional ('comprehensive information') but remains reasonably concise and front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple with two optional date parameters and no output schema. The description lists some output fields and SEC links, but it does not explain how the date range filters results, whether all IPOs are returned, or any defaults. For a data retrieval tool, this is adequate but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since the input schema already fully describes both parameters (to and from dates) with 100% coverage, the baseline is 3. The description does not add any extra meaning beyond the schema; it focuses on the output content rather than parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses comprehensive IPO prospectus information, with a specific verb (Access) and resource (IPO prospectuses). It also mentions key details like public offering prices and SEC links. While it doesn't explicitly distinguish from sibling tools like getIPOCalendar, the focus on prospectuses is distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for investors wanting to stay informed on IPOs, but it does not explicitly state when to use this tool versus alternatives or provide any exclusions. There is no mention of sibling tools, so the guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getKeyMetricsAInspect
Access essential financial metrics for a company with the FMP Financial Key Metrics API. Evaluate revenue, net income, P/E ratio, and more to assess performance and compare it to competitors.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit on number of results (default: 100, max: 1000) | |
| period | No | Period (Q1, Q2, Q3, Q4, FY, annual, or quarter) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It implies a read operation ('Access') but does not disclose any behavioral traits such as API rate limits, authentication requirements, pagination behavior, or the structure of the response. This is a significant gap for a tool that has no other behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, consisting of two sentences that immediately state the tool's function and purpose. There is no filler or redundant explanation; every clause adds value, making it highly efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple data retrieval function with three parameters and no output schema. The description adequately states what the tool does and hints at the return content (revenue, net income, P/E ratio), but it does not explain the behavior of the 'limit' parameter, default periods, or the response format. Given the simplicity, this is adequate but not comprehensive, warranting a 3.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with all three parameters (symbol, period, limit) having descriptions. The description adds marginal value by naming specific metrics (revenue, net income, P/E ratio) but does not elaborate on parameter usage or interplay beyond the schema. This aligns with the baseline of 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses essential financial metrics for a company, enumerating examples like revenue, net income, and P/E ratio. It indicates the resource (FMP Financial Key Metrics API) and the action (access/evaluate), but it does not explicitly distinguish from sibling tools like get_financial_metrics or getKeyMetricsTTM, so it misses the differentiation aspect of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use this tool: to evaluate financial performance and compare to competitors. However, it does not provide explicit guidance on when not to use it or mention alternatives such as get_financial_metrics for broader financial data or getKeyMetricsTTM for trailing twelve months, so it lacks the explicit exclusions/alternatives of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getKeyMetricsTTMCInspect
Retrieve a comprehensive set of trailing twelve-month (TTM) key performance metrics with the TTM Key Metrics API. Access data related to a company's profitability, capital efficiency, and liquidity, allowing for detailed analysis of its financial health over the past year.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
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 what data the tool accesses (profitability, capital efficiency, liquidity) but does not disclose the response format, whether it returns a single object or array, units, pagination, or any limitations. For a read operation, 'Retrieve' implies safety, but the description lacks detail about what the agent can expect from the returned data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences. The first sentence states the main action, and the second elaborates on the categories of metrics. However, there is some redundancy: 'trailing twelve-month (TTM)' is repeated in both the expanded form and the phrase 'TTM Key Metrics API', making it slightly less efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a single parameter and no output schema, the description provides a decent high-level overview of the metric categories. However, it omits details such as specific metric names, currency/units, and the structure of the response. Given the large number of sibling tools, this description could be more complete to help an agent confidently select and invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% because the only parameter 'symbol' has a description ('Stock symbol'). The tool description does not add any additional meaning beyond the schema, but the baseline is 3 given full schema coverage. No further formatting or example is provided, so it does not exceed the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Retrieve') and the resource ('trailing twelve-month (TTM) key performance metrics'), and specifies the scope (profitability, capital efficiency, liquidity). It is specific enough to distinguish from many siblings, though it does not explicitly contrast with getKeyMetrics or getKeyMetricsTTMBulk, so it falls short of a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 over alternatives, no exclusions, and no mention of prerequisites like API key or data source limitations. While the phrase 'allowing for detailed analysis of its financial health' implies a use case, it does not help an agent decide between this and closely related siblings such as getKeyMetricsTTMBulk or getFinancialRatiosTTM.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getKeyMetricsTTMBulkAInspect
The Key Metrics TTM Bulk API allows users to retrieve trailing twelve months (TTM) data for all companies available in the database. The API provides critical financial ratios and metrics based on each company’s latest financial report, offering insights into company performance and financial health.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It notes that data is based on 'each company’s latest financial report,' which is useful behavioral context. However, it does not disclose potential response size, rate limits, or any other operational side effects, leaving room for surprises with a bulk operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, two sentences, with the core purpose front-loaded in the first sentence. The second sentence adds value about the data content without fluff or redundancy. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, the description should clarify what the response looks like. It only states 'critical financial ratios and metrics,' which is vague and does not enumerate specific fields or the response format. For a bulk tool, an agent might need to know more about the data structure to use it effectively, so the information is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100%, so there are no parameter details to explain. According to the rubric, a baseline of 4 is appropriate when no parameters exist, and the description does not need to add parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'retrieve trailing twelve months (TTM) data for all companies available in the database.' This distinguishes it from single-company tools like getKeyMetricsTTM by explicitly noting the bulk scope for all companies, with a specific verb and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when bulk TTM data for all companies is needed, but it does not explicitly state when to use this tool over alternatives, nor does it mention any exclusions or refer to sibling tools. Guidance is absent beyond the implied scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getLatest8KFilingsBInspect
Stay up-to-date with the most recent 8-K filings from publicly traded companies using the FMP Latest 8-K SEC Filings API. Get real-time access to significant company events such as mergers, acquisitions, leadership changes, and other material events that may impact the market.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | End date (YYYY-MM-DD) | |
| from | Yes | Start date (YYYY-MM-DD) | |
| page | No | Page number for pagination | |
| limit | No | Limit the number of results |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose return format, pagination behavior, or any limitations. It mentions 'real-time access' and the nature of events, but lacks operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the core purpose, but includes some marketing-like phrasing ('Stay up-to-date', 'Get real-time access') that could be more direct.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should clarify what the response contains. It mentions filings and events but not the structure or that it's a paginated list. The required date range is not highlighted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all four parameters with descriptions. The tool description does not add any additional parameter semantics, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving the most recent 8-K filings from the FMP API, and explains the content of 8-Ks (mergers, acquisitions, leadership changes). It distinguishes from siblings by focusing specifically on 8-K form type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for monitoring recent 8-K filings ('Stay up-to-date') but does not explicitly contrast with alternatives like getFilingsBySymbol or getFilingsByFormType, nor does it state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getLatestCrowdfundingCampaignsAInspect
Discover the most recent crowdfunding campaigns with the FMP Latest Crowdfunding Campaigns API. Stay informed on which companies and projects are actively raising funds, their financial details, and offering terms.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 0) | |
| limit | No | Limit on number of results (default: 100, max: 1000) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses that the response includes financial details and offering terms, but it does not mention that this is a read-only operation, pagination behavior, rate limits, or the exact response structure. The description is not misleading but is incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and reasonably sized. The first sentence repeats the tool's name ('FMP Latest Crowdfunding Campaigns API') which is slightly redundant, but the second sentence adds valuable context. Overall, it is efficient with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple paginated list tool with no output schema, so the description should clarify what data is returned and pagination behavior. It mentions financial details and offering terms, but lacks specifics on response fields or how page/limit affect the output. It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full descriptions for both parameters (page and limit) with 100% coverage, so the tool description adds no additional semantic value. Baseline score of 3 applies because the schema handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving the most recent crowdfunding campaigns, using 'Discover' as the verb and specifying the scope ('most recent'). It effectively distinguishes from sibling tools like getCrowdfundingCampaignsByCIK and searchCrowdfundingCampaigns by highlighting its list-latest nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context by stating it helps users stay informed on actively raising funds, which implies use for a broad, recent campaign list. However, it does not explicitly mention alternatives or conditions when this tool should be avoided in favor of search or by-CIK variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getLatestEarningsTranscriptsAInspect
Access available earnings transcripts for companies with the FMP Latest Earning Transcripts API. Retrieve a list of companies with earnings transcripts, along with the total number of transcripts available for each company.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination | |
| limit | No | Limit the number of results |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description should disclose safety and behavioral traits. It clearly indicates a read-only retrieval operation ('Access', 'Retrieve'), which implies no side effects. However, it does not explicitly state read-only status, pagination behavior, or any potential limitations, leaving some burden on the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose, and contains no fluff or redundant information. Every word adds value, making it highly concise and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with two optional parameters and no output schema, the description adequately explains the return content (list of companies and transcript counts). It does not describe pagination details or response format, but the complexity is low enough that this is sufficient. Could be more complete by mentioning it returns 'latest' transcripts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100% because both parameters (page, limit) have descriptions. The description itself adds no additional parameter semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Access', 'Retrieve') and names the resource ('FMP Latest Earning Transcripts API') and the output ('list of companies with earnings transcripts, along with the total number of transcripts'). This is distinct from siblings like getEarningsTranscript (which likely fetches a single transcript) and getEarningsTranscriptList (which may list transcripts without counts), so it clearly differentiates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (when you need the list of companies and transcript counts), but it does not explicitly state alternatives or when not to use it. There is no mention of using other transcript tools instead, so guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getLatestEquityOfferingsCInspect
Stay informed about the latest equity offerings with the FMP Equity Offering Updates API. Track new shares being issued by companies and get insights into exempt offerings and amendments.
| Name | Required | Description | Default |
|---|---|---|---|
| cik | No | Optional CIK number to filter by | |
| page | No | Page number (default: 0) | |
| limit | No | Limit on number of results (default: 10, max: 1000) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does not explain pagination behavior, default sorting, how 'latest' is defined, or any rate limits. The description is a high-level summary without operational details, which is a significant gap 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences but includes fluff like 'Stay informed' and 'with the FMP Equity Offering Updates API', which are not essential. While it is not overly long, it could be more direct. The core information is present but not maximally lean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with optional parameters and no output schema, the description provides a general sense of the output (new share issuances, exempt offerings, amendments). However, it omits details such as default sort order, time window, or whether pagination is required. The description is minimally viable but lacks completeness for an agent to fully predict behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all 3 parameters (cik, page, limit), so the schema coverage is 100%. The description does not add any additional meaning or context for these parameters beyond what the schema states. The baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: retrieving latest equity offerings, including new share issuances, exempt offerings, and amendments. Although it does not explicitly differentiate from sibling tools like getEquityOfferingsByCIK or searchEquityOfferings, the 'latest' scope is implied. The verb is specific enough to convey the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention related tools or conditions under which this tool is preferred. The user is left to infer appropriate use cases from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getLatestFinancialFilingsCInspect
Stay updated with the most recent SEC filings from publicly traded companies using the FMP Latest SEC Filings API. Access essential regulatory documents, including financial statements, annual reports, 8-K, 10-K, and 10-Q forms.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | End date (YYYY-MM-DD) | |
| from | Yes | Start date (YYYY-MM-DD) | |
| page | No | Page number for pagination | |
| limit | No | Limit the number of results |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does not explain what the API returns (e.g., a list of filings with metadata), whether the date range applies to filing dates, pagination behavior, or any rate limits. The description only says 'Access essential regulatory documents,' which is vague about the actual behavior and output structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences. It front-loads the main idea ('Stay updated with the most recent SEC filings') but includes some fluff ('Stay updated'). The rest of the sentence and the second sentence provide useful context about the source API and document types. It is reasonably efficient, though the first phrase could be replaced with a more direct verb like 'Retrieve' or 'List.'
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This tool has no output schema, no annotations, and the description is brief. It lacks critical context: whether it returns filings for all companies, what fields are included, how pagination works, and how it relates to sibling tools like getFilingsBySymbol or getLatest8KFilings. Given the absence of rich structured metadata, the description needs to explain more about the response and usage, but it does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage of parameters, describing each of the four parameters (from, to, page, limit) with clear types and descriptions. The tool description adds context by listing form types, but this doesn't directly explain parameter meanings or syntax. Since the schema does the heavy lifting, a baseline of 3 is appropriate; the description adds minimal additional value for parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states that the tool accesses recent SEC filings from publicly traded companies and mentions specific form types (8-K, 10-K, 10-Q). This gives a clear sense of the resource and scope, distinguishing it from siblings like getLatest8KFilings (specific form) and getFilingsBySymbol (specific company). However, the verb 'stay updated' is not a direct API action, and it doesn't explicitly say 'list' or 'search by date range,' which the schema shows as the primary parameters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 does not mention that this tool retrieves filings across all companies within a date range, nor does it suggest using getFilingsBySymbol for company-specific filings or getLatest8KFilings for 8-K-only queries. The phrase 'Stay updated' implies a use case but gives no comparative context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getLatestFinancialStatementsBInspect
Access the latest financial statements for publicly traded companies with the FMP Latest Financial Statements API. Track key financial metrics, including revenue, earnings, and cash flow, to stay informed about a company's financial performance.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 0) | |
| limit | No | Limit on number of results (default: 250, max: 250) |
Tool Definition Quality
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 does not disclose that this appears to be a bulk endpoint (no symbol parameter), nor does it explain pagination, output format, or how 'latest' is defined. The description simply says 'access' and 'track metrics' without clarifying the behavior or response structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the first stating the core purpose and the second adding metric context. The phrase 'to stay informed' is mildly redundant, but overall it is concise and front-loaded. No unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has only two optional pagination parameters and no output schema, but the description fails to clarify critical context: there is no symbol parameter, so the agent must infer this is a bulk data retrieval tool. The description does not explain how to identify a specific company or what the response contains. This is a significant gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both page and limit parameters described in the schema, so the baseline is 3. The description adds no additional parameter information, but the schema already documents them adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses latest financial statements for publicly traded companies and mentions tracking revenue, earnings, and cash flow. However, it does not differentiate this from sibling tools like get_income_statement or get_financial_metrics, and the scope (whether it returns data for all companies or a specific one) is ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'to stay informed about a company's financial performance' implies a use case, but there is no explicit guidance on when to use this tool versus alternatives, nor any mention of its bulk nature (since the schema only has page/limit and no symbol parameter). The usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getLatestHouseDisclosuresAInspect
Access real-time financial disclosures from U.S. House members with the FMP Latest House Financial Disclosures API. Track recent trades, asset ownership, and financial holdings for enhanced visibility into political figures' financial activities.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination | |
| limit | No | Limit the number of results |
Tool Definition Quality
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 type of data (trades, asset ownership, holdings) but does not disclose pagination behavior, data freshness limits, or the exact response structure. For a real-time data API, the lack of detail about how 'latest' is defined and how pagination works is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and effectively front-loads the core purpose. Every sentence provides useful information without redundancy, and the structure is clean and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 optional params, no output schema), the description provides adequate context about the tool's purpose and content but lacks details on response format, pagination behavior, and data limits. Without an output schema, the description should compensate more fully to set expectations for the returned data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers both parameters (page, limit) with descriptions, achieving 100% schema coverage. The description adds no additional semantic meaning for these parameters, so the baseline of 3 applies. It does not explain how pagination parameters interact with the 'latest' disclosures.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: accessing real-time financial disclosures from U.S. House members. It specifies the resource (House financial disclosures) and the action (access/track), and it implicitly distinguishes from sibling tools like getLatestSenateDisclosures by focusing on the House.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives context about when this tool is relevant (tracking political figures' financial activities) but does not explicitly state when to use it over alternatives like getLatestSenateDisclosures or getHouseTrades. The usage guidance is implied rather than explicit, lacking exclusionary or comparative statements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getLatestInsiderTradingCInspect
Access the latest insider trading activity using the Latest Insider Trading API. Track which company insiders are buying or selling stocks and analyze their transactions.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date of insider trades (YYYY-MM-DD) | |
| page | No | Page number (default: 0) | |
| limit | No | Limit on number of results (default: 100, max: 100) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only states that it accesses latest activity and tracks transactions. It does not mention pagination behavior, data recency definitions, rate limits, or any limitations. The schema's default page/limit provide some context, but the description itself adds little.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences but includes an unnecessary reference to 'the Latest Insider Trading API' and a somewhat redundant second sentence. It earns a middling score because it is not as crisp as it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and complete schema coverage, the description is mostly adequate, but with no output schema and no annotations, it would benefit from mentioning what fields are returned (e.g., insider name, company, transaction type). The lack of any caveats or exclusions leaves some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides comprehensive descriptions for date, page, and limit (100% coverage). The description does not add any additional meaning about how these parameters affect results, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as accessing the latest insider trading activity and tracking insider buys/sells. It is specific about the resource and action, though it does not explicitly contrast with sibling search tools like searchInsiderTrades.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 such as searchInsiderTrades or getInsiderTradeStatistics. The description only states what the tool does, leaving the user to infer appropriate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getLatestInstitutionalFilingsBInspect
Stay up to date with the most recent SEC filings related to institutional ownership using the Institutional Ownership Filings API. This tool allows you to track the latest reports and disclosures from institutional investors, giving you a real-time view of major holdings and regulatory submissions.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 0) | |
| limit | No | Limit on number of results (default: 100, max: 100) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It mentions 'real-time view' but does not explain pagination behavior, authorization requirements, response structure, or any limitations. No contradiction with annotations since none exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and reasonably concise. However, the second sentence largely repeats the first ('track the latest reports and disclosures' is similar to 'latest SEC filings related to institutional ownership'), adding little value. It is still concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and annotations, the description should provide more context about return values, pagination, and use cases. It does not explain what fields are returned, how page/limit affect results, or how this differs from related filing tools. The tool is simple, but the description is still incomplete for an agent to select it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with descriptions for both parameters (page and limit) including defaults. The description adds no additional context or semantics beyond what the schema offers, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the most recent SEC filings related to institutional ownership, using a specific verb (track/get) and resource (institutional ownership filings). It differentiates from sibling tools like getFilingsBySymbol or getLatest8KFilings by focusing specifically on institutional ownership filings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when tracking latest institutional ownership filings but does not explicitly mention when not to use it or alternatives. It lacks exclusions or comparison with other filing-related tools, so guidance is only implied, not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getLatestMergersAcquisitionsBInspect
Access real-time data on the latest mergers and acquisitions with the FMP Latest Mergers and Acquisitions API. This API provides key information such as the transaction date, company names, and links to detailed filing information for further analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 0) | |
| limit | No | Limit on number of results (default: 100, max: 1000) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden. It only mentions some output fields (date, company names, filing links) but does not disclose pagination behavior, result ordering, rate limits, or any limitations of the 'real-time' data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the purpose and add relevant return-value context. No redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is minimally sufficient for this simple paginated list tool, but since there is no output schema it should more thoroughly describe the return structure. It also omits any relationship to the searchMergersAcquisitions sibling, which would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully documents the page and limit parameters, so the description adds no parameter-specific meaning. The baseline of 3 applies because schema coverage is 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Access real-time data') and resource ('latest mergers and acquisitions'). The name and 'latest' phrasing distinguish it from the sibling searchMergersAcquisitions, though no explicit comparison is made.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: the tool is for retrieving current/latest M&A data. However, it does not explicitly mention when not to use it or direct users to alternatives like searchMergersAcquisitions, so guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getLatestSenateDisclosuresAInspect
Access the latest financial disclosures from U.S. Senate members with the FMP Latest Senate Financial Disclosures API. Track recent trades, asset ownership, and transaction details for enhanced transparency in government financial activities.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination | |
| limit | No | Limit the number of results |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It provides useful content context ('recent trades, asset ownership, transaction details') and implies a read-only retrieval, but it does not mention pagination behavior, response format, data freshness, or any limits. This is partially transparent but not fully.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary purpose, and every clause adds relevant context about the resource and intended use. There is no wasted words or redundant repetition of parameter details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter list tool with no output schema, the description provides an adequate high-level overview but omits important details like what 'latest' means, how pagination works, or the structure of returned results. It is minimally viable but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully describes both parameters (page and limit) with clear descriptions, and the tool description adds no additional parameter-level semantics. Given 100% schema_description_coverage, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Access') and a clear resource ('latest financial disclosures from U.S. Senate members'), and explicitly names the FMP API. This distinguishes it from closely related siblings like getLatestHouseDisclosures (House vs. Senate) and getSenateTrades (disclosures vs. trades).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for retrieving recent Senate financial disclosures, but it does not explicitly state when to use it over alternatives like getSenateTrades or getLatestHouseDisclosures. There is no when-not-to-use guidance or mention of sibling alternatives, so usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getLeveredDCFValuationAInspect
Analyze a company’s value with the FMP Levered Discounted Cash Flow (DCF) API, which incorporates the impact of debt. This API provides post-debt company valuation, offering investors a more accurate measure of a company's true worth by accounting for its debt obligations.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It explains the tool's core purpose (post-debt valuation) but does not mention return format, data availability, or any limitations. As a read-only tool, the lack of explicit safety disclosure is less critical, but the description could provide more detail about what the agent should expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main action ('Analyze a company's value'), and every sentence contributes meaningful context about the tool's purpose. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple (one parameter, no output schema), but the description leaves out details about the response structure or any assumptions used in the DCF. Without an output schema, the description could better indicate what fields or valuation data the agent will receive, making it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (only 'symbol' with description 'Stock symbol'), so the schema fully documents the parameter. The description reuses the concept of a company but adds no additional detail about the parameter beyond what the schema already provides, meeting the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool analyzes a company's value using the FMP Levered DCF API, explicitly mentioning it incorporates debt impact and provides post-debt valuation. This distinguishes it from unlevered DCF tools like getDCFValuation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context that this tool is for levered DCF valuation accounting for debt, implying when to use it. However, it does not explicitly mention alternatives or when not to use it, so it stops short of the explicit guidance required for a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getLightChartAInspect
Access simplified stock chart data using the FMP Basic Stock Chart API. This API provides essential charting information, including date, price, and trading volume, making it ideal for tracking stock performance with minimal data and creating basic price and volume charts.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosure. It reveals that the tool returns only essential fields (date, price, volume) and is simplified, which is useful. However, it does not mention read-only nature, rate limits, or response format beyond the field list, leaving some ambiguity for agent decision-making.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose. The first sentence states the action and resource; the second adds data content and use cases. No wasted words, well-structured and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple data-retrieval tool with fully documented parameters, the description is largely complete. It states what data is returned and typical use cases. Lacking an output schema, it still covers the main fields. It does not explicitly mention daily vs. intraday granularity, but 'simplified' and 'minimal' imply daily bars, making this acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no new parameter-level information beyond what the schema already provides; it only references the general data fields returned, not how parameters affect the response.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses simplified stock chart data, specifying the data fields (date, price, trading volume) and the minimal nature of the data. It distinguishes from siblings like getFullChart by emphasizing 'simplified' and 'basic', making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear intended use cases: 'ideal for tracking stock performance with minimal data and creating basic price and volume charts.' It implies when to use this tool over fuller alternatives, though it does not explicitly name alternatives or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_marketAInspect
Get detailed information about a specific market by slug. Returns probabilities, volume, liquidity, outcomes, and full market data.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Market slug (from URL or search results) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It honestly states the returned fields, but it does not mention error behavior (e.g., invalid/unknown slug), rate limits, or any side effects (though as a 'get' operation, mutation is unlikely). This is adequate for a simple read-only tool, but lacks richer context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states the action, scope, and what is returned. No filler or redundant phrasing, making it exceptionally concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter lookup tool without an output schema, the description adequately covers inputs and outputs. However, 'full market data' is vague and could be more explicit about the exact structure, and there is no mention of not-found behavior. Still, it is sufficiently complete for typical usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes the slug parameter fully ('Market slug (from URL or search results)'), and the description merely says 'by slug' without adding new syntactic or semantic details. At 100% schema coverage, the baseline is 3, and the description does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get'), resource ('market'), and identifier ('by slug'). It clearly enumerates the returned data (probabilities, volume, liquidity, outcomes, full market data), which distinguishes it from sibling tools like search_markets or analyze_market.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'by slug (from URL or search results)' implies a workflow where a user first searches for markets and then uses get_market with the resulting slug. However, it does not explicitly contrast this tool with alternatives such as analyze_market or search_markets, so usage guidance is only implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getMarketCapCInspect
Retrieve the market capitalization for a specific company on any given date using the FMP Company Market Capitalization API. This API provides essential data to assess the size and value of a company in the stock market, helping users gauge its overall market standing.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the tool retrieves market cap 'on any given date', but the input schema only includes a 'symbol' parameter with no date field. This is misleading and contradicts the actual capabilities. No behavioral details such as output format, permissions, or limitations are disclosed, and with no annotations the description carries the full burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, but the second sentence is generic filler about assessing size and value that adds no actionable information. It is concise in length but not every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite being a simple tool with one parameter and no output schema, the description fails to explain what the response looks like, how the date is handled (if at all), or any caveats. The mismatch between the claims and the schema leaves the agent without complete guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds a misleading 'any given date' notion not reflected in the schema. It does not provide any additional meaning for the symbol parameter beyond the schema's minimal 'Stock symbol' description, and the false date capability actively detracts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves market capitalization for a specific company using the FMP API. The verb 'Retrieve' and resource are specific, but it does not differentiate from sibling tools like getHistoricalMarketCap or getBatchMarketCap, so it misses the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The description implies it is for historical market cap on any date, but it does not mention exclusions or compare with similar sibling tools such as getHistoricalMarketCap or getBatchMarketCap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getMarketRiskPremiumCInspect
Access the market risk premium for specific dates with the FMP Market Risk Premium API. Use this key financial metric to assess the additional return expected from investing in the stock market over a risk-free investment.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden of disclosing behavior. It does not mention return format, date handling, limitations, or any prerequisites. It also implies 'specific dates' are input, but the schema has no parameters, creating an unaddressed inconsistency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded, stating the action first. The second sentence adds context but is somewhat promotional ('key financial metric'), though it does not significantly bloat the text. Overall, it is efficiently structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema or annotations, the description should clarify what the tool returns and how it behaves. It does neither, and the 'specific dates' claim contradicts the empty schema, leaving the tool incomplete for an agent trying to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero properties, so no parameter documentation is needed; however, the description references 'specific dates,' which misleadingly implies a date parameter that does not exist in the schema. This undermines clarity rather than adding value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: accessing the market risk premium, a specific financial metric, for specific dates. It distinguishes this tool from the many sibling tools by naming the unique metric, though the verb 'access' is somewhat generic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context for when to consider the metric ('assess additional return expected...') but does not explicitly state when to use this tool versus alternatives or when not to use it. The usage guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getMostActiveStocksBInspect
View the most actively traded stocks using the Top Traded Stocks API. Identify the companies experiencing the highest trading volumes in the market and track where the most trading activity is happening.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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 underlying 'Top Traded Stocks API' and the focus on trading volumes, but it does not disclose details such as the number of stocks returned, sorting order, data frequency, or any limitations. For a read-only data retrieval tool, this is a gap but not a severe one.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the primary action, and contains minimal redundancy. The phrase 'track where the most trading activity is happening' adds a bit of value but is slightly redundant with the first sentence. Overall, it is concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description should at least clarify what constitutes 'most active' (e.g., highest volume, top N) and what the response format looks like. The description provides a general sense but lacks specifics about the output, such as whether it returns a list of tickers, counts, or additional metrics. This makes it minimally viable but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing for the description to explain. According to the baseline rule for zero parameters, a score of 4 is appropriate. The description adds no parameter semantics, but none are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to view most actively traded stocks and identify companies with the highest trading volumes. The verb 'View' and resource 'most actively traded stocks' are specific. However, it does not distinguish itself from the sibling tool 'getActivelyTradingList', which appears to serve a similar function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating what the tool does, but it provides no explicit guidance on when to use this tool versus alternatives like 'getActivelyTradingList' or 'getBiggestGainers'. There are no exclusions or contextual triggers mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getMutualFundQuotesBInspect
Access real-time quotes for mutual funds with the FMP Mutual Fund Price Quotes API. Track current prices, performance changes, and key data for various mutual funds.
| Name | Required | Description | Default |
|---|---|---|---|
| short | No | Whether to use short format |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It mentions 'real-time quotes' and 'current prices, performance changes, and key data,' but fails to clarify that the tool likely returns a bulk list (no symbol parameter is present) and does not explain the effect of the 'short' parameter beyond the schema. The lack of any required parameters and the singular optional boolean suggest a list endpoint, but this is not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary purpose, and contains no fluff or redundant information. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has only one optional parameter, yet the description does not explain how to specify which mutual fund(s) to query. Given there is no output schema, the description should clarify whether this returns a list of all mutual fund quotes or requires external context. The phrase 'various mutual funds' is vague and incomplete for effective tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter, 'short', with a description ('Whether to use short format'), so schema coverage is 100%. The tool description adds no additional meaning about parameters, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Access real-time quotes for mutual funds' with a specific verb and resource. It distinguishes from sibling tools like getQuote and getETFQuotes by explicitly focusing on mutual funds.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for mutual fund quote retrieval but does not explicitly state when to use this tool over alternatives like getQuote or getBatchQuotes. There is no mention of exclusions or alternative tools, leaving the agent to infer from the resource type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getNasdaqConstituentsCInspect
Access comprehensive data for the Nasdaq index with the Nasdaq Index API. Monitor real-time movements and track the historical performance of companies listed on this prominent stock exchange.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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 uses vague terms like 'comprehensive data' and 'real-time movements' but doesn't disclose whether this is a read-only operation, what the output format looks like, or any rate-limit/authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but the second sentence is vague and includes filler like 'prominent stock exchange' instead of clarifying exactly what data is returned. It could be more precise and front-load the key purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain what 'comprehensive data' means and explicitly mention the constituent list. It doesn't, leaving the return values under-specified for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to document parameter semantics. The baseline of 4 applies because no parameter documentation is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the Nasdaq index and mentions 'companies listed on this prominent stock exchange', which implies constituents, but it never explicitly says the tool returns the constituent list. It also doesn't distinguish from sibling tools like getIndexQuote or getHistoricalNasdaqChanges.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives such as getDowJonesConstituents, getSP500Constituents, or getIndexQuote. There are no exclusions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_news_dataCInspect
Get stock-related news data.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol/ticker (e.g. '000001') | |
| recent_n | No | Number of most recent records to return |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only says 'Get stock-related news data.' It does not explain what the returned data looks like, how recent_n affects results, or any other behavioral traits such as sorting, pagination, or data source. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only one sentence, which is brief, but it omits essential context, making it under-specified rather than concisely informative. It does not earn its place because it could apply to many sibling tools.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, no annotations, and the description is minimal. Given the large number of sibling tools covering news, market data, and company info, this description is insufficient to uniquely identify the tool's behavior or output. The agent would need to look elsewhere for meaningful context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents both parameters and their meanings. The description adds no extra parameter context beyond what is in the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Get') and resource ('stock-related news data'), but it is vague about what constitutes the news data (headlines, articles, sentiment?) and does not differentiate it from similar siblings like getStockNews or searchStockNews. It is not a tautology, but it lacks specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. The description does not mention any exclusions, prerequisites, or typical use cases, leaving the agent to guess why this one is preferred over other news-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getOwnerEarningsAInspect
Retrieve a company's owner earnings with the Owner Earnings API, which provides a more accurate representation of cash available to shareholders by adjusting net income. This metric is crucial for evaluating a company’s profitability from the perspective of investors.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It describes the concept of owner earnings but does not detail the tool's operational behavior, such as return format, authentication requirements, or whether it is read-only. The verb 'retrieve' implies a read operation, but lacks explicit transparency about the response structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise at two sentences, with the main action front-loaded in the first sentence. However, the phrase 'with the Owner Earnings API' is redundant given the tool name, and the second sentence has some promotional tone that could be trimmed. Overall, it is efficient but not perfectly minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (single parameter, no output schema), the description provides sufficient context for an agent to understand its purpose and the meaning of owner earnings. It lacks details about the return structure, but for such a straightforward retrieval tool, the description is mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage with a single parameter 'symbol' described as 'Stock symbol'. The description adds no additional meaning or context to the parameter, so it does not go beyond the schema. The baseline of 3 is appropriate because the schema already fully documents the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a company's owner earnings, a specific financial metric. It distinguishes itself from sibling tools by focusing on owner earnings, which is unique among the listed tools. The verb 'retrieve' is specific and the resource is well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on when to use the tool: when evaluating profitability from an investor's perspective, as owner earnings is a more accurate representation of cash available to shareholders. It does not explicitly mention alternatives or exclusions, but the use case is clearly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getPositionsSummaryCInspect
The Positions Summary API provides a comprehensive snapshot of institutional holdings for a specific stock symbol. It tracks key metrics like the number of investors holding the stock, changes in the number of shares, total investment value, and ownership percentages over time.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Year of filing | |
| symbol | Yes | Stock symbol | |
| quarter | Yes | Quarter of filing (1-4) |
Tool Definition Quality
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 it only says 'provides a comprehensive snapshot' and 'over time'. It does not clarify whether the output is a time series, how the required year and quarter parameters affect the response, or any other behavioral traits like data source or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and mostly efficient, but phrases like 'provides a comprehensive snapshot' are somewhat vague and could be more direct. Still, it avoids redundancy and presents the key information in a structured way.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description does not explain what the returned data looks like, whether it is a point-in-time summary or a time series, or how the year/quarter inputs shape the result. It also lacks usage guidelines, making it incomplete for a tool with three required parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already has 100% description coverage for all three parameters (symbol, year, quarter), so the baseline is 3. The tool description adds no substantial meaning beyond what the schema states, though it reinforces that the data is for a specific stock and over time.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: provides a comprehensive snapshot of institutional holdings for a specific stock symbol, with details on metrics like investor count and share changes. It uses a specific verb and resource, but does not explicitly differentiate from sibling tools like getFundHoldings or getLatestInstitutionalFilings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool over alternatives or any exclusions. It implies usage for getting institutional holding summaries, but does not mention any circumstances, prerequisites, or related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getPressReleasesBInspect
Access official company press releases with the FMP Press Releases API. Get real-time updates on corporate announcements, earnings reports, mergers, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| page | No | Page number (default: 0) | |
| limit | No | Limit on number of results (default: 20, max: 250) |
Tool Definition Quality
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 only says 'real-time updates' and 'official company press releases,' but does not disclose return format, pagination behavior, date-range handling, or whether results are global or company-specific. This is insufficient for a tool with no output schema and no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loads the core purpose. The phrase 'with the FMP Press Releases API' is somewhat redundant given the tool name, but it does not add meaningful clutter. Overall, it is concise and efficiently structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description should provide enough context about what the call returns and how results are scoped. It does not clarify whether this returns all press releases globally or supports a specific company, especially since the schema lacks a ticker/symbol parameter and the sibling list includes searchPressReleases. This ambiguity is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all four parameters (to, from, page, limit) with descriptions, so the baseline is 3. The description adds no parameter-specific meaning, but it is not required because the schema already documents each parameter fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Access') and a clear resource ('official company press releases'), then details content types ('corporate announcements, earnings reports, mergers'). This clearly distinguishes it from sibling searchPressReleases, which implies a search behavior, while this tool is the direct access/feed variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving press releases but gives no explicit when-to-use or when-not-to-use guidance. It does not mention alternatives like searchPressReleases or related news tools, so an agent gets only implicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getPriceTargetConsensusBInspect
Access analysts' consensus price targets with the FMP Price Target Consensus API. This API provides high, low, median, and consensus price targets for stocks, offering investors a comprehensive view of market expectations for future stock prices.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral disclosure burden. It mentions the return content (high, low, median, consensus) but fails to disclose any limitations, data freshness, access requirements, or other behavioral traits. It is essentially a restatement of the tool's output without deeper context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, consisting of two sentences, and front-loads the core purpose ('Access analysts' consensus price targets'). No filler or redundant information is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description adequately explains the return value by listing high, low, median, and consensus price targets. It lacks guidance on usage alternatives, but this is already scored separately. Overall, it is sufficiently complete for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter 'symbol' described as 'Stock symbol'. The description adds no additional parameter semantics beyond the field's name and type, so it meets the baseline but does not enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Access analysts' consensus price targets with the FMP Price Target Consensus API'. It identifies the resource and lists key output fields (high, low, median, consensus). However, it does not explicitly distinguish it from sibling tools like getPriceTargetSummary, which likely offers similar functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 does not mention exclusions, prerequisites, or scenarios where another sibling (e.g., getPriceTargetSummary or getPriceTargetSummariesBulk) would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getPriceTargetLatestNewsAInspect
Stay updated with the most recent analyst price target updates for all stock symbols using the FMP Price Target Latest News API. Get access to detailed forecasts, stock prices at the time of the update, analyst insights, and direct links to news sources for deeper analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Optional page number (default: 0, max: 100) | |
| limit | No | Optional limit on number of results (default: 10, max: 1000) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavior disclosure. It adds value by describing the returned content (forecasts, stock prices, analyst insights, news links), but it does not mention pagination behavior, result limits, or any potential side effects. The 'most recent' qualifier is useful but limited, leaving some behavioral aspects undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, with the first sentence stating the core purpose and the second briefly listing the types of data returned. Every sentence earns its place without unnecessary fluff, making it concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 optional parameters, no output schema), the description is fairly complete: it covers scope, content, and the source. It does not explicitly state the return structure or pagination behavior, but the schema covers parameters, and the description provides sufficient context for an agent to select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions for page and limit. The description does not elaborate on these parameters, but it does clarify that the tool operates on 'all stock symbols', which is a scope clarification beyond the schema. Since the schema already handles parameter semantics, this is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the most recent analyst price target updates for all stock symbols, with a specific verb ('Stay updated' / 'get access') and resource. It distinguishes itself from siblings by explicitly noting 'for all stock symbols', which differentiates it from symbol-specific tools like getPriceTargetNews.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for broad, latest price target news across all symbols, giving context for when to use it (staying updated on all stocks). However, it does not explicitly mention alternatives or when not to use it, leaving the distinction from sibling tools implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getPriceTargetNewsBInspect
Stay informed with real-time updates on analysts' price targets for stocks using the FMP Price Target News API. Access the latest forecasts, stock prices at the time of the update, and direct links to trusted news sources for deeper insights.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Optional page number (default: 0) | |
| limit | No | Optional limit on number of results (default: 10) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral disclosure burden. It mentions real-time updates and the type of content returned (forecasts, stock prices, links), but does not disclose pagination behavior, rate limits, or how page/limit parameters affect the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose and followed by a concise list of returned content. No filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relatively simple news tool, the description covers the main content of the response. Without an output schema, it could explain pagination or the shape of results, but the provided details are adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all three parameters (symbol, page, limit) clearly documented. The description does not add additional meaning to the parameters, just restates the tool's purpose, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses real-time analyst price target news, with forecasts, current stock prices, and news links. It is specific about the resource (price target news) and content, but does not explicitly distinguish from the similarly named sibling getPriceTargetLatestNews.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like getPriceTargetLatestNews or getStockNews. The description does not offer any context for tool selection or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getPriceTargetSummariesBulkAInspect
The Price Target Summary Bulk API provides a comprehensive overview of price targets for all listed symbols over multiple timeframes. With this API, users can quickly retrieve price target data, helping investors and analysts compare current prices to projected targets across different periods.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It mentions 'comprehensive overview' and 'multiple timeframes' but does not specify return format, data limits, or whether this is a read-only operation. The bulk nature could have performance implications, but these are not mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and relatively concise, but the second sentence includes promotional language ('helping investors and analysts compare') that adds little functional value. Still, it is appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives a high-level overview but leaves gaps: no mention of response structure, the specific timeframes included, or any constraints on 'all listed symbols.' For a bulk API with no output schema, more detail would be expected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing to document. The description adds value by explaining the output scope, which aligns with the baseline of 4 for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: retrieving price target summaries for all listed symbols across multiple timeframes. The 'Bulk' suffix and 'all listed symbols' differentiate it from sibling getPriceTargetSummary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a use case for investors comparing current prices to projected targets, but it does not explicitly state when to use this tool versus alternatives like getPriceTargetSummary or getPriceTargetConsensus. No exclusion criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getPriceTargetSummaryCInspect
Gain insights into analysts' expectations for stock prices with the FMP Price Target Summary API. This API provides access to average price targets from analysts across various timeframes, helping investors assess future stock performance based on expert opinions.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral details on its own. It only says 'across various timeframes', which hints at output variety but does not explain the response structure, whether it returns a single summary or multiple entries, or any specifics like data freshness, sorting, or error handling. This leaves a significant transparency gap for an API tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, which is concise overall. However, the first sentence ('Gain insights into analysts' expectations for stock prices') is generic marketing language that adds little value beyond the second sentence. It could be condensed to one informative sentence without losing meaning, so it earns a middle score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should explain what the caller will receive, but it does not. It fails to mention that the response likely contains fields like average price target, high/low estimates, or the timeframes included. It also does not differentiate this summary tool from consensus or bulk variants. For a simple one-parameter tool, this is incomplete but not catastrophic.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for the single parameter ('symbol': 'Stock symbol'), so the schema already documents the parameter clearly. The description itself does not mention the parameter, but since the schema fully covers it, the baseline score of 3 is appropriate. It adds no extra semantic meaning, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing access to average price targets from analysts, which matches the tool name 'getPriceTargetSummary'. It names a specific resource (FMP Price Target Summary API) and what information it delivers (average price targets). However, it does not distinguish this from sibling tools like getPriceTargetConsensus or getPriceTargetSummariesBulk, so it is not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 only states a general use case ('helping investors assess future stock performance'), which is too broad and does not mention any exclusions or competing tools. There is no mention of when to choose this over getPriceTargetConsensus or other price-target-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getQuoteAInspect
Access real-time stock quotes with the FMP Stock Quote API. Get up-to-the-minute prices, changes, and volume data for individual stocks.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral transparency burden. It does disclose that data is real-time and includes prices, changes, and volume, which is useful context. However, it does not mention authentication requirements, rate limits, error behavior, or whether the quote reflects regular trading hours versus after-hours, leaving some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and every word adds value. The reference to 'FMP Stock Quote API' is slightly extraneous but does not detract from clarity. It is concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter tool with no output schema, the description gives a general sense of what is returned ('prices, changes, and volume data') but lacks specifics such as exact response fields (e.g., open, high, low, bid/ask) or error handling. It is adequate for a straightforward quote retrieval but not fully complete for an agent that needs detailed return expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the 'symbol' parameter described as 'Stock symbol'. The tool description reinforces this by saying 'individual stocks', adding minimal semantic value beyond the schema. Baseline of 3 is appropriate since the schema already fully documents the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses real-time stock quotes and retrieves up-to-the-minute prices, changes, and volume data for individual stocks. It uses specific verbs and resources, and the phrase 'individual stocks' distinguishes it from sibling tools that handle batches, other asset classes, or aftermarket quotes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by emphasizing 'individual stocks' and 'real-time,' suggesting it is for single-stock, current-price queries. However, it does not explicitly name alternatives (e.g., getBatchQuotes for multiple symbols or getAftermarketQuote) or provide when-not-to-use guidance, leaving usage selection somewhat implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getQuoteShortAInspect
Get quick snapshots of real-time stock quotes with the FMP Stock Quote Short API. Access key stock data like current price, volume, and price changes for instant market insights.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It discloses that the tool returns real-time data including current price, volume, and price changes, which gives useful behavioral context. However, it omits details like error behavior, data limitations due to the 'short' nature, or confirmation of read-only semantics beyond the verb 'Get'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the core action and then the data fields. Every sentence contributes meaning without filler or repetition, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read tool with no output schema, the description adequately covers what the tool does and what data it returns. The main gap is insufficient differentiation from sibling quote tools (e.g., getQuote, getBatchQuotesShort), but the 'quick snapshots' phrase partially addresses this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage for the single parameter 'symbol' with a 'Stock symbol' description. The description adds only the context that the symbol refers to stocks (rather than crypto or forex), which is marginal value. No additional formatting or interpretation guidance is given beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'Get quick snapshots of real-time stock quotes.' The term 'quick snapshots' distinguishes it from more detailed quote tools, though it does not explicitly name an alternative like getQuote. It conveys a lighter-weight variant of a stock quote.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for instant market insights' provides a general use case, implying this is for quick reference. However, there is no explicit guidance on when to prefer this over sibling tools like getQuote or getBatchQuotesShort, and no exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getRatingsSnapshotBInspect
Quickly assess the financial health and performance of companies with the FMP Ratings Snapshot API. This API provides a comprehensive snapshot of financial ratings for stock symbols in our database, based on various key financial ratios.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional limit on number of results (default: 1) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must bear the full burden of behavioral disclosure, yet it only vaguely says the snapshot is 'based on various key financial ratios' without describing the actual rating output, agencies, or the default limit behavior. It also fails to mention how missing or invalid symbols are handled, leaving significant unknowns for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long and gets to the point quickly, with no redundant filler. It is slightly promotional in tone ('Quickly assess') but remains efficient and appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the description should compensate by explaining what a 'rating snapshot' actually contains and the impact of the limit parameter (which defaults to 1 per the schema). It does neither, leaving the tool's output structure and default behavior ambiguous and making it difficult for an agent to know if the response meets its needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for both parameters (symbol and limit), giving 100% coverage, so the description is not required to add much. It does add a general notion of a 'snapshot' but no specific parameter semantics beyond the schema. This aligns with the baseline of 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides a 'comprehensive snapshot of financial ratings for stock symbols' using key financial ratios, identifying a specific resource and action. However, it does not distinguish this tool from sibling tools like getHistoricalRatings or getStockRatingsBulk, so it falls short of the highest mark.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a 'quickly assess' use case for financial health, but offers no explicit guidance on when to choose this tool over alternatives like historical or bulk ratings. The word 'snapshot' hints at current-period data, but the description does not state this limitation or any exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getRatiosBInspect
Analyze a company's financial performance using the Financial Ratios API. This API provides detailed profitability, liquidity, and efficiency ratios, enabling users to assess a company's operational and financial health across various metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit on number of results (default: 100, max: 1000) | |
| period | No | Period (Q1, Q2, Q3, Q4, FY, annual, or quarter) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden of behavioral disclosure. It only says the API 'provides detailed ratios' and does not mention response format, default time periods, rate limits, or whether this returns quarterly vs TTM data. This is a meaningful transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and gets to the point quickly. It is slightly repetitive in mentioning 'Financial Ratios API' and the purpose, but it remains compact and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With three simple parameters and no output schema, the description gives a general idea of the returned ratio categories but omits details such as which specific ratios appear, how the period parameter affects results, and how this compares to TTM variants. It is adequate for basic selection but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all three parameters (symbol, limit, period) with 100% coverage, so the description does not need to repeat them. The description adds no additional semantic meaning beyond the schema, hence the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it analyzes a company's financial performance and provides profitability, liquidity, and efficiency ratios, so the core purpose is clear. However, it does not distinguish this from closely related siblings like getFinancialRatiosTTM or getKeyMetrics, so it misses the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when assessing a company's operational and financial health via ratios, but it does not specify when to prefer this over getFinancialRatiosTTM, getKeyMetrics, or other financial ratio tools. There are no clear exclusions or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getRatiosTTMBulkBInspect
The Ratios TTM Bulk API offers an efficient way to retrieve trailing twelve months (TTM) financial ratios for stocks. It provides users with detailed insights into a company’s profitability, liquidity, efficiency, leverage, and valuation ratios, all based on the most recent financial report.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It adds minimal context (TTM, based on most recent financial report) but omits critical behaviors: how the bulk selection works (since the schema has no parameters), whether it returns data for all stocks, pagination, or required authentication.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is relatively concise and includes useful information about ratio categories. Some promotional language ('offers an efficient way') adds minor fluff but does not significantly harm clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks essential context for a bulk endpoint: it does not explain what set of stocks it covers, how it is invoked without parameters, or how it differs from the non-bulk sibling. Since there is no output schema or annotations, the description should provide more operational details, but it falls short.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is effectively empty. The baseline for 0 parameters is 4, and the description does not need to add parameter details. It does add context about the types of ratios returned, though that is more about output than parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool retrieves trailing twelve months (TTM) financial ratios for stocks, listing the ratio categories. However, it does not explicitly distinguish this bulk tool from the sibling 'getFinancialRatiosTTM' (non-bulk), so it 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this bulk endpoint versus the single-stock variants (e.g., getFinancialRatiosTTM). The description merely describes what it does without mentioning use cases, exclusions, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_realtime_dataBInspect
Get real-time stock market data. 'eastmoney_direct' support all A,B,H shares
| Name | Required | Description | Default |
|---|---|---|---|
| source | No | Data source | eastmoney_direct |
| symbol | No | Stock symbol/ticker (e.g. '000001') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It only mentions source coverage for eastmoney_direct, but does not describe response format, latency, data freshness, rate limits, or differences between sources. This is a significant transparency gap for a real-time data tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, with zero wasted words. The only minor issue is a grammatical awkwardness in 'support all A,B,H shares,' but this does not undermine conciseness or structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the returned data looks like, but it doesn't. It also lacks details about source differences, symbol requirements, or any caveats. For a simple 2-parameter tool it's minimally adequate, but not complete enough for an agent to reliably use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage of both parameters (source and symbol), so the baseline is 3. The description adds no extra parameter meaning beyond what the schema provides, such as symbol format or source-specific behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get real-time stock market data,' which is a specific verb+resource combination. It adds the detail that eastmoney_direct supports all A, B, H shares, giving some scoping. However, it doesn't explicitly distinguish this tool from the many sibling quote-related tools, so it's not a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There's no explicit statement about when to use this tool versus alternatives. The mention of eastmoney_direct supporting A/B/H shares implies usage for Chinese stock markets, but no when-not or alternative tool is named. This is implied usage at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getRevenueGeographicSegmentationAInspect
Access detailed revenue breakdowns by geographic region with the Revenue Geographic Segments API. Analyze how different regions contribute to a company’s total revenue and identify key markets for growth.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Period type (annual or quarter) | |
| symbol | Yes | Stock symbol | |
| structure | No | Response structure |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior on its own. It only states the high-level operation without detailing response structure, data limitations, authentication requirements, or side effects. The description adds minimal behavioral context beyond what the tool name implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main action, and contains no filler. It efficiently communicates purpose and use case without unnecessary text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives a clear purpose but, without an output schema, the agent isn't told what fields to expect in the response. It also doesn't mention period/structure handling or data availability constraints. For a basic data-fetching tool, it provides enough to initiate a call, but lacks details for fully anticipating the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters are fully documented in the schema (100% coverage), so the description does not need to explain parameter details. The description does not add extra meaning beyond the schema, but the baseline score of 3 is appropriate given the high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Access') and resource ('revenue breakdowns by geographic region'). It effectively distinguishes from the sibling tool getRevenueProductSegmentation by explicitly mentioning 'geographic region'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context and a defined use case ('Analyze how different regions contribute to a company’s total revenue and identify key markets for growth'). However, it does not explicitly mention exclusions or alternatives, such as the product-based sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getRevenueProductSegmentationBInspect
Access detailed revenue breakdowns by product line with the Revenue Product Segmentation API. Understand which products drive a company's earnings and get insights into the performance of individual product segments.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Period type (annual or quarter) | |
| symbol | Yes | Stock symbol | |
| structure | No | Response structure |
Tool Definition Quality
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 'detailed revenue breakdowns' and 'insights' but does not disclose the return format, data granularity, pagination, or any limitations. Without annotations, this is insufficient for the agent to know what to expect from the invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loaded with the core purpose. The second sentence, though somewhat redundant with the first, adds a touch of use-case context. Overall, it is concise and wastes minimal words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain what the response contains or the broader context of the data. It only says 'detailed revenue breakdowns' and 'insights' but does not describe the actual data structure (e.g., list of products with revenue values), period coverage, or how to interpret results. The description is incomplete for a data retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters (symbol, period, structure). The description adds no additional meaning beyond the schema, such as clarifying the effect of 'period' or 'structure' on the output. Baseline 3 is appropriate since the schema handles the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Access detailed revenue breakdowns by product line' with a specific verb (access) and resource (revenue breakdowns by product line). This distinguishes it from the sibling tool getRevenueGeographicSegmentation by explicitly focusing on product segments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for understanding product performance ('Understand which products drive a company's earnings'), but it does not explicitly state when to use this tool versus alternatives, nor does it provide exclusion criteria. It gives a sense of purpose but not direct guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getRSIAInspect
Calculate the Relative Strength Index (RSI) for a stock using the FMP RSI API. This tool helps users analyze momentum and overbought/oversold conditions based on historical price data.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Stock symbol | |
| timeframe | Yes | Timeframe (1min, 5min, 15min, 30min, 1hour, 4hour, 1day) | |
| periodLength | Yes | Period length for the indicator |
Tool Definition Quality
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 only mentions the calculation and the underlying API, but does not disclose output format (e.g., whether it returns a single value or a series), error behavior, rate limits, or any side effects. This is a significant gap for a financial data tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action, and contains no fluff. It efficiently communicates both what the tool does and why it is useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (5 parameters, no output schema), the description is adequate but not complete. It does not explain what the return value looks like or how optional parameters (from/to) behave, which would be helpful for agents selecting this tool among many similar indicator tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters are described in the input schema (100% coverage), so the baseline is 3. The description does not add any parameter-specific meaning beyond the schema, though the phrase 'based on historical price data' loosely relates to the date and timeframe parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Calculate the Relative Strength Index (RSI) for a stock using the FMP RSI API.' It also explains the purpose ('analyze momentum and overbought/oversold conditions'), which distinguishes it from sibling indicator tools like getSMA or getEMA.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use case: 'This tool helps users analyze momentum and overbought/oversold conditions based on historical price data.' This gives context for when to use it, but it does not explicitly mention alternatives or exclusions, so it stops short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getSecFilingExtractCInspect
The Filings Extract API allows users to extract detailed data directly from official SEC filings. This API provides access to key information such as company shares, security details, and filing links, making it easier to analyze corporate disclosures.
| Name | Required | Description | Default |
|---|---|---|---|
| cik | Yes | CIK number | |
| year | Yes | Year of filing | |
| quarter | Yes | Quarter of filing (1-4) |
Tool Definition Quality
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 type of data returned (shares, security details, filing links) but does not disclose permissions, rate limits, error behavior, or response format. This is insufficient for a no-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long and mostly efficient. The second half of the second sentence ('making it easier to analyze corporate disclosures') is somewhat filler, preventing a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema or annotations, the description should explain the response structure and clarify how cik/year/quarter map to the extracted data. It only lists example data categories, leaving agents uncertain about the tool's exact output. This is incomplete for a data extraction tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters have schema descriptions ('CIK number', 'Year of filing', 'Quarter of filing'), which is 100% coverage, so the baseline is 3. The description adds no additional context about these parameters or how they affect the extracted data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool extracts detailed data from SEC filings, citing examples like company shares, security details, and filing links. However, it does not explicitly differentiate from sibling tools such as getFilingsByCIK, so it is clear but lacks sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 phrase 'making it easier to analyze corporate disclosures' is a vague use case, not a concrete usage scenario or exclusion. No alternative tools are referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getSectorPerformanceSnapshotCInspect
Get a snapshot of sector performance using the Market Sector Performance Snapshot API. Analyze how different industries are performing in the market based on average changes across sectors.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date (YYYY-MM-DD) | |
| sector | No | Sector (e.g., Energy) | |
| exchange | No | Exchange (e.g., NASDAQ) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden of behavioral disclosure. It only states that the tool 'gets' data and vaguely mentions average changes, but does not disclose return format, filtering behavior, or any limitations. This is minimal disclosure for a tool that may produce varying results based on optional parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, but includes the redundant phrase 'using the Market Sector Performance Snapshot API' which repeats the tool's name. Overall, it communicates the core purpose without excessive verbosity, though the second sentence adds limited new information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relatively simple snapshot tool, the description provides enough to understand the general purpose, but it lacks any detail about the response contents or structure, especially since there is no output schema. It also does not clarify how it differs from closely related sibling tools, leaving some contextual gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides full descriptions for all three parameters (date, sector, exchange) with format examples, achieving 100% coverage. The description adds no additional semantic meaning, such as whether sector and exchange are optional filters or how they interact, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool retrieves a sector performance snapshot via the Market Sector Performance Snapshot API, with a focus on analyzing industry performance based on average sector changes. However, it does not explicitly distinguish between sectors and industries, which could cause confusion with the similarly named sibling tool getIndustryPerformanceSnapshot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 getHistoricalSectorPerformance or getIndustryPerformanceSnapshot. It lacks any conditions, prerequisites, or exclusions, leaving the agent without direction for tool selection in a crowded market-data landscape.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getSectorPESnapshotAInspect
Retrieve the price-to-earnings (P/E) ratios for various sectors using the Sector P/E Snapshot API. Compare valuation levels across sectors to better understand market valuations.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date (YYYY-MM-DD) | |
| sector | No | Sector (e.g., Energy) | |
| exchange | No | Exchange (e.g., NASDAQ) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states high-level retrieval and comparison, but does not explain how the optional sector/exchange filters behave, whether all sectors are returned by default, or what the response looks like. This is a notable transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action verb ('Retrieve') and no filler. Every word contributes to explaining what the tool does and why it's useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple snapshot tool with a well-covered schema, the description gives purpose and a use case, but it omits behavior around optional filters and return values. Given no output schema and no annotations, it is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes all three parameters (100% coverage), so the baseline is 3. The description adds no extra parameter semantics—beyond 'various sectors,' it gives no guidance on how date, sector, or exchange interact or should be used.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves P/E ratios for sectors and positions it for comparing valuation levels. However, it does not differentiate from sibling tools like getHistoricalSectorPE or getIndustryPESnapshot, so it is clear but not fully distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear use case ('Compare valuation levels across sectors to better understand market valuations'), which tells when to use it. But it does not explicitly mention alternatives or when not to use this tool, leaving some ambiguity given the large number of similar market data tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getSenateTradesCInspect
Monitor the trading activity of US Senators with the FMP Senate Trading Activity API. Access detailed information on trades made by Senators, including trade dates, assets, amounts, and potential conflicts of interest.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
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 type of data returned (trade dates, assets, amounts, conflicts) but does not explicitly state that the operation is read-only, that it requires a symbol, how results are filtered, or any limitations such as date ranges or pagination. This is similar to the 'update_drive' example, which scored 2 due to missing behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two sentences) and front-loaded with the primary action. The second sentence adds specific data fields, but it is somewhat redundant with the first sentence ('Monitor' vs. 'Access detailed information'). Still, it is efficient and avoids unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, no output schema), and the description covers the high-level purpose and some return fields. However, it omits critical context: the need to specify a stock symbol, how the tool behaves without valid input, and how it relates to similar Senate-trade endpoints. Given the absence of an output schema, these gaps reduce completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (the only parameter 'symbol' has a description 'Stock symbol'), so the baseline is 3. The tool description does not add additional meaning beyond the schema; it mentions 'assets' but does not clarify that the 'symbol' parameter filters trades by that asset. Thus, the description adds no extra value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: monitoring US Senator trading activity via the FMP Senate Trading Activity API. It names the resource (Senators' trades) and mentions specific data fields (trade dates, assets, amounts, conflicts of interest). However, it does not differentiate from sibling tools like getSenateTradesByName or getLatestSenateDisclosures, which is a minor gap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 does not mention that the required 'symbol' parameter filters results by a specific stock, nor does it contrast with similar Senate-trade tools. There is no statement about use cases, exclusions, or prerequisites, leaving the agent to infer context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getSenateTradesByNameAInspect
Search for Senate trading activity by Senator name with the FMP Senate Trades by Name API. Access detailed information on trades made by specific Senators, including trade dates, assets, amounts, and potential conflicts of interest.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Senator name (first or last name) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden for behavioral disclosure. It mentions the type of information returned (trade dates, assets, amounts, conflicts of interest), but does not disclose operational details like data coverage, pagination, or matching behavior (e.g., exact vs partial name). It is a read-search operation, but this is implied rather than explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loads the core purpose, and includes only relevant details about the return content. Every phrase earns its place, and there is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool without an output schema, the description covers the essential purpose and what information is returned. It could mention edge cases like multiple senators with the same name or how name matching works, but these are not critical for a basic search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, as the 'name' parameter already has a description. The tool description adds minimal semantic value beyond restating 'by Senator name' and 'specific Senators', so it does not exceed the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for Senate trading activity by Senator name, using a specific API. The verb 'Search' and resource 'Senate trading activity' are specific, and the focus on Senator name distinguishes it from siblings like getSenateTrades (which lists all trades) and getHouseTradesByName (House vs Senate).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need trades for a specific Senator, mentioning 'specific Senators' and 'by Senator name'. However, it does not explicitly name alternatives or state exclusions, so it falls slightly short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getSMAAInspect
Calculate the Simple Moving Average (SMA) for a stock using the FMP SMA API. This tool helps users analyze trends and identify potential buy or sell signals based on historical price data.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Stock symbol | |
| timeframe | Yes | Timeframe (1min, 5min, 15min, 30min, 1hour, 4hour, 1day) | |
| periodLength | Yes | Period length for the indicator |
Tool Definition Quality
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 the tool 'calculates' a value but does not disclose behavior such as whether it returns a time series or a single value, whether it uses adjusted prices, or any side effects (e.g., API rate limits, authentication). The read-only nature is implied but not explicitly stated, and there is no clarity on the output format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, concise, and front-loaded with the core action. Every sentence adds value: the first defines what the tool does, the second suggests its practical use. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 5 parameters and no output schema or annotations. The schema covers parameter details, but the description lacks behavioral context such as what the output represents, how the date range affects results, and how this tool fits with sibling indicators. It is complete enough for a basic call but insufficient for nuanced agent decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for all five parameters. The description does not add additional meaning beyond what the schema already provides; it simply names the indicator without explaining how each parameter affects the calculation. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates a Simple Moving Average for a stock, using a specific verb (Calculate) and resource (SMA for a stock). It distinguishes itself from sibling indicators like getEMA, getWMA, and getRSI by naming the specific indicator. The mention of 'FMP SMA API' also adds specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for analyzing trends and identifying buy/sell signals, but does not explicitly state when to prefer SMA over other indicators or provide exclusions. No alternative tools are mentioned, leaving the agent to infer context from the tool name and purpose rather than explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getSP500ConstituentsAInspect
Access detailed data on the S&P 500 index using the S&P 500 Index API. Track the performance and key information of the companies that make up this major stock market index.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It only says 'access detailed data' and mentions tracking performance, but does not disclose return format, whether the data is real-time or historical, or any limitations. It provides minimal transparency beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the main action, but it includes redundancy with 'S&P 500' repeated three times and 'index' twice. It is concise enough, but could be tightened without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description should clarify what data is returned. It says 'detailed data' and 'performance and key information' but does not specify the structure or content of the response. It gives a general sense but lacks enough detail to fully set expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description correctly does not invent any parameters, and there is no need for parameter clarification. It neither adds nor detracts from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides data on the S&P 500 index and the companies that make it up, which directly matches the tool name. It distinguishes from similar tools like getNasdaqConstituents and getDowJonesConstituents by explicitly referencing the S&P 500.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used to access S&P 500 constituent data, but it does not explicitly mention when to use it over alternatives or provide exclusions. No guidance is given regarding alternatives, but the context is clear enough for a straightforward no-parameter tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getStandardDeviationAInspect
Calculate the Standard Deviation for a stock using the FMP Standard Deviation API. This tool helps users analyze volatility and risk associated with historical price data.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Stock symbol | |
| timeframe | Yes | Timeframe (1min, 5min, 15min, 30min, 1hour, 4hour, 1day) | |
| periodLength | Yes | Period length for the indicator |
Tool Definition Quality
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. However, it only restates the purpose and does not disclose whether this is a read-only operation, the output format, or any constraints like the need for both from and to dates. This lack of behavioral detail 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences that are front-loaded with the main action and followed by the use case. Every word contributes value, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward calculation tool with a well-documented schema, the description is adequate but not comprehensive. It lacks sibling differentiation and does not mention any prerequisites, output shape, or edge cases, leaving the agent to infer details from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all five parameters (100% coverage), so the description does not need to explain them. The description adds no extra meaning beyond what the schema already states, aligning with the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Calculate the Standard Deviation for a stock using the FMP Standard Deviation API.' It uses a specific verb (calculate) and resource (standard deviation for a stock), and the second sentence explains its purpose in volatility/risk analysis, distinguishing it from other technical indicator tools like getSMA or getRSI.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: 'This tool helps users analyze volatility and risk associated with historical price data.' It implies usage for risk assessment but does not explicitly mention alternatives or when not to use it, which keeps it slightly below a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getStockGradeLatestNewsCInspect
Stay informed on the latest stock rating changes with the FMP Grade Latest News API. This API provides the most recent updates on analyst ratings for all stock symbols, including links to the original news sources. Track stock price movements, grading firm actions, and market sentiment shifts in real time, sourced from trusted publishers.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Optional page number (default: 0, max: 100) | |
| limit | No | Optional limit on number of results (default: 10, max: 1000) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing behavioral traits. It mentions 'in real time' and 'links to original news sources' but omits pagination behavior, response format, authentication needs, or any side effects. It is promotional rather than transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, but the first sentence ('Stay informed...') is fluffy marketing. The second sentence is more informative but still contains vague phrases like 'market sentiment shifts.' It is concise but not tightly focused on the tool's core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should explain return values. It only says 'links to original news sources' but does not describe the complete response structure, pagination, or which fields an AI can expect. For a tool with two optional params, this is incomplete for informed invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both page and limit, so the baseline is 3. The description adds no extra meaning about how these parameters affect results, such as pagination limits or default behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides the most recent analyst rating updates with links to original sources, distinguishing it from historical rating tools. The verb 'provides' and resource 'latest news on stock rating changes' are specific, though it doesn't explicitly differentiate from the sibling getStockGradeNews.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives like getStockGradeNews or getStockGrades. The description lacks any context about preferred use cases, exclusions, or criteria for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getStockGradeNewsBInspect
Stay informed on the latest analyst grade changes with the FMP Grade News API. This API provides real-time updates on stock rating changes, including the grading company, previous and new grades, and the action taken. Direct links to trusted news sources and stock prices at the time of the update help you stay ahead of market trends and analyst opinions for specific stock symbols.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Optional page number (default: 0) | |
| limit | No | Optional limit on number of results (default: 1, max: 100) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the type of data (grading company, grades, action, news links, stock prices) but omits behavioral details such as pagination, default limit of 1, and what the response shape looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise at three sentences, but the first sentence is promotional and redundant with the second. The content is structured from general to specific.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool lacks an output schema and annotations, and the description does not explain that results are paginated or that the default limit is 1. This is a critical gap for an agent that might expect all news items without setting limit. The description focuses on the content fields but misses interface behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all three parameters, so the schema already documents symbol, page, and limit. The description adds no additional parameter semantics, leaving the baseline at 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides real-time updates on analyst grade changes, including grading company, previous/new grades, and action taken. However, it does not distinguish this tool from the sibling getStockGradeLatestNews, missing the pagination capability implied by the page/limit parameters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for staying informed on grade changes, but it offers no explicit guidance on when to prefer this over alternatives like getStockGradeLatestNews or getStockGrades. No prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getStockGradesBInspect
Access the latest stock grades from top analysts and financial institutions with the FMP Grades API. Track grading actions, such as upgrades, downgrades, or maintained ratings, for specific stock symbols, providing valuable insight into how experts evaluate companies over time.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It indicates a read-only operation but does not disclose return format, pagination, or whether 'latest' means a single current grade or a sequence of recent events. The phrase 'over time' adds ambiguity regarding the temporal scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loaded with the core purpose. It includes minor filler ('from top analysts', 'providing valuable insight') but remains relatively concise and structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description gives a reasonable overview but does not explicitly describe the response structure or clarify ambiguity between 'latest' and 'over time'. The lack of an output schema makes this an acceptable but not complete description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage for the only parameter (symbol). The description merely restates 'specific stock symbols' without adding format examples or additional semantic meaning, meeting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: accessing latest stock grades (upgrades, downgrades, maintained ratings) for specific symbols. The inclusion of 'latest' distinguishes it from historical-grade siblings, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving current grade actions for a symbol, but it does not explicitly differentiate from alternative tools like getHistoricalStockGrades or getStockGradeSummary. No exclusions or alternative tool guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getStockGradeSummaryAInspect
Quickly access an overall view of analyst ratings with the FMP Grades Summary API. This API provides a consolidated summary of market sentiment for individual stock symbols, including the total number of strong buy, buy, hold, sell, and strong sell ratings. Understand the overall consensus on a stock’s outlook with just a few data points.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It adds useful context by describing the returned data (rating counts) and the summary nature, but it does not disclose response structure, symbol format requirements, error behavior, or whether any rate limits apply, leaving gaps for a simple read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences and front-loaded with the core action. There is some redundancy ('overall view', 'consolidated summary', 'overall consensus') that could be streamlined, but overall it is efficiently written and earns its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description provides a reasonable explanation of the return content (rating counts) and purpose. It could be more precise about the exact response fields or error cases, but it is adequate for the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the only parameter 'symbol' (described as 'Stock symbol'). The tool description reinforces that it operates on 'individual stock symbols' but adds no new constraints, formats, or examples beyond the schema, so it stays at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('access an overall view') and the resource ('FMP Grades Summary API'), and specifies the exact content (counts of strong buy, buy, hold, sell, strong sell ratings). It differentiates from siblings like getStockGrades by framing this as a consolidated summary, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case ('quickly access an overall view', 'understand the overall consensus') but does not explicitly mention alternatives or when not to use this tool. It lacks direct contrast with similar sibling tools such as getStockGrades or getRatingsSnapshot, so guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getStockNewsAInspect
Stay informed with the latest stock market news using the FMP Stock News Feed API. Access headlines, snippets, publication URLs, and ticker symbols for the most recent articles from a variety of sources.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| page | No | Page number (default: 0) | |
| limit | No | Limit on number of results (default: 20, max: 250) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears the burden of disclosing behavior. It mentions that the tool returns headlines, snippets, URLs, and tickers, giving some insight into the output, but it does not disclose pagination behavior, default ordering, rate limits, or how date parameters affect results. The phrase 'most recent articles' hints at recency but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted verbiage. It front-loads the core purpose and then lists output fields, making it efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple news-feed tool with well-documented parameters, the description is adequate but not comprehensive. It lacks guidance on the semantics of the date range (e.g., the relationship between 'to' and 'from') and how pagination works, and it does not differentiate itself from searchStockNews. Given no output schema, more detail about the response structure would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptive help text (to, from, page, limit, including defaults and max). The description adds no additional parameter semantics beyond what the schema already provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses the FMP Stock News Feed API to retrieve the latest stock market news, listing specific output fields (headlines, snippets, publication URLs, ticker symbols). This distinguishes it from sibling news tools like getCryptoNews or getGeneralNews by focusing on 'stock market news.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for obtaining current stock market news, but it does not explicitly mention when to prefer this over related tools such as searchStockNews, which may offer search-by-ticker functionality. No exclusions or alternative tools are named, leaving selection guidance largely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getStockPeersBInspect
Identify and compare companies within the same sector and market capitalization range using the FMP Stock Peer Comparison API. Gain insights into how a company stacks up against its peers on the same exchange.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
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 disclosing behavior. It mentions using an API and gaining insights, but does not state whether it is read-only, what data is returned, the response format, or any side effects/rate limits. This is a significant gap for a tool with zero 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the core purpose in the first sentence and the value proposition in the second. No unnecessary words or repetition, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 1-parameter tool with no output schema, the description adequately conveys the tool's function but leaves the response format unspecified. It does not mention what the output looks like (e.g., a list of peer tickers, metrics), which is important since no output schema exists. The lack of behavioral details also reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with a single 'symbol' parameter described as 'Stock symbol'. The description does not add any meaning beyond the schema, but given the high schema coverage, a baseline of 3 is appropriate. It does not clarify symbol format or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool identifies and compares companies within the same sector and market capitalization range using the FMP Stock Peer Comparison API. It specifies the resource (peer companies) and the context (same exchange), though it does not explicitly differentiate from sibling tools like getStockPeersBulk.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for gaining peer comparison insights ('how a company stacks up against its peers'), providing clear context but no explicit when-to-use versus alternatives. It does not mention exclusions or when to choose the bulk variant instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getStockPeersBulkAInspect
The Stock Peers Bulk API allows you to quickly retrieve a comprehensive list of peer companies for all stocks in the database. By accessing this data, you can easily compare a stock’s performance with its closest competitors or similar companies within the same industry or sector.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only promises 'quickly retrieve' and 'comprehensive list'. It does not disclose that fetching all stocks may return a massive payload, nor does it mention rate limits, response structure, or how 'peers' are defined. This leaves significant behavioral uncertainty for a bulk endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main action and resource. The second sentence elaborates the use case without excessive fluff. Minor filler like 'allows you to' and 'easily' prevent a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a bulk endpoint with no output schema and no annotations, the description is thin. It fails to address expected response size, pagination, or system load, and does not mention the distinction from single-stock peers retrieval. This leaves the agent without key operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema reflects this with 100% coverage. The description adds context about the returned data, but since there are no parameters to explain, the baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a comprehensive list of peer companies for all stocks in the database, using an active verb and specific resource. It distinguishes itself from the sibling getStockPeers by emphasizing 'bulk' and 'all stocks', and provides the use case of performance comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for bulk peer comparison but does not explicitly state when to use this tool over getStockPeers or other alternatives. It mentions 'for all stocks' and 'quickly', but lacks exclusions or prerequisites, leaving the intended context to be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getStockPriceChangeBInspect
Track stock price fluctuations in real-time with the FMP Stock Price Change API. Monitor percentage and value changes over various time periods, including daily, weekly, monthly, and long-term.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not reveal behavioral traits such as output format, return structure, pagination, or real-time limitations. It only says 'track' and 'monitor' without explaining what the response contains, leaving the agent with significant uncertainty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of two short sentences that directly convey the purpose without any redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must fully explain the tool's behavior and returns, but it only vaguely mentions 'percentage and value changes over various time periods' without specifying the exact data structure, available periods, or how to interpret the results. This is insufficient for a tool with a single param and no structured schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has only one parameter 'symbol' with a basic description 'Stock symbol', and the description adds no additional meaning about the symbol format or constraints. Since schema coverage is 100%, a neutral score is appropriate, but the description does not enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool tracks stock price fluctuations and monitors percentage and value changes over daily, weekly, monthly, and long-term periods. This specific verb+resource+scope distinguishes it from sibling tools like getQuote or getHistoricalChart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used for monitoring price changes over various timeframes, but it does not explicitly state when to use this tool versus alternatives, nor does it mention any exclusions or preference conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getStockRatingsBulkAInspect
The FMP Rating Bulk API provides users with comprehensive rating data for multiple stocks in a single request. Retrieve key financial ratings and recommendations such as overall ratings, DCF recommendations, and more for multiple companies at once.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It mentions bulk retrieval but does not explain how the stock universe is selected given the tool has zero input parameters, nor does it disclose output structure, limits, or any side effects. This leaves significant ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief at two sentences and front-loads the core purpose. The first sentence is somewhat generic ('provides users with comprehensive rating data'), but the second adds concrete examples. Overall it is acceptable with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, no annotations, and no parameter information. The description fails to explain how the bulk set is determined, what exact fields are returned, or any response structure. For a tool with zero input parameters, this lack of context 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema description coverage is 100% (empty schema). There are no parameter semantics to clarify, and the baseline for zero-parameter tools is 4. The description adds no misleading details beyond mentioning 'multiple stocks,' which is acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves rating data for multiple stocks in a single request, naming specific content like overall ratings and DCF recommendations. This distinguishes it from single-stock rating tools like getRatingsSnapshot or getHistoricalRatings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need ratings for many companies at once, but it does not explicitly state when to use this over related bulk tools (e.g., getFinancialScoresBulk, getPriceTargetSummariesBulk) or when not to use it. No 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.
getStockSplitCalendarAInspect
Stay informed about upcoming stock splits with the FMP Stock Splits Calendar API. This API provides essential data on upcoming stock splits across multiple companies, including the split date and ratio, helping you track changes in share structures before they occur.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the transparency burden. It discloses that the API returns split date and ratio, but it does not clarify important behavioral aspects such as whether the from/to parameters are required, how results are ordered, or whether the API lists events as a flat array. The term 'upcoming' also potentially conflicts with the flexible date range parameters, creating ambiguity about what the tool actually returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences that are informative without excessive fluff. The phrase 'Stay informed about' is slightly promotional but not distracting. It front-loads the topic and provides essential details in the second sentence, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should compensate by explaining return values. It does mention split date and ratio, but it omits details about the overall response structure and whether results are limited to the specified date range. The 'upcoming' wording adds ambiguity about the date scope, leaving the tool's full behavior somewhat incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for both 'from' (start date, YYYY-MM-DD) and 'to' (end date, YYYY-MM-DD). The description does not add additional parameter semantics beyond what the schema already provides, so a baseline score of 3 is appropriate given the schema's completeness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides data on upcoming stock splits, specifying the resource (FMP Stock Splits Calendar API) and the key data points (split date and ratio). It effectively distinguishes itself from sibling tools like getStockSplits by emphasizing 'upcoming' and 'before they occur', making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use this to track upcoming stock splits across multiple companies. It implies when to use it (to stay informed about share structure changes) but does not explicitly mention alternatives or when not to use it. The context is clear enough for typical use, but it lacks explicit exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getStockSplitsAInspect
Access detailed information on stock splits for a specific company using the FMP Stock Split Details API. This API provides essential data, including the split date and the split ratio, helping users understand changes in a company's share structure after a stock split.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional limit on number of results (default: 100, max: 1000) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It states the data returned (split date, ratio) and implies a read operation with 'Access detailed information.' It does not mention return format, ordering, or pagination behavior, but for a simple data retrieval tool this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences and front-loads the purpose. The mention of 'using the FMP Stock Split Details API' is slightly redundant since the tool itself is an API, but it does not detract significantly. No fluff or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (2 params, no output schema), the description provides sufficient context by naming the key data fields (split date, ratio). It does not elaborate on the return shape or default behavior, but the schema covers the limit default, and the description's implied plural 'splits' hints at multiple results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'symbol' and 'limit' already well described. The description does not add parameter-specific details beyond the schema, so it meets the baseline of 3 but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Access' with a clear resource ('stock splits') and scope ('for a specific company'), effectively distinguishing it from the sibling getStockSplitCalendar which covers a broader calendar view. It also names the key data fields (split date and ratio), making the tool's function unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates the tool is for querying stock splits for a specific company, which sets a clear context for when to use it. However, it does not explicitly mention alternatives or exclusions, such as 'for a calendar of splits, use getStockSplitCalendar instead.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getSymbolChangesBInspect
Stay informed about the latest stock symbol changes with the FMP Stock Symbol Changes API. Track changes due to mergers, acquisitions, stock splits, and name changes to ensure accurate trading and analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional limit on number of results (default: 100) | |
| invalid | No | Optional filter for invalid symbols (default: false) |
Tool Definition Quality
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 discloses the types of changes covered but does not explain the return format, filtering behavior, pagination, or any limitations. With no output schema, this is a significant gap for an agent trying to invoke and interpret the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, clearly structured and front-loaded with the key action. The phrasing 'to ensure accurate trading and analysis' is slightly promotional, but it does not add significant bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without annotations or an output schema, the description should provide more context about the response data and how it differs from related tools. It does not describe what fields are returned or how to interpret the results, leaving the tool under-specified for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (limit and invalid), so the baseline is 3. The description adds no additional meaning to the parameters, and the 'invalid' parameter remains ambiguous despite the schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves stock symbol changes and lists common causes (mergers, acquisitions, splits, name changes). It is specific about the resource and implies a tracking/fetching action, but it does not explicitly differentiate from sibling tools like getStockSplits or getLatestMergersAcquisitions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use case is implied: 'stay informed about the latest stock symbol changes' for trading/analysis. However, there is no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getTEMAAInspect
Calculate the Triple Exponential Moving Average (TEMA) for a stock using the FMP TEMA API. This tool helps users analyze trends and identify potential buy or sell signals based on historical price data.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Stock symbol | |
| timeframe | Yes | Timeframe (1min, 5min, 15min, 30min, 1hour, 4hour, 1day) | |
| periodLength | Yes | Period length for the indicator |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral transparency on its own. It mentions 'Calculate' and 'historical price data', implying a read-only operation, but it does not disclose return format, any API limitations, or whether modifications occur. It is adequate but not detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the primary purpose. The second sentence adds useful context without unnecessary detail. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has five parameters and no output schema. The description explains what the tool does and its use case, but it omits details about return values and parameter interplay. It is adequate for a simple indicator but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions cover all five parameters (100% coverage), so the description does not need to restate them. However, it also adds no extra meaning about how parameters affect the result (e.g., effect of periodLength or date ranges), leaving the baseline at 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Calculate the Triple Exponential Moving Average (TEMA) for a stock.' It uses a specific verb and resource, and naming 'TEMA' distinguishes it from sibling indicators like getSMA and getEMA.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a general use case ('analyze trends and identify potential buy or sell signals') but offers no explicit guidance on when to prefer TEMA over other moving averages or alternatives. The usage context is implied rather than clearly delimited.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_time_infoAInspect
Get current time with ISO format, timestamp, and the last trading day.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for behavioral disclosure. The description states it 'gets' time and trading-day info, implying a read-only operation, but it does not disclose timezone specifics, the meaning of 'last trading day,' or any potential dependencies. This is acceptable for a trivial tool but lacks richer context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word contributes meaning, and the structure is clear and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters, no output schema, and no annotations. The description lists the expected return values (ISO time, timestamp, last trading day), which is mostly complete, but it omits details like timezone or trading calendar context that could affect interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so per the rubric the baseline is 4. The description adds no parameter-specific detail, but none is needed since the input schema is empty and there is nothing to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'get' with a clear resource ('current time') and explicitly lists the outputs: ISO format, timestamp, and last trading day. This distinguishes it from the many financial sibling tools, which focus on market data rather than time information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates the tool's context: use it when you need current time formatted as ISO, a timestamp, or the last trading day. It does not explicitly exclude alternatives or provide when-not-to-use guidance, but the zero-parameter nature and simple purpose make the intended usage evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tradesCInspect
Get recent trade activity from Polymarket's Data API. Analyze trading patterns, volume, and market sentiment.
| Name | Required | Description | Default |
|---|---|---|---|
| side | No | Filter by trade side | |
| limit | No | Number of trades to fetch (max 100) | |
| market | No | Filter by market condition ID | |
| offset | No | Pagination offset | |
| eventId | No | Filter by event ID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure, but it does not mention read-only status, pagination behavior, time windows, response format, or any side effects. It only states the source and purpose, leaving significant behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, with the first sentence clearly stating the tool's function. The second sentence is somewhat vague and adds little concrete value, but the overall size is appropriate and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 optional parameters, no output schema, and no annotations, the description is insufficiently complete. It does not explain what the returned data looks like, how 'recent' is defined, or how the tool differs from similar siblings, leaving substantial gaps for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with all five parameters described in the input schema. The description adds no additional parameter-level meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves recent trade activity from Polymarket's Data API, using the specific verb 'get' and identifying the resource. However, it does not explicitly differentiate from sibling tools like dome_trade_history or get_inner_trade_data, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 or when not to use it. The second sentence about analyzing patterns and sentiment suggests a use case but does not offer explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getTreasuryRatesBInspect
Access real-time and historical Treasury rates for all maturities with the FMP Treasury Rates API. Track key benchmarks for interest rates across the economy.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Optional end date (YYYY-MM-DD) | |
| from | No | Optional start date (YYYY-MM-DD) |
Tool Definition Quality
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 only mentions temporal scope and coverage but does not disclose the return format, default behavior when optional date parameters are omitted, pagination, or access constraints. These gaps are significant since there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action and scope. It is concise, but the phrase 'with the FMP Treasury Rates API' is somewhat redundant and the second sentence edges toward promotional tone. Still, there is little wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with two optional date parameters and no output schema. The description communicates the domain and coverage, which is adequate for basic understanding, but it leaves the exact return values and default behavior undocumented. Given the lack of annotations and output schema, it is acceptable but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are documented in the schema with format and optionality, giving 100% coverage, so the baseline is 3. The description adds no extra meaning about how 'from' and 'to' affect results beyond the generic 'historical' context, so it neither helps nor hurts beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource ('Treasury rates') and scope ('real-time and historical', 'all maturities'), which differentiates it from the many sibling market data tools. The verb 'Access' is generic, but combined with the specific resource it conveys the tool's function distinctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence provides a use case ('Track key benchmarks for interest rates across the economy') but does not explicitly state when to use this tool versus alternatives or when it should not be used. This is implied usage rather than clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getUnadjustedChartAInspect
Access stock price and volume data without adjustments for stock splits with the FMP Unadjusted Stock Price Chart API. Get accurate insights into stock performance, including open, high, low, and close prices, along with trading volume, without split-related changes.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure. It discloses the core behavior (unadjusted for splits) and the returned fields (open, high, low, close, volume). However, it does not cover other aspects like data granularity, pagination, or response format, leaving some transparency gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the first sentence clearly front-loading the core purpose. The second sentence is somewhat redundant ('without split-related changes' repeats the unadjusted theme) and includes generic marketing language ('accurate insights'), preventing a higher score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description sufficiently explains what data is returned (OHLCV) and the unadjusted nature, which is the key differentiator. With 3 parameters and no output schema, it provides enough context for tool selection, though it omits details like time series structure or date range behavior seen in siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides complete descriptions for all three parameters (symbol, from, to) including date formats, giving 100% schema coverage. The description adds no additional parameter-level detail beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides 'stock price and volume data without adjustments for stock splits' via the 'FMP Unadjusted Stock Price Chart API.' This distinguishes it from adjusted chart tools like getDividendAdjustedChart, making the purpose specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when unadjusted data is needed, emphasizing 'without adjustments' and 'without split-related changes.' However, it does not explicitly name alternatives or state when not to use this tool, keeping it slightly below full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getUpgradesDowngradesConsensusBulkBInspect
The Upgrades Downgrades Consensus Bulk API provides a comprehensive view of analyst ratings across all symbols. Retrieve bulk data for analyst upgrades, downgrades, and consensus recommendations to gain insights into the market's outlook on individual stocks.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden. It only says 'comprehensive view' and 'bulk data' without disclosing response format, pagination, rate limits, or any potential side effects, which is insufficient for a bulk data endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loaded with the tool's purpose. The first sentence is somewhat redundant with the name, but the second provides concrete content. It is concise and avoids unnecessary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and this is a bulk data tool, the description should clarify the return structure or note any limitations. It merely says 'retrieve bulk data' without explaining the output format, size, or any other contextual expectations, leaving the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters, so the baseline is 4. The description correctly implies no parameters are needed by stating 'across all symbols', but it adds no parameter-specific detail beyond that which is unnecessary given the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves bulk data for analyst upgrades, downgrades, and consensus recommendations across all symbols. It uses specific verbs and a defined resource, though it does not explicitly distinguish it from sibling tools like getStockRatingsBulk or getPriceTargetConsensus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 does not mention any exclusions, prerequisites, or scenarios where another tool would be more appropriate, leaving the agent without decision-making context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getWilliamsAInspect
Calculate the Williams %R for a stock using the FMP Williams %R API. This tool helps users analyze overbought/oversold conditions and potential reversal signals based on historical price data.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Stock symbol | |
| timeframe | Yes | Timeframe (1min, 5min, 15min, 30min, 1hour, 4hour, 1day) | |
| periodLength | Yes | Period length for the indicator |
Tool Definition Quality
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 does not mention output format, authentication needs, rate limits, or any limitations. It only says it uses historical price data, which is limited context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. The main purpose is front-loaded, and the second sentence adds useful context without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema and annotations, the description should clarify what the tool returns, which it does not. It also does not explain parameter optionality (from/to are optional) or any data range constraints. The purpose is clear, but completeness is diminished by missing return-value and parameter-behavior details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds minimal value beyond the schema, only vaguely referencing historical price data. It does not explain relationships between parameters or provide additional syntax guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it calculates the Williams %R for a stock using the FMP API, with a specific verb and resource. It uniquely distinguishes this tool from siblings by naming the indicator and explains its purpose (analyzing overbought/oversold conditions and reversal signals).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool by mentioning analysis of overbought/oversold conditions and reversal signals. It provides clear context for typical use cases, though it does not explicitly name alternatives or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getWMABInspect
Calculate the Weighted Moving Average (WMA) for a stock using the FMP WMA API. This tool helps users analyze trends and identify potential buy or sell signals based on historical price data.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| symbol | Yes | Stock symbol | |
| timeframe | Yes | Timeframe (1min, 5min, 15min, 30min, 1hour, 4hour, 1day) | |
| periodLength | Yes | Period length for the indicator |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for behavioral disclosure. It only mentions the FMP WMA API, but does not disclose any behavioral traits such as data source specifics, rate limits, authentication needs, or return format. The description reveals no additional context beyond the basic function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, with the first sentence efficiently stating the core purpose. However, the second sentence about trend analysis and buy/sell signals is generic and adds little value, making it somewhat wasteful. It is concise but not maximally informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a moderate complexity (5 parameters) and a full schema, but the description lacks usage guidance and behavioral context. It does not explain the return format (no output schema) or how to choose parameters, and it does not differentiate from sibling indicators. The schema covers parameters, but the description is incomplete for an agent needing to decide among many similar tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all parameters (symbol, periodLength, timeframe, from, to) having clear descriptions. The tool description does not add any parameter-specific information beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool calculates the Weighted Moving Average (WMA) for a stock, using a specific verb ('Calculate') and resource ('WMA for a stock'). This distinguishes it from sibling indicators like getSMA and getEMA. The additional sentence about trend analysis and buy/sell signals adds value.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus other technical indicators (e.g., SMA, EMA). The mention of 'analyze trends and identify potential buy or sell signals' is generic and does not differentiate it from siblings. No alternative tools or exclusion criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listCommoditiesAInspect
Access an extensive list of tracked commodities across various sectors, including energy, metals, and agricultural products. The FMP Commodities List API provides essential data on tradable commodities, giving investors the ability to explore market options in real-time.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It implies a read-only list operation ('Access', 'explore') and mentions 'real-time,' but does not clarify what data is returned, any limitations, or whether 'real-time' refers to the list itself or market data. For a 0-parameter list tool, this is minimally adequate but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, but the second sentence ('The FMP Commodities List API provides essential data... real-time') is largely promotional and vague, adding little beyond the first sentence. It is concise but includes fluff that could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no parameter constraints, the description is simple. However, it does not specify what the list contains (e.g., symbols, names, sectors) or how it differs from related list tools like getForexList or getCryptocurrencyList. The 'real-time' claim is ambiguous without further context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no properties, so schema coverage is 100%. The description adds context that the list spans sectors like energy, metals, and agriculture, which aligns with the absence of parameters. Baseline for 0 params is 4, and no parameter explanation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Access an extensive list of tracked commodities across various sectors, including energy, metals, and agricultural products.' The verb 'Access' and resource 'list of tracked commodities' are specific, and the mention of sectors distinguishes it from related tools like getCommodityQuotes or getCOTList.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by describing the list's content and purpose ('explore market options'), but it does not explicitly state when to use this tool versus alternatives like getCommodityQuotes or getCOTList. No exclusions or contextual triggers are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tagsAInspect
List all available tags/categories for filtering markets and events. Use tag IDs with search_markets or search_events.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of tags to return | |
| offset | No | Pagination offset |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden for behavioral disclosure. It implies a read-only list operation, but does not explicitly state side effects, return format, pagination behavior, or any limits beyond what the schema offers. It adds some context about tag usage but lacks richer behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that front-load the primary action and provide a hint about using the results. There is no redundancy or irrelevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with two optional pagination parameters and no output schema, the description covers the core purpose and usage. It could explicitly describe the return object shape, but the mention of 'tag IDs' implies the output includes IDs, making it largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage for both parameters (limit and offset) with descriptions. The tool description does not add additional meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('List') and resource ('tags/categories'), and adds context by explaining their purpose ('for filtering markets and events'). It also differentiates from siblings by tying the output to downstream usage with search_markets/search_events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: to obtain tag IDs for filtering markets and events. It implies a prerequisite step before using search tools, but does not explicitly exclude alternatives or describe when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchCIKCInspect
Easily retrieve the Central Index Key (CIK) for publicly traded companies with the FMP CIK API. Access unique identifiers needed for SEC filings and regulatory documents for a streamlined compliance and financial analysis process.
| Name | Required | Description | Default |
|---|---|---|---|
| cik | Yes | The CIK number to search for | |
| limit | No | Optional limit on number of results (default: 50) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It does not state what the tool does with the input CIK, whether it returns filings, company profiles, or just confirms existence, nor does it mention limitations, rate limits, or output structure. The narrative is high-level marketing rather than operational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the main purpose in the first sentence. However, the second sentence ('Access unique identifiers... streamlined compliance') is largely promotional filler that does not add operational value. It earns a middle score because it is not bloated but still contains some waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With two parameters and no output schema, the tool is relatively simple, but the description fails to explain what the caller receives or how search behavior works. Given many closely related sibling tools (searchCompaniesByCIK, getCIKList, getCompanyProfileByCIK), more contextual detail is needed to avoid mis-selection. The description is not sufficient for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with descriptions, so the baseline is 3. The description adds context that CIKs are identifiers needed for SEC filings, which is useful, but it does not clarify the relationship between the 'cik' parameter and the retrieval purpose, nor explain the optional 'limit' parameter's behavior beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it 'retrieve[s] the Central Index Key (CIK) for publicly traded companies,' which gives a specific verb and resource. However, the required input parameter is itself 'cik' (a CIK number to search for), which clashes with the stated purpose and may confuse an agent about whether this tool resolves names to CIKs or searches by CIK. It also does not distinguish from sibling tools like searchCompaniesByCIK and getCompanyProfileByCIK.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit or implicit guidance is given on when to use this tool versus alternatives. The description only mentions SEC filings and regulatory documents as a use case, but does not say when searchCIK is preferred over searchCompaniesByCIK, getCIKList, or other search tools. There are no exclusions or additional context signals.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchCompaniesByCIKCInspect
Easily find company information using a CIK (Central Index Key) with the FMP SEC Filings Company Search By CIK API. Access essential company details and filings linked to a specific CIK number.
| Name | Required | Description | Default |
|---|---|---|---|
| cik | Yes | Central Index Key (CIK) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries a heavy burden for behavioral disclosure. It only vaguely says 'find company information' and 'access essential company details and filings' without details on return structure, pagination, data scope, or any limitations. It does not contradict annotations because there are none, but it provides minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and reasonably tight, but includes promotional fluff like 'Easily' and 'essential'. It front-loads the tool's purpose but could be more information-dense without much extra length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, the description gives a vague sense of return content ('company details and filings') but does not specify the response format or clarify its relationship to adjacent tools like getCompanyProfileByCIK. It is minimally complete but leaves ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: the only parameter 'cik' is described as 'Central Index Key (CIK)'. The description adds no additional semantic value beyond this, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear purpose: using a CIK to find company information and filings. It specifies the resource (company details and filings) and the input (CIK). However, it does not explicitly differentiate this tool from similar siblings like getCompanyProfileByCIK or searchCIK, so it's clear but lacks sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of suitable use cases, prerequisites, or comparisons with sibling tools like getCompanyProfileByCIK or getFilingsByCIK.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchCompaniesByNameAInspect
Search for SEC filings by company or entity name using the FMP SEC Filings By Name API. Quickly retrieve official filings for any organization based on its name.
| Name | Required | Description | Default |
|---|---|---|---|
| company | Yes | Company name or partial name |
Tool Definition Quality
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 'quickly retrieve official filings' but does not disclose expected response format, pagination, potential limitations, or any side effects. For a search tool, this is minimal behavioral disclosure beyond the basic function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the key action and resource. However, the second sentence largely repeats the first ('retrieve official filings' vs 'search for SEC filings'), introducing minor redundancy without additional value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and only one parameter, so the description is relatively complete for the input side. However, it does not specify what the returned filings look like (e.g., metadata list, filing content), which is left ambiguous for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes the single 'company' parameter (name or partial name), so schema coverage is 100%. The description adds no additional meaning beyond what the schema already provides, which is the baseline for this score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Search for SEC filings') and resource ('by company or entity name'), which distinguishes it from sibling tools like searchCompaniesByCIK and searchCompaniesBySymbol. It also explicitly mentions the underlying API source, making the intent unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case: when you have a company or entity name and need SEC filings. It does not explicitly mention alternatives or exclusions, but the 'by name' framing provides clear context relative to other search tools that use CIK or symbol.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchCompaniesBySymbolAInspect
Find company information and regulatory filings using a stock symbol with the FMP SEC Filings Company Search By Symbol API. Quickly access essential company details based on stock ticker symbols.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It only states the tool 'finds' and 'accesses' information, implying a read operation, but does not disclose return format, pagination, response structure, or any limitations. This is a significant gap for a tool with no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loaded with the primary action. However, the second sentence largely restates the first ('essential company details' vs 'company information', 'stock ticker symbols' vs 'stock symbol'), making it slightly redundant. It remains appropriately compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter search tool, the description gives a clear purpose but omits return value details, which matters because there is no output schema. It does not specify whether the result is a single company object, a list of filings, or the exact fields returned. This is a moderate gap, making it minimally viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter 'symbol' (described as 'Stock symbol'). The description adds only synonyms ('stock ticker symbols') and no further semantic detail, so it does not improve on what the schema already provides. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds company information and regulatory filings using a stock symbol. This specific verb+resource combination distinguishes it from sibling tools like searchCompaniesByCIK and searchCompaniesByName, which use different identifiers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies usage for when a stock symbol/ticker is available ('using a stock symbol', 'based on stock ticker symbols'). It does not explicitly mention alternatives or exclusions, but the context is clear enough to guide selection among the many search-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchCrowdfundingCampaignsBInspect
Search for crowdfunding campaigns by company name, campaign name, or platform with the FMP Crowdfunding Campaign Search API. Access detailed information to track and analyze crowdfunding activities.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Company name, campaign name, or platform to search for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It says 'Access detailed information' but omits specifics about the returned data shape, pagination, search behavior (exact vs. partial match), or any access limits. This is insufficient for a search tool, leaving the agent uncertain about what to expect from the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main purpose. The second sentence ('Access detailed information...') is generic and adds little value, but overall the description is compact and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool, the description gives a basic idea but lacks critical details like result set characteristics, required identifier format, or output schema. For a tool with no annotations and no output schema, the description is incomplete; it doesn't explain what 'detailed information' actually contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'name' parameter is fully described in the schema (100% coverage), and the description repeats the same meaning without adding syntax, formatting, or example values. Baseline 3 is appropriate since the schema already documents the parameter clearly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for crowdfunding campaigns with specific search criteria (company name, campaign name, or platform), distinguishing it from sibling tools like getCrowdfundingCampaignsByCIK which search by CIK, and getLatestCrowdfundingCampaigns which fetches recent campaigns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides implied usage context ('Search for... by company name, campaign name, or platform') but doesn't explicitly mention alternatives or when not to use this tool. Given similar sibling tools like getLatestCrowdfundingCampaigns and getCrowdfundingCampaignsByCIK, clearer differentiation would be beneficial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchCryptoNewsCInspect
Search for cryptocurrency news using the FMP Search Crypto News API. Retrieve news related to specific coins or tokens by entering their name or symbol.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| page | No | Page number (default: 0) | |
| limit | No | Limit on number of results (default: 20, max: 250) | |
| symbols | Yes | Comma-separated list of cryptocurrency symbols |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, yet it only states the basic search/retrieve action. It does not mention pagination, date filtering, response format, rate limits, or any limitations. This is insufficient transparency for a tool with no other structured safety hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences and front-loads the core purpose. However, it includes the redundant phrase 'using the FMP Search Crypto News API', which repeats information already implied by the tool name and adds no value. Overall, it is tight but has minor redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has five parameters and no output schema, yet the description provides no context on return values, date range usage, pagination, or how the search differs from sibling news tools like getCryptoNews. This leaves the agent with incomplete information for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds a potentially misleading claim that users can enter 'name or symbol', while the schema's required 'symbols' parameter specifically expects comma-separated symbols. This could lead an agent to pass a name like 'Bitcoin' instead of 'BTC'. The description provides no additional clarity on parameters beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches for cryptocurrency news and retrieves news related to specific coins or tokens by name or symbol. The verb 'Search' and resource 'cryptocurrency news' provide a clear purpose, and the tool distinguishes itself from broader news tools like getGeneralNews, though it doesn't explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing crypto news for specific coins or tokens, but it provides no explicit guidance on when to use this tool versus siblings like getCryptoNews or searchStockNews. No exclusions or alternatives are mentioned, leaving the decision to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchCUSIPAInspect
Easily search and retrieve financial securities information by CUSIP number using the FMP CUSIP API. Find key details such as company name, stock symbol, and market capitalization associated with the CUSIP.
| Name | Required | Description | Default |
|---|---|---|---|
| cusip | Yes | The CUSIP number to search for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must convey behavioral traits. It discloses the read-only nature of searching and lists example output fields, which is useful. However, it does not describe potential error cases, whether multiple matches are returned, or the exact response structure. It adds some value but lacks comprehensive behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences that front-load the purpose and provide helpful examples. No unnecessary details or filler. Every 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, no output schema), and the description covers its core purpose and example outputs. It provides enough context for an agent to decide when to use it. However, it does not describe the return format or behavior when no match is found, which would improve completeness given the absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides a description for the 'cusip' parameter ('The CUSIP number to search for'), so schema coverage is 100%. The description adds minimal extra meaning by repeating 'by CUSIP number' but does not explain CUSIP format or constraints. Baseline of 3 is appropriate since the schema carries the parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'search and retrieve financial securities information by CUSIP number.' It specifies the resource (CUSIP API) and the output fields (company name, stock symbol, market capitalization). This distinguishes it from sibling search tools like searchISIN or searchCIK by the identifier type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates when to use the tool: when you have a CUSIP number. It does not explicitly compare to alternatives or state exclusions, but the context is clear. The phrasing 'by CUSIP number' establishes the appropriate use case without mentioning when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchEquityOfferingsAInspect
Easily search for equity offerings by company name or stock symbol with the FMP Equity Offering Search API. Access detailed information about recent share issuances to stay informed on company fundraising activities.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Company name or stock symbol to search for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the transparency burden. It does convey a read-only retrieval behavior with 'search' and 'Access detailed information about recent share issuances', but it omits details about result structure, matching semantics, pagination, or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the action and resource in the first sentence. Minor filler such as 'Easily' and 'to stay informed on company fundraising activities' could be trimmed, but overall it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a large sibling tool set that includes closely related offerings tools, the description leaves important gaps: it does not mention return fields, list vs. single result, or alternative tools. The phrase 'detailed information' is too vague for an agent to know what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents the single 'name' parameter at 100% coverage. The description echoes 'company name or stock symbol' and adds equity-offering context, but does not provide extra parameter-level guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'search', identifies the resource as 'equity offerings', and names the query keys 'company name or stock symbol'. This clearly distinguishes it from sibling tools like getLatestEquityOfferings or getEquityOfferingsByCIK.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied: use when you want to search equity offerings by company name or stock symbol. However, there is no explicit when-not guidance or mention of nearby alternatives such as getEquityOfferingsByCIK or getLatestEquityOfferings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_eventsAInspect
Search Polymarket events. Events group related markets together (e.g., 'Presidential Election 2024' contains multiple markets). Great for discovering market clusters.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results (max 100) | |
| order | No | Field to order by | |
| closed | No | Filter by closed status | |
| offset | No | Pagination offset | |
| tag_id | No | Filter by tag ID | |
| featured | No | Show only featured events | |
| ascending | No | Sort direction |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It adds useful conceptual context about events being groups of markets, but it does not disclose return format, pagination, ordering, or the read-only nature of the search operation. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: three sentences, no redundancy, with the primary action stated first. Every sentence adds value—purpose, domain context, and use case.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no annotations and no output schema, the description covers the essential domain distinction (events vs. markets) and the primary use case. It omits return value details, but this is somewhat less critical for a simple search operation. Overall, it is sufficient for an agent to select the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add parameter-specific meaning, but by explaining what events are, it helps the agent understand the object being searched, which indirectly aids parameter use.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'Search Polymarket events' with a specific verb and resource. It further explains what an event is ('Events group related markets together') and provides a use case ('Great for discovering market clusters'), which distinguishes it from sibling searches like search_markets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use this tool—discovering clusters of related markets—and implicitly contrasts with searching individual markets. However, it does not explicitly name alternatives or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchExchangeVariantsAInspect
Search across multiple public exchanges to find where a given stock symbol is listed using the FMP Exchange Variants API. This allows users to quickly identify all the exchanges where a security is actively traded.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | The stock symbol to search for exchange variants |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool performs a search and uses the FMP Exchange Variants API, implying a read-only operation. However, it does not disclose potential rate limits, response structure, or other behavioral traits beyond the basic action, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action and followed by a brief user-benefit statement. Every sentence contributes value with no waste or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a single parameter and no output schema, the description adequately explains the tool's purpose and expected result (a list of exchanges). It could mention more about return format or limitations, but for a simple search tool, the current level is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'symbol' parameter, which the schema describes as 'The stock symbol to search for exchange variants.' The description adds no additional semantics beyond that, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool searches across multiple public exchanges to find where a given stock symbol is listed, clearly distinguishing it from sibling tools like searchSymbol or searchCompaniesBySymbol by focusing on exchange variants. The verb 'search' and resource 'FMP Exchange Variants API' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use case: 'identify all the exchanges where a security is actively traded.' This gives context for when to use the tool, but it does not explicitly name alternatives or exclusions. However, the specificity makes the appropriate situation obvious, so no strong deduction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchForexNewsAInspect
Search for foreign exchange news using the FMP Search Forex News API. Find targeted news on specific currency pairs by entering their symbols for focused updates.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| page | No | Page number (default: 0) | |
| limit | No | Limit on number of results (default: 20, max: 250) | |
| symbols | Yes | Comma-separated list of forex pairs |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for disclosing behavioral traits. It only says 'search' and 'find targeted news' without mentioning pagination, date range behavior, output format, or any operational details beyond what’s in the schema. This is a significant gap for a tool with no annotation safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose and free of unnecessary words. Every word earns its place, making it appropriately concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and five parameters, the description is minimal but not entirely insufficient. It states the purpose and key usage, but it does not disclose how pagination or date filters affect results, or what the response looks like. This is adequate for a simple search tool but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter described. The description adds no extra semantics beyond mentioning 'symbols' as the entry point. Per the baseline rule, a 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: searching forex news for specific currency pairs. The verb 'Search' and resource 'foreign exchange news' are specific, and 'targeted news on specific currency pairs' adds scope. However, it does not explicitly distinguish from sibling tools like getForexNews, so it loses the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Find targeted news on specific currency pairs by entering their symbols' gives a clear context for when to use this tool (symbol-driven search). No explicit alternatives or exclusions are mentioned, but the use case is clear enough for a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchFundDisclosuresAInspect
Easily search for mutual fund and ETF disclosures by name using the Mutual Fund & ETF Disclosure Name Search API. This API allows you to find specific reports and filings based on the fund or ETF name, providing essential details like CIK number, entity information, and reporting file number.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the holder to search for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for behavioral disclosure. It states the tool 'find[s] specific reports and filings' and lists output details, but it does not disclose whether the name matching is exact or partial, whether results are paginated, or any auth/rate-limit considerations. Without these, an agent may not understand how to invoke the search correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action and resource, and contains no filler. Every sentence adds value: the first defines the tool's purpose, the second highlights key output fields. It is concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description covers the return values (CIK, entity, file number) but lacks details about search behavior like partial vs exact name matching, result count, or expected name format (e.g., full fund name vs ticker). It is adequate but has gaps that could lead to incorrect usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter 'name' with description 'Name of the holder to search for'. The description clarifies that 'holder' refers to a 'fund or ETF name', adding domain-specific meaning beyond the schema. Though schema coverage is high, this clarification helps distinguish from company or CIK searches.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description has a specific verb and resource: 'search for mutual fund and ETF disclosures by name'. It clearly distinguishes itself from sibling tools like searchCompaniesByName and getFundDisclosure by focusing on fund/ETF disclosure name searches. It also mentions what details are returned (CIK, entity info, file number), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need to find fund/ETF disclosures by name, but it provides no explicit when-to-use vs alternatives or when-not-to-use guidance. It doesn't mention sibling tools like searchName or getFundDisclosure, leaving the choice to the agent without comparative context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchIndustryClassificationCInspect
Search and retrieve industry classification details for companies, including SIC codes, industry titles, and business information, with the FMP Industry Classification Search API.
| Name | Required | Description | Default |
|---|---|---|---|
| cik | No | Central Index Key (CIK) | |
| symbol | No | Stock symbol | |
| sicCode | No | SIC code |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It mentions some output content (SIC codes, industry titles, business information) but omits critical details such as parameter precedence, response shape, pagination, or whether a search requires one identifier vs. multiple. This is insufficient for a search API.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no filler. It effectively communicates the core action, though the trailing 'with the FMP Industry Classification Search API' adds little operational value; still, the structure is clean and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and the presence of three optional parameters, the description fails to clarify important behavior like whether exactly one identifier is required, how conflicting parameters are handled, and what the response format looks like. It provides only a broad hint of content.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage for all three parameters (cik, symbol, sicCode) with descriptions, so the baseline is 3. The description adds no extra parameter-specific guidance, such as when to use one parameter over another, so it does not exceed schema contribution.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's function as searching and retrieving industry classification details, naming specific content (SIC codes, industry titles). It uses a specific verb and resource, but does not explicitly distinguish it from the many sibling tools like getAllIndustryClassification or getIndustryClassificationList.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus siblings or what the search criteria are. There is no mention of required parameters, exclusions, or ideal use cases, leaving the agent to infer usage from the schema alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchInsiderTradesBInspect
Search insider trading activity by company or symbol using the Search Insider Trades API. Find specific trades made by corporate insiders, including executives and directors.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 0) | |
| limit | No | Limit on number of results (default: 100, max: 100) | |
| symbol | No | Stock symbol | |
| companyCik | No | Company CIK number | |
| reportingCik | No | Reporting CIK number | |
| transactionType | No | Transaction type (e.g., S-Sale) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only says 'search' and 'find specific trades' without disclosing pagination behavior, response format, or whether filters are required/combine. All 6 params optional but no guidance on calling with no params.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded and readable, but 'using the Search Insider Trades API' is filler and second sentence adds minor elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 optional params, no output schema, and many sibling tools, description does not clarify result contents, pagination, or when to prefer this over searchInsiderTradesByReportingName/getLatestInsiderTrading. Minimal viable but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage describing all six parameters; description adds only that search is by company or symbol, which maps loosely to symbol/companyCik but no extra syntax or combination semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'Search' with resource 'insider trading activity' and scopes by company or symbol. It distinguishes from sibling searchInsiderTradesByReportingName by indicating search dimension (company/symbol vs reporting name).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: search by company or symbol. No explicit alternatives or exclusions; does not mention sibling searchInsiderTradesByReportingName for name-based searches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchInsiderTradesByReportingNameBInspect
Search for insider trading activity by reporting name using the Search Insider Trades by Reporting Name API. Track trading activities of specific individuals or groups involved in corporate insider transactions.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Reporting person's name to search for |
Tool Definition Quality
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 adds no behavioral context beyond the basic purpose—no mention of output format, pagination, search matching behavior, or any constraints. This is a significant gap for a search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler. The purpose is front-loaded and every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the essentials are present, but without an output schema or richer guidance on return values and use context, it feels slightly under-specified. It's adequate but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the 'name' parameter described as 'Reporting person's name to search for.' The description adds little beyond this, only hinting at 'individuals or groups,' so it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for insider trading activity by reporting name, which is a specific verb+resource+method. However, it does not explicitly differentiate from sibling tools like searchInsiderTrades, so it misses the full 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the name and description (search by reporting name), but there is no explicit guidance on when to use this over alternatives like getHouseTradesByName or searchInsiderTrades. No when-not or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchISINCInspect
Easily search and retrieve the International Securities Identification Number (ISIN) for financial securities using the FMP ISIN API. Find key details such as company name, stock symbol, and market capitalization associated with the ISIN.
| Name | Required | Description | Default |
|---|---|---|---|
| isin | Yes | The ISIN number to search for |
Tool Definition Quality
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 what details are returned but does not state whether the tool is read-only, how it handles invalid or missing ISINs, or the response structure. This leaves significant gaps for an agent deciding whether invocation is safe and correct.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, consisting of two sentences, and front-loads the primary action. Minor fluff ('Easily', 'using the FMP ISIN API') could be trimmed, but overall it's efficient and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter lookup with no output schema, the description is minimally adequate. It states the main purpose and some return fields, but omits details about error behavior, response format, and usage context relative to sibling tools, which would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% – the only parameter 'isin' has a description. The tool description adds no extra semantic value about the parameter format, validation, or examples, so it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's function: searching and retrieving ISIN-related data. It names the resource (ISIN) and lists example output fields (company name, stock symbol, market cap), distinguishing it from sibling tools like searchCUSIP and searchCIK. However, the phrase 'retrieve the ISIN' is slightly misleading since the input is actually an ISIN, not the output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 searchCUSIP, searchCIK, or searchSymbol. It does not mention any exclusions or specific use cases, leaving the agent to infer from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_marketsAInspect
Search Polymarket prediction markets with filters. Find active markets, filter by tags, volume, liquidity, and more. Perfect for market discovery and analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results (max 100) | |
| order | No | Field to order by (e.g., 'volume', 'liquidity', 'volume24hr') | |
| query | No | Search query to filter markets by question text (e.g., 'Bitcoin $100k', 'Trump wins') | |
| closed | No | Filter by closed status (false = only active markets, true = include closed) | |
| offset | No | Pagination offset | |
| tag_id | No | Filter by tag ID (use list_tags to discover) | |
| ascending | No | Sort direction (true = ascending, false = descending) | |
| volume_min | No | Minimum volume in USD | |
| liquidity_min | No | Minimum liquidity in USD |
Tool Definition Quality
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 filtering and 'Find active markets,' implying a default of active-only results. However, it does not disclose pagination behavior, sorting details, or response structure. For a read-only tool, the risk is moderate, but richer behavioral context would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences with no filler. It front-loads the core purpose, lists representative filters, and states the use case, making it economical and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives a general sense that the tool returns matching markets but does not specify output format, pagination, or fields returned. Given there is no output schema, this is a gap, but the well-documented parameters partially compensate for the lack of detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With all 9 parameters described in the schema (100% coverage), the description adds little beyond summarizing a few key filters (tags, volume, liquidity). It does not clarify parameter interactions or provide additional meaning beyond the schema's already detailed descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Search') and resource ('Polymarket prediction markets'), clearly stating its purpose. It also positions itself as a discovery tool ('Perfect for market discovery and analysis'), distinguishing it from siblings like 'analyze_market' or 'get_market' that focus on individual markets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Perfect for market discovery and analysis' provides clear context for when to use the tool. However, it does not explicitly name alternative tools or situations to avoid, so it falls short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchMergersAcquisitionsAInspect
Search for specific mergers and acquisitions data with the FMP Search Mergers and Acquisitions API. Retrieve detailed information on M&A activity, including acquiring and targeted companies, transaction dates, and links to official SEC filings.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Company name to search for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It discloses the type of information returned, which is helpful, but it does not clarify query matching behavior (e.g., exact vs. partial name), pagination, or potential missing results. This is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action and resource, and every sentence adds value. There is no redundant or vague wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter search tool with no output schema, the description provides sufficient detail about the return content, making it reasonably complete. It lacks explicit alternative guidance, but the low complexity and clear schemas compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the single parameter 'name' with the description 'Company name to search for', achieving 100% coverage. The main description adds context about M&A fields but does not enhance the parameter semantics beyond what the schema already states, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Search') and clearly identifies the resource ('mergers and acquisitions data') via the FMP API. It also specifies the data returned (acquiring and targeted companies, transaction dates, SEC filing links), distinguishing it from the sibling tool getLatestMergersAcquisitions by emphasizing 'specific' search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes clear context: use this tool when searching for specific M&A activity rather than retrieving latest events. However, it does not explicitly name alternatives or state when not to use it, leaving the differentiation to the word 'specific'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchNameAInspect
Search for ticker symbols, company names, and exchange details for equity securities and ETFs listed on various exchanges with the FMP Name Search API. This endpoint is useful for retrieving ticker symbols when you know the full or partial company or asset name but not the symbol identifier.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional limit on number of results (default: 50) | |
| query | Yes | The search query to find company names | |
| exchange | No | Optional exchange filter (e.g., NASDAQ, NYSE) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden of behavioral disclosure. It implies a read-only search but does not explicitly state this, nor does it mention rate limits, response format, pagination, or any side effects. This is a significant gap given zero annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, concise, and front-loaded with the main action. Every sentence adds relevant information about purpose and use case without unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with three parameters and no output schema, the description is fairly complete. It explains the tool's value proposition and even hints at the output (ticker symbols, company names, exchange details). However, it could benefit from a brief note on the default limit or exchange filter behavior to fully compensate for the lack of annotations and output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema already documents all three parameters. The description adds slight context by mentioning 'full or partial company or asset name' for the query, but it does not meaningfully enhance the schema's parameter descriptions for limit or exchange.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: searching for ticker symbols, company names, and exchange details for equities and ETFs. It provides a specific use case (retrieving ticker symbols from a known company name) but does not explicitly distinguish itself from sibling tools like searchCompaniesByName or searchSymbol.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use the tool: 'when you know the full or partial company or asset name but not the symbol identifier.' It does not, however, mention when not to use it or describe alternatives, stopping short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchPressReleasesCInspect
Search for company press releases with the FMP Search Press Releases API. Find specific corporate announcements and updates by entering a stock symbol or company name.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| page | No | Page number (default: 0) | |
| limit | No | Limit on number of results (default: 20, max: 250) | |
| symbols | Yes | Comma-separated list of stock symbols |
Tool Definition Quality
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 merely states the tool searches press releases and does not mention pagination, date range behavior, rate limits, return format, or any side effects. This lack of detail is insufficient for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences and front-loads the primary verb and resource. However, the second sentence is somewhat redundant with the first and introduces the inaccuracy about 'company name', making it less efficient than it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has five parameters, no output schema, and no annotations, the description provides minimal context. It does not explain how results are returned, how to handle pagination, or how the date filters work. The existence of similar sibling tools further underscores the need for more complete guidance, which is absent here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema documents all five parameters fully, so the baseline is 3. The description adds context by mentioning 'stock symbol or company name', but the 'company name' part is inaccurate because the schema only supports symbols. It does not clarify the meaning of 'to', 'from', 'page', or 'limit' beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action ('Search') and resource ('company press releases'), and conveys the use case of finding corporate announcements. However, it does not distinguish this tool from the sibling tool 'getPressReleases', and the mention of 'company name' is misleading since the schema only accepts stock symbols via the 'symbols' parameter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided about when to use this tool versus alternatives such as 'getPressReleases' or 'searchStockNews'. The description implies a search use case but does not state exclusions or conditions, leaving the agent without clear selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchStockNewsCInspect
Search for stock-related news using the FMP Search Stock News API. Find specific stock news by entering a ticker symbol or company name to track the latest developments.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| page | No | Page number (default: 0) | |
| limit | No | Limit on number of results (default: 20, max: 250) | |
| symbols | Yes | Comma-separated list of stock symbols |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior, but it only mentions the FMP API and generic 'search' behavior. It does not state pagination behavior, result format, rate limits, or how the 'from' and 'to' date parameters affect results. The phrase 'track the latest developments' is vague and adds little transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main action, and contains minimal fluff. However, the phrase 'using the FMP Search Stock News API' is somewhat redundant since the tool name already implies the source. Still, it is efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with no output schema and no annotations, the description is too sparse. It fails to explain what the returned news articles look like, how pagination works with page/limit, the impact of date ranges, or when this tool should be used over sibling news tools. 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. However, the description introduces 'company name' as an input, while the schema's only parameter is 'symbols' described as 'Comma-separated list of stock symbols'. This potential contradiction or ambiguity makes the description misleading about parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search') and the resource ('stock-related news'), with specifics about ticker symbol or company name. It is a clear purpose but does not differentiate from sibling tools like getStockNews, which likely serve a similar function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 such as getStockNews, getGeneralNews, or searchCryptoNews. The description gives no context about preferred scenarios or exclusions, leaving the agent to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSymbolAInspect
Easily find the ticker symbol of any stock with the FMP Stock Symbol Search API. Search by company name or symbol across multiple global markets.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional limit on number of results (default: 50) | |
| query | Yes | The search query to find stock symbols | |
| exchange | No | Optional exchange filter (e.g., NASDAQ, NYSE) |
Tool Definition Quality
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 only says 'easily find' and describes search scope; it does not mention match behavior, result format, pagination, potential multiple matches, or API quirks like case sensitivity. This is a significant gap for a search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the key action and resource, and contains no filler or repetition. Every word contributes to understanding the tool's purpose and scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives adequate high-level context for a simple lookup tool, but without an output schema it does not explain what the API returns (e.g., a list of matching ticker symbols) or mention the default limit of 50. It is sufficient but has clear gaps in behavioral coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all three parameters with descriptions (100% coverage), so the baseline is 3. The description adds minimal extra meaning by framing query as company name or symbol and exchange as a global market filter, but does not provide additional syntax or usage details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to find the ticker symbol of any stock, searchable by company name or symbol across global markets. This specific verb+resource combination distinguishes it from sibling tools that search by CIK, CUSIP, ISIN, or company profiles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool (when you need a stock's ticker symbol) and mentions the search modes (company name or symbol) and global scope. It does not explicitly name alternatives or exclusions, but the use case is evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stockScreenerBInspect
Discover stocks that align with your investment strategy using the FMP Stock Screener API. Filter stocks based on market cap, price, volume, beta, sector, country, and more to identify the best opportunities.
| Name | Required | Description | Default |
|---|---|---|---|
| isEtf | No | Filter ETFs | |
| limit | No | Limit number of results | |
| isFund | No | Filter funds | |
| sector | No | Filter by sector (e.g., Technology) | |
| country | No | Filter by country (e.g., US) | |
| exchange | No | Filter by exchange (e.g., NASDAQ) | |
| industry | No | Filter by industry (e.g., Consumer Electronics) | |
| betaMoreThan | No | Filter companies with beta greater than this value | |
| betaLowerThan | No | Filter companies with beta less than this value | |
| priceMoreThan | No | Filter companies with price greater than this value | |
| priceLowerThan | No | Filter companies with price less than this value | |
| volumeMoreThan | No | Filter companies with volume greater than this value | |
| volumeLowerThan | No | Filter companies with volume less than this value | |
| dividendMoreThan | No | Filter companies with dividend greater than this value | |
| dividendLowerThan | No | Filter companies with dividend less than this value | |
| isActivelyTrading | No | Filter actively trading companies | |
| marketCapMoreThan | No | Filter companies with market cap greater than this value | |
| marketCapLowerThan | No | Filter companies with market cap less than this value | |
| includeAllShareClasses | No | Include all share classes |
Tool Definition Quality
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 only mentions filtering criteria and says 'identify the best opportunities,' but does not describe the return format, pagination behavior (despite a `limit` parameter), rate limits, or that it is a read-only operation. This is a significant gap for a screening tool with 19 parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loads the main purpose. The first sentence includes somewhat vague marketing language ('align with your investment strategy', 'best opportunities'), but the second sentence is concrete and efficient. It earns a 4 for being concise and readable, though it could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex (19 optional parameters, no output schema, no annotations). The description provides only a high-level overview, lacking operational details such as how filters combine (AND/OR), units for market cap, how to handle pagination via `limit`, or what fields are returned. The description is not complete enough for an agent to use the tool effectively without additional assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with every parameter already self-explanatory (e.g., 'Filter companies with price greater than this value'). The description adds a grouped list of filter types ('market cap, price, volume, beta, sector, country, and more') but adds no additional meaning beyond the schema. Baseline of 3 is appropriate since the description does not conflict with or enhance the parameter docs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Filter stocks based on market cap, price, volume, beta, sector, country, and more.' It names the specific resource (stocks via FMP Stock Screener API) and distinguishes it from sibling tools that return preset lists (e.g., getBiggestGainers, getMostActiveStocks) by emphasizing customizable screening.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: use this tool to discover stocks matching your investment criteria. However, it does not explicitly contrast it with alternatives or state when not to use it. For example, it doesn't mention that for precomputed lists like top gainers, one should use getBiggestGainers instead. Thus, guidance is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TOOL_CALLAInspect
Execute a tool by name with the provided arguments. IMPORTANT: You MUST call TOOL_GET(tool_name) first to retrieve the full parameter schema before calling this tool. The arguments must match the schema returned by TOOL_GET, including all required parameters. Calling without the correct arguments will result in errors. Workflow: TOOL_LIST -> TOOL_GET(tool_name) -> TOOL_CALL(tool_name, arguments)
| Name | Required | Description | Default |
|---|---|---|---|
| arguments | Yes | Dictionary of arguments matching the tool's parameter schema from TOOL_GET | |
| tool_name | Yes | The name of the tool to call (e.g., "TIME_SERIES_DAILY") |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the prerequisite of retrieving the schema, the requirement that arguments match, and the error condition on mismatched arguments. It does not mention what the tool returns, but the core behavioral contract is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized, with no wasted words. It front-loads the purpose, then provides the critical IMPORTANT note and workflow in a clear sequence. Every sentence contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, no output schema) and the presence of sibling tools, the description covers the necessary workflow and error behavior. It could mention the return value (the result of the called tool), but the overall context is sufficiently complete for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters. The description adds some context by reiterating that arguments must match TOOL_GET's schema, but this largely duplicates the schema's parameter descriptions. No significant new semantic detail is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Execute a tool by name with the provided arguments,' providing a specific verb and resource. It distinguishes TOOL_CALL from TOOL_GET and TOOL_LIST by defining its role in the workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to call TOOL_GET(tool_name) first and provides the complete workflow: TOOL_LIST -> TOOL_GET(tool_name) -> TOOL_CALL(tool_name, arguments). It also states that arguments must match the schema and that incorrect arguments will cause errors.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TOOL_GETAInspect
Get the full schema for one or more tools including all parameters. After discovering tools via TOOL_LIST, use this to get the complete parameter schema before calling the tool. You can provide either a single tool name or a list of tool names if you're unsure which one to use.
| Name | Required | Description | Default |
|---|---|---|---|
| tool_name | Yes | The name of the tool to get schema for (e.g., "TIME_SERIES_DAILY"), |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It adds workflow context (post-discovery, pre-call) and implies a read operation ('Get'), but it does not clarify the return format or side effects. More importantly, it claims to accept 'a list of tool names' while the schema only allows a single string, creating an inconsistency that could mislead the agent about accepted inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact at two sentences, front-loading the core function and then attaching workflow guidance. The second sentence about lists adds useful context but introduces ambiguity and could be tightened to align with the schema. It remains concise and well-structured overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema or annotations, the description covers the main workflow and purpose. However, it leaves gaps: it does not describe the structure of the returned schema, and the mismatch between the claimed list support and the actual parameter type is not resolved. These are notable omissions in an otherwise adequate description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema description for tool_name already provides an example. The baseline would be 3, but the description introduces a contradiction: it says 'one or more tools' and 'a list of tool names,' yet the input schema defines a single string parameter with no indication of how to encode multiple names. This actively misleads the agent, so a score below baseline is warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get the full schema for one or more tools including all parameters.' It uses a specific verb ('Get') and resource ('full schema'), and distinguishes itself from siblings like TOOL_LIST (discovery) and TOOL_CALL (execution) by explicitly placing it between them: 'After discovering tools via TOOL_LIST, use this to get the complete parameter schema before calling the tool.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: it should be used after TOOL_LIST and before calling a tool, and it suggests using it when unsure which tool to call by providing multiple names. This is clear, actionable guidance that differentiates it from alternatives without needing to name every sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TOOL_LISTAInspect
List all available Alpha Vantage API tools with their names and descriptions. IMPORTANT: This returns only tool names and descriptions, NOT parameter schemas. You MUST call TOOL_GET(tool_name) to retrieve the full inputSchema (required parameters, types, descriptions) before calling TOOL_CALL. Calling TOOL_CALL without first calling TOOL_GET will fail because you won't know the required parameters. Workflow: TOOL_LIST -> TOOL_GET(tool_name) -> TOOL_CALL(tool_name, arguments)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It goes beyond a simple listing by stating exactly what is returned (names and descriptions), what is NOT returned (parameter schemas), and the consequence of skipping TOOL_GET (failure). This gives the agent a complete understanding of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficient, with three sentences covering purpose, limitation, and workflow. The 'IMPORTANT' warning and workflow sequence are slightly verbose but each part adds value. It is front-loaded with the purpose and maintains focus.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and no output schema, the description is fully complete. It explains what the tool returns, what it does not return, and how to proceed. The workflow note fills any gaps about next steps, making it self-sufficient for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to add parameter semantics. The baseline for no parameters is 4, and the description appropriately omits parameter information since there is nothing to document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: listing all available Alpha Vantage API tools with names and descriptions. This is a specific verb+resource, and the explicit mention of returning tool names and descriptions distinguishes it from TOOL_GET and TOOL_CALL, which retrieve schemas or execute calls.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit workflow guidance: TOOL_LIST -> TOOL_GET -> TOOL_CALL, and explicitly warns that TOOL_CALL will fail without first calling TOOL_GET. This clearly indicates when to use this tool and what to do next, effectively differentiating it from sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityAmaintenanceGTM signal intelligence suite for AI agents. Six tools: hiring signals, tech stack detection, company-to-LinkedIn resolution, ICP scoring, job board scanning, and a combined signals aggregator. Built for outbound sales workflows.Last updated111111MIT

industrylens-mcpofficial
Flicense-qualityCmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.Last updated
Sociality MCPofficial
Alicense-qualityDmaintenanceSocial media analytics, post insights, and competitor benchmarking for AI agents.Last updated6MIT- AlicenseAqualityAmaintenanceDetects hiring intent signals by scanning job boards for specific companies. Returns structured role data for outbound sales targeting.Last updated1901MIT