Skip to main content
Glama

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.4.4

  • Disambiguation5/5

    Each tool has a clearly distinct purpose, covering specific financial data domains (e.g., profile, transcripts, insider trades, economics, screening). Even overlapping areas like fmp_profile and fmp_fetch are differentiated by description.

    Naming Consistency3/5

    Tool names are inconsistent: some use the 'fmp_' prefix (fmp_fetch, fmp_describe) while others use 'get_' (get_news, get_earnings_transcript) or 'screen_' (screen_stocks). This mixed convention may confuse an agent.

    Tool Count5/5

    With 21 tools covering a broad range of financial data (company, market, technical, events, ownership, etc.), the count is well-scoped for a comprehensive financial data MCP server.

    Completeness5/5

    The tool surface covers major financial analysis areas: profile, peers, market context, price performance, technical, sector, news, events, earnings transcripts, insider trades, institutional ownership, ETF holdings, economic data, and screening. The generic fmp_fetch endpoint fills any remaining gaps.

  • Average 4/5 across 21 of 21 tools scored. Lowest: 2.9/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 13 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under PolyForm Noncommercial License 1.0.0.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    With no annotations, the description should disclose behavior like caching, rate limits, or read-only nature. It only states what is retrieved, not how it behaves (e.g., no mention of live vs delayed data, or that it supports caching via the use_cache parameter). 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.

    Conciseness4/5

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

    Single sentence, 13 words, no fluff. Very concise, but it sacrifices detail. Could add a second sentence for usage guidance while remaining concise.

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

    Completeness2/5

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

    Despite having an output schema (so return values need no explanation), the description lacks coverage of behavioral aspects (no annotations) and does not explain how parameters like limit, format, and output affect results. Incomplete for a 6-parameter tool.

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

    Parameters3/5

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

    Schema description coverage is 100%, so baseline is 3. The description adds no extra parameter meaning beyond the schema. Mentioning 'holdings, sector/country weights, and metadata' aligns with the include parameter options, but does not enrich semantics.

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

    Purpose4/5

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

    The description clearly states it retrieves ETF/fund composition including holdings, sector/country weights, and metadata. This distinguishes it from siblings like fmp_profile (company profile) and get_sector_overview (sector-level data). However, it does not differentiate from fmp_fetch or fmp_search, which could also retrieve ETF data.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives. For instance, it does not explain when to prefer this over fmp_fetch or get_market_context. The description simply states the action without usage context.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden. It mentions fetching recent transactions and aggregate stats but does not clarify recency limits, caching behavior, or potential side effects beyond what is in 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.

    Conciseness4/5

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

    The description is concise with two sentences. The first sentence clearly states purpose, though there is slight redundancy between the two sentences.

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

    Completeness3/5

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

    Given the tool has 4 parameters and an output schema, the description covers the core functionality. However, it lacks context on when to use different format options or how caching works, making it minimally adequate.

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

    Parameters3/5

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

    Schema coverage is 100%, and each parameter has a description in the schema. The tool description does not add extra 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.

    Purpose5/5

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

    The description clearly states it retrieves insider buying/selling activity and summary statistics for a stock, specifying the resource and action. It distinguishes itself from sibling tools like get_institutional_ownership by focusing specifically on insider trades.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives such as get_institutional_ownership or fmp_fetch. There is no mention of prerequisites, optimal contexts, or exclusions.

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

  • Behavior3/5

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

    No annotations provided; description states it returns matching companies with basic info. It misses details like rate limits, pagination behavior, or what happens with no results, but the core behavior is described.

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

    Conciseness5/5

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

    Three brief, front-loaded sentences with zero waste. Every sentence provides information about purpose, output, or convenience.

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

    Completeness4/5

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

    Given the simple search functionality, rich schema (parameter descriptions), and output schema presence, the description covers input, output, and purpose adequately. Lacks only some behavioral details for full completeness.

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

    Parameters3/5

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

    Schema coverage is 100%, so the schema already documents all parameters. The description adds a high-level note about search input (name/ticker) but does not elaborate on parameter values beyond what the schema provides.

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

    Purpose4/5

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

    Clearly states it searches for companies by name or ticker and returns symbols, names, and exchange info. However, it does not explicitly differentiate from sibling tools like fmp_fetch or fmp_profile, though the intent is clear.

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

    Usage Guidelines2/5

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

    Labels itself as a 'convenience wrapper' but offers no guidance on when to use this versus alternatives, no exclusion criteria, and no prerequisites. The agent receives little context for tool selection.

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

  • Behavior2/5

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

    With no annotations, the description must fully disclose behavior. It mentions combining data types but omits details on caching (use_cache param), rate limits, authentication, error handling, or output structure beyond 'summary' and 'full' formats. This leaves significant gaps.

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

    Conciseness5/5

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

    Two sentences, no fluff. The first sentence gives the primary purpose, and the second adds relevant detail. Information is front-loaded and efficiently presented.

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

    Completeness3/5

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

    Given 6 parameters and an output schema, the description adequately states what the tool returns but lacks guidelines on when to use it and behavioral details. It is functional but incomplete for an agent needing full context.

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

    Parameters3/5

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

    Schema coverage is 100% with parameter descriptions, so baseline is 3. The tool description adds context about combining holder-level and aggregate data, which relates to the format parameter, but does not provide additional meaning beyond what the schema already offers.

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

    Purpose5/5

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

    The description clearly states the tool retrieves institutional ownership analytics for a stock, combining holder-level data with aggregate metrics. It names a specific resource and verb, and its purpose is distinct from siblings like get_etf_holdings or fmp_profile.

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

    Usage Guidelines3/5

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

    The description implies usage for institutional ownership data but provides no explicit guidance on when to use this tool versus alternatives (e.g., get_etf_holdings for ETF data). No exclusions or conditions are mentioned, making the guidance minimal.

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

  • Behavior2/5

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

    No annotations provided, so description carries full burden. It only says 'Fetch data' but does not disclose read-only nature, side effects, rate limits, error behavior, or any other behavioral traits. The minimal description leaves significant gaps.

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

    Conciseness5/5

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

    Two sentences, zero wasted words. Front-loaded with the core action and immediately provides usage guidance. Highly concise and structured.

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

    Completeness2/5

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

    Despite 13 parameters and an output schema, the description is extremely brief. It does not explain how to construct queries, interpret results, or handle common scenarios. It relies too heavily on other tools and schema, making it incomplete for a primary tool.

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

    Parameters3/5

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

    Schema description coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema; it relies entirely on the schema for parameter details. The mention of fmp_describe is about discovery, not semantics.

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

    Purpose5/5

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

    Description clearly states 'Fetch data from any registered FMP endpoint' with a specific verb and resource. It distinguishes from sibling tools fmp_list_endpoints and fmp_describe by positioning itself as the primary fetching tool, which is explicit.

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

    Usage Guidelines4/5

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

    Explicitly instructs to use fmp_list_endpoints for discovery and fmp_describe for parameters. Provides clear context for when to use this tool vs alternatives, though no explicit when-not scenarios are mentioned.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It outlines the type of analysis provided (trend, momentum, volatility, support/resistance, buy/sell signal) but does not mention caching behavior (though the use_cache parameter hints at it), rate limits, or error handling. The description is adequate but leaves some behavioral aspects implicit.

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

    Conciseness5/5

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

    The description is extremely concise: only two sentences that convey the core functionality. Every sentence is informative, with no redundant or extraneous information. It is optimally sized for an agent to quickly grasp the tool's purpose.

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

    Completeness4/5

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

    Given the tool's complexity (8 parameters, output schema exists), the description provides a solid overview of what is returned (trend, momentum, volatility, support/resistance, buy/sell signal). The existence of an output schema reduces the need to detail return values. However, the description could mention the available output modes (full/summary) and timeframe options to enhance completeness. Overall, it is well-rounded but leaves a few details to the schema.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the baseline is 3. The description does not add significant meaning beyond the parameter descriptions already in the schema. It mentions 'multiple technical indicators' but does not elaborate on parameters like format, last_n, output, or indicators. Thus, it provides minimal additional value for parameter understanding.

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

    Purpose5/5

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

    The description clearly states the tool's purpose: 'Get composite technical analysis for a single stock or ETF.' It specifies the resource (single stock/ETF) and the action (get composite technical analysis). The sibling tools include generic fetch and market context tools, making this tool distinct as a focused technical analysis provider.

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

    Usage Guidelines2/5

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

    The description does not provide any guidance on when to use this tool versus its siblings (e.g., fmp_fetch, get_market_context). There is no mention of prerequisites, alternatives, or conditions that would make this tool more appropriate than others. The agent must infer usage from the tool name and description alone.

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

  • Behavior3/5

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

    No annotations provided, so description carries full burden. Describes search and filtering behavior but does not explicitly state read-only nature, limitations, authentication, or rate limits. 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.

    Conciseness5/5

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

    Two sentences, front-loaded with purpose, no fluff. Efficiently communicates the tool's function and usage.

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

    Completeness4/5

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

    Given 18 parameters (none required) and existence of output schema, description adequately explains the tool's capability. Could be slightly more explicit about return format, but output schema covers that.

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

    Parameters3/5

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

    Schema coverage is 100%. Description only lists a few criteria ('sector, market cap, beta, dividend') without adding meaning beyond the detailed schema descriptions. Baseline score of 3.

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

    Purpose4/5

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

    Clearly states 'Screen stocks by fundamental criteria' with examples, distinguishing from siblings like 'compare_peers' or 'screen_estimate_revisions'. Could be more specific about what 'screen' entails (filter and return results).

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

    Usage Guidelines3/5

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

    Provides context: 'Searches the full universe of stocks and ETFs' and 'Combine multiple criteria to narrow results.' No explicit when-not or alternatives, but is adequate for a filtering tool.

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

  • Behavior3/5

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

    No annotations provided, so description carries full burden. It discloses internal date range splitting but omits authentication, rate limits, and read-only nature. 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.

    Conciseness5/5

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

    Five sentences, each serving a purpose: purpose statement, capability, usefulness, behavioral note, and alternative tool. No redundancy, front-loaded.

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

    Completeness4/5

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

    Complex tool with 6 params and no annotations; description covers core functionality, usage alternatives, and a key behavioral quirk. Output schema exists, so return format is not needed. Missing error handling or authorization hints, but overall sufficient.

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

    Parameters3/5

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

    Input schema covers all 6 parameters with full descriptions (100%). The description adds only the date splitting context for from_date/to_date, which is a minor addition beyond the schema.

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

    Purpose4/5

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

    Clearly states it fetches corporate events (earnings, dividends, splits, IPOs) with symbol filtering. However, it does not distinguish itself from sibling tools like get_earnings_transcript, which might overlap in functionality.

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

    Usage Guidelines4/5

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

    Provides a clear alternative (get_portfolio_events_calendar) for portfolio-aware use, and notes date range splitting. Lacks guidance on when to use vs other event-related siblings.

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

  • Behavior3/5

    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 mentions combining daily performance and P/E ratio into a heatmap and supports granularity. However, it does not disclose data source, staleness, caching behavior, or limitations. The use_cache parameter is in the schema but not highlighted in the description.

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

    Conciseness5/5

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

    The description is two sentences, concise and front-loaded. Every sentence adds value without redundancy.

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

    Completeness4/5

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

    Given the presence of an output schema and full parameter documentation, the description is mostly complete. It explains the tool's purpose and output format. However, it could briefly mention that date defaults to latest and that sector/symbols are filters.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the baseline is 3. The description does not add meaning beyond the schema; it only provides a general overview of the output. No specific parameter details are elaborated in the description.

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

    Purpose5/5

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

    The description clearly states the verb 'Get' and the resource 'sector or industry performance and valuation overview'. It specifies that it combines daily performance and P/E ratio into a heatmap, distinguishing it from sibling tools like get_price_performance_windows or get_market_context.

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

    Usage Guidelines3/5

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

    The description implies usage for obtaining a unified sector/industry heatmap, but does not explicitly state when to use this tool versus alternatives (e.g., compare_peers or get_market_context). No exclusion criteria or scenarios are provided.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It mentions the data source (FRED via FMP) and output modes, but does not disclose caching behavior, rate limits, or mutable side effects. The description is adequate but could be improved.

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

    Conciseness5/5

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

    The description is two sentences, front-loaded with the core purpose. It is concise and well-structured, with no redundant information.

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

    Completeness4/5

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

    Given the tool's complexity (9 parameters) and the presence of an output schema, the description provides a sufficient overview. It explains the two modes and mentions output formats, but lacks details on prerequisites or error handling. Still, it is largely complete.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the baseline is 3. The description adds little beyond the schema, e.g., listing available indicators (partially) which is already in the schema. It provides a high-level overview but does not significantly enhance understanding of parameter semantics.

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

    Purpose5/5

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

    The description clearly states the tool's purpose: fetching economic indicators or events. It explicitly names the two modes and distinguishes from sibling tools (e.g., no other tool focuses on economic data).

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

    Usage Guidelines4/5

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

    The description provides clear guidance on when to use each mode: 'Use indicator mode for time series data... or calendar mode for upcoming/recent economic releases.' It does not explicitly mention when not to use or list alternatives, but the context is clear and sufficient.

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

  • Behavior3/5

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

    With no annotations provided, the description must fully disclose behavior. It describes that the tool fetches peer groups (auto-discovery) and builds a side-by-side comparison, and notes the default operating-peer orientation. However, it omits details about whether it mutates data, required permissions, rate limits, or side effects, which given the absence of annotations, leaves 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.

    Conciseness5/5

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

    The description is concise (7 sentences) and well-structured: it opens with the primary purpose, then details the output, and ends with specific usage guidelines. Every sentence adds value, and the critical information (purpose and key usage notes) is front-loaded.

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

    Completeness4/5

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

    Given the tool's complexity (7 parameters), the presence of an output schema, and no annotations, the description covers the main behavior (peer comparison, ratio types) and provides specific usage guidance for edge cases (dividend/buyback). It might miss explaining the output format beyond the summary/full distinction, but the output schema likely handles that. Overall, it is sufficiently complete.

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

    Parameters4/5

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

    Schema coverage is 100% (all 7 parameters described in schema), but the description adds valuable context beyond what the schema provides. For example, it explains that peer_context='capital_allocation' favors mature dividend-paying comps and that metric hints can infer peer_context. This extra guidance helps agents use parameters correctly.

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

    Purpose5/5

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

    The description starts with a clear verb-resource pair: 'Compare a stock against its peers on key financial ratios.' It specifies the action (compare), the object (stock against peers), and the content (financial ratios including valuation, profitability, margins, leverage). This distinguishes it from sibling tools like fmp_profile (single stock) or get_market_context (broader market).

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

    Usage Guidelines4/5

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

    The description provides specific guidance on when to use the peer_context='capital_allocation' or metric='dividend_payout' for dividend/buyback questions, and notes that default auto-discovery is operating-peer oriented. While it gives clear context, it does not explicitly state when not to use this tool or name alternatives among siblings.

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

  • Behavior4/5

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

    The description adds behavioral context such as the data source ('hosted estimates API backed by the monthly collection job') and default behavior for omitted 'fiscal_date'. Without annotations, these details are valuable for understanding data freshness and default handling.

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

    Conciseness5/5

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

    The description is two sentences front-loaded with the core purpose. Every sentence adds value without redundancy.

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

    Completeness4/5

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

    Given that an output schema exists, the description need not explain return values. It covers purpose, data source, and default behavior. Minor omission: could mention data ordering or pagination, but overall adequate for a simple retrieval tool.

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

    Parameters4/5

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

    With 100% schema description coverage, the baseline is 3. The description adds context by explaining that omitting 'fiscal_date' defaults to the nearest upcoming fiscal period, which is not in the schema description.

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

    Purpose5/5

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

    The description clearly states the tool 'Get[s] estimate revision history for one ticker and fiscal period.' It specifies the verb, resource, and scope, distinguishing it from sibling tools like 'screen_estimate_revisions' which likely screen across multiple entities.

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

    Usage Guidelines3/5

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

    The description implies usage for a specific ticker and period but does not explicitly state when to use or avoid this tool, nor does it mention alternatives beyond the implied distinction from screening tools.

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

  • Behavior4/5

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

    No annotations provided, so description carries full burden. It discloses what data is fetched (indices, sectors, movers, events) and parameter effects (format limits, section filtering, caching). Lacks details on data staleness or error handling.

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

    Conciseness5/5

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

    Two short, front-loaded paragraphs. First sentence conveys purpose; second paragraph adds operational detail. Every sentence adds value without redundancy.

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

    Completeness4/5

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

    Given 3 optional parameters, no required inputs, and presence of output schema, the description sufficiently covers tool purpose and parameter usage. Minor gap: no mention of performance or data currency.

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

    Parameters3/5

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

    Schema description coverage is 100%, so baseline is 3. Description reaffirms parameter effects already in schema (e.g., format controls item limits, include selects sections), adding minimal extra meaning.

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

    Purpose5/5

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

    Description states 'Get a one-call market snapshot across indices, sectors, movers, and events', clearly specifying the verb, resource, and scope. It distinguishes from siblings (e.g., get_news, get_sector_overview) by offering a comprehensive overview.

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

    Usage Guidelines4/5

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

    Explicitly says 'Useful for quick "what's happening in the market?" checks', indicating when to use the tool. However, it does not mention when not to use or provide explicit alternatives among siblings.

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

  • Behavior4/5

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

    No annotations provided; description explains internal steps (fetch, align, compute, filter) but omits auth or rate limits, which are not critical for this read-only tool.

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

    Conciseness5/5

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

    Three concise sentences front-loading purpose, usage, and internal steps with no waste.

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

    Completeness4/5

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

    Describes algorithm and output (non-overlapping windows); output schema exists, so additional detail is not needed.

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

    Parameters3/5

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

    Schema coverage is 100%; description adds context on overall algorithm but not parameter-specific details beyond schema.

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

    Purpose5/5

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

    Description clearly states the tool fetches adjusted prices, aligns dates, computes rolling returns, and returns non-overlapping windows, distinguishing it from raw CSV parsing.

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

    Usage Guidelines4/5

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

    Explicitly recommends use for historical-coincidence evidence needing 3-5 periods, but does not specify when not to use or compare to siblings.

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

  • Behavior4/5

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

    With no annotations, the description fully carries behavioral disclosure. It explains the comparison logic, materiality thresholds, filtering directions, and the effect of omitting tickers. However, it doesn't describe the return format or any side effects, though an output schema exists.

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

    Conciseness4/5

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

    The description is concise with two paragraphs, front-loaded with purpose, and each sentence adds value. It could be more structured, but it's clear and efficient.

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

    Completeness5/5

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

    The description competently covers all inputs, default behavior, materiality logic, and optional parameters. Given the output schema exists, return format is not needed. It is complete for a tool of this complexity.

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

    Parameters3/5

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

    Schema coverage is 100%, so description adds only marginal value beyond schema. It does provide context on default behavior and how thresholds work, but the parameter meanings are already clear from the schema.

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

    Purpose5/5

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

    The description clearly states the tool screens a ticker universe for material estimate momentum, compares latest estimates against a lookback snapshot, and returns per-ticker deltas/direction. It specifies default filtering criteria and optional parameters, making the purpose distinct from sibling tools like get_estimate_revisions or screen_stocks.

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

    Usage Guidelines4/5

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

    The description explains when to use the tool (to screen for estimate momentum) and details default behavior and parameter overrides. It doesn't explicitly state when not to use or mention alternative tools, but the sibling tool names provide indirect guidance.

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

  • Behavior3/5

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

    No annotations provided, so description carries the burden. It indicates the tool is a read-only discovery tool, which is safe, but does not detail behavior like what happens without a category filter (likely lists all). Output schema exists but is not referenced.

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

    Conciseness5/5

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

    Two short, front-loaded sentences with zero waste. Every word serves a purpose.

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

    Completeness5/5

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

    For a simple listing tool with one optional parameter and an output schema, the description is complete. It covers purpose, usage, and discovery context without missing critical information.

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

    Parameters3/5

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

    Schema description coverage is 100%, so baseline is 3. The tool description adds no additional meaning to the 'category' parameter beyond what the schema already provides.

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

    Purpose5/5

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

    The description clearly states the tool lists available FMP endpoints, using specific verb 'list' and resource 'endpoints'. It positions itself as a discovery tool, distinguishing from sibling data-fetching tools like fmp_fetch.

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

    Usage Guidelines5/5

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

    Explicitly states to 'Use this first to understand what endpoints exist before fetching data,' providing a clear when-to-use and implicitly when-not-to-use (when actual data is needed, use other tools).

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

  • Behavior4/5

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

    No annotations provided, so description fully carries the burden. It discloses that the comparison is between a current snapshot and a period-end value, adding context about the nature of the discrepancy. No side effects mentioned; appropriate for a read-only comparison.

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

    Conciseness5/5

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

    Two concise sentences: first states purpose, second gives usage guidance. No wasted words, front-loaded.

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

    Completeness5/5

    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 an output schema, the description is complete: it explains the tool's purpose, when to use it, and the difference between the compared values. No gaps.

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

    Parameters3/5

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

    Schema description coverage is 100% (single parameter 'symbol' with examples). The description adds no additional meaning beyond 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.

    Purpose5/5

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

    The description clearly states the action ('Compare current profile market cap against latest annual key_metrics market cap') with specific resources and distinguishes from siblings by naming the exact endpoints.

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

    Usage Guidelines4/5

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

    Provides explicit context when to use the tool (when fmp_profile.mktCap and fmp_fetch endpoint marketCap values disagree) and explains the difference between the two values, but does not explicitly state when not to use or list alternatives.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It states it's a discovery tool returning documentation, implying safe read-only behavior, but does not explicitly mention no side effects, speed, or access requirements. Slightly more detail would enhance transparency.

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

    Conciseness5/5

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

    Three short, front-loaded sentences with no fluff. Each sentence adds value: purpose, role as discovery tool, and usage tip.

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

    Completeness5/5

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

    Given the output schema exists, return values need not be explained. The description fully covers purpose, usage, and context for a simple documentation tool. It is complete and self-sufficient.

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

    Parameters4/5

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

    Schema coverage is 100% for the single endpoint parameter, and the description adds examples like 'income_statement', 'historical_price_adjusted', which clarify naming conventions beyond the schema's generic description.

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

    Purpose5/5

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

    The description clearly states it 'Get detailed documentation for an FMP endpoint' and positions it as a discovery tool. It distinguishes from sibling tools like fmp_fetch (which fetches data) and fmp_list_endpoints (which lists endpoints).

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

    Usage Guidelines5/5

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

    Explicitly advises 'Use this before calling fmp_fetch to know required vs optional params', providing clear when-to-use guidance. The sibling tool list further aids decision-making.

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

  • Behavior4/5

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

    No annotations provided, so the description carries the full burden. It discloses that symbols are required for stock and press modes, and that general mode ignores symbols. While it doesn't cover rate limits or error handling, the operational behavior (modes and parameter dependencies) is clear. No contradictions with annotations (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.

    Conciseness5/5

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

    Extremely concise and well-structured: a one-sentence purpose, a bulleted list of modes, and a note about an alternative tool. Every sentence adds value and the description is front-loaded with the most important information.

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

    Completeness5/5

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

    Given the presence of an output schema (stated in context signals), the description does not need to explain return values. With 7 parameters fully described in the schema, the description covers usage modes and alternatives, providing sufficient context 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.

    Parameters3/5

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

    Schema description coverage is 100%, so baseline is 3. The description adds minimal extra meaning beyond the schema; it summarizes modes and symbol requirements, but the schema already documents all parameters comprehensively with detailed descriptions.

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

    Purpose5/5

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

    The description clearly states 'Fetch news articles for stocks or the broad market' and enumerates three specific modes (stock-specific, general market, company press releases). It distinguishes itself from the sibling tool get_portfolio_news by noting the portfolio alternative.

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

    Usage Guidelines5/5

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

    Explicitly describes the three modes and when to use each, including the requirement of symbols for stock and press modes. Provides a direct alternative tool (get_portfolio_news) for portfolio-aware auto-fill, guiding the agent away from this tool in that context.

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

  • Behavior5/5

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

    No annotations are provided, so the description carries full burden. It discloses that mktCap may be stale (up to 1 week from cache) and that no timestamp is included. This is transparent about data freshness and potential misleading values.

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

    Conciseness5/5

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

    The description is concise with two focused paragraphs. The first states purpose and return fields; the second addresses data freshness and provides an alternative. No redundant or unnecessary sentences.

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

    Completeness5/5

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

    With an output schema present, the description doesn't need to detail return values. It covers the main behavioral traits (data freshness, snapshot nature) and provides an alternative for historical data. Complete for a profile-lookup tool.

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

    Parameters3/5

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

    Schema coverage is 100%, so parameters are well-documented in the schema. The description adds that ticker is an alias for symbol, which is already implied by the schema. No additional semantic value beyond what the schema provides.

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

    Purpose5/5

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

    The description clearly states it gets 'detailed company profile information' and lists specific fields (sector, industry, description, CEO, employees, website, key financial metrics). It distinguishes from siblings by noting an alternative for historical market cap.

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

    Usage Guidelines5/5

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

    The description explicitly gives when-to-use guidance: for historical period-aligned market cap, use fmp_fetch instead. It also warns about potential staleness of mktCap, helping the agent decide if this tool is appropriate.

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

  • Behavior5/5

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

    No annotations exist, so the description carries full responsibility. It thoroughly discloses key behaviors: default format is summary to protect context, full mode returns bounded preview when unfiltered, max_words cap, and output mode differences (inline vs file). This covers potential pitfalls and resource usage.

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

    Conciseness4/5

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

    The description is well-structured with bullet points and clear sections, but it is somewhat lengthy. The recommended workflow is stated in two places (paragraph form and list), introducing minor redundancy. Still, it is easy to scan and logically ordered.

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

    Completeness5/5

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

    Given the 9 parameters and the existence of an output schema, the description covers all critical aspects: parameter explanations, behavioral nuances, workflow guidance, and trade-offs. It prepares the agent for complex usage scenarios like avoiding massive context consumption.

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

    Parameters5/5

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

    Schema coverage is 100%, and the description adds significant value beyond parameter names and types. It explains default values, interactions (e.g., max_words ignored in summary or file mode), filtering behavior (substring match, case-insensitive), and the bounded preview logic. This rich contextual information is essential for correct usage.

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

    Purpose5/5

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

    The description clearly identifies the tool as parsing and navigating earnings call transcripts, explaining the structured output (prepared remarks and Q&A). It distinguishes itself from sibling tools, which are other financial data retrieval tools, by focusing specifically on earnings transcript content and navigation.

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

    Usage Guidelines4/5

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

    The description provides a step-by-step recommended workflow: start with summary to scout, then use full with filters. It warns about context window size, explains the bounded preview behavior when no filters are provided, and describes when to use inline vs file output. However, it does not explicitly state when not to use this tool or compare to alternatives.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

fmp-mcp MCP server

Copy to your README.md:

Score Badge

fmp-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/henrysouchien/fmp-mcp'

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