Skip to main content
Glama
HonglingLei

MCP-Server-Financial-Analyzer

by HonglingLei

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools have clearly distinct purposes, such as the three financial statements and the price data tools. However, get_company_facts and get_stock_info both provide company information, and get_stock_price overlaps somewhat with get_stock_info in terms of market data, which could cause some confusion.

    Naming Consistency3/5

    The majority of tools use a consistent get_ prefix, but several break this pattern with action verbs like calculate_financial_ratios, analyze_trends, and compare_stocks, and dcf_estimate does not follow the verb_noun structure. This mixing of conventions is readable but not fully predictable.

    Tool Count5/5

    With 14 tools, the server is well-scoped for a financial analyzer, covering fundamental data, SEC filings, ratios, trends, comparisons, and valuation. Each tool serves a distinct analytical purpose without feeling excessive.

    Completeness4/5

    The tool set covers the main workflows of financial analysis: retrieving financial statements, calculating ratios, analyzing trends, comparing stocks, and performing DCF valuation. Minor gaps exist, such as no direct access to analyst estimates or news, but these are not critical for the core domain.

  • Average 3.8/5 across 14 of 14 tools scored.

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

    • No community issues in the last 6 months
    • 0 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
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • 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?

    No annotations are provided, so the description must fully disclose behavior. It only lists parameter values and examples, without noting any limitations (e.g., interval restrictions, data adjustments, or rate limits). This is minimal behavioral context for a data retrieval tool.

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

    Conciseness5/5

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

    The description is compact, with a clear one-sentence purpose followed by an args list. Every line earns its place, and the format is easy to scan, making it appropriately sized and well-structured.

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

    Completeness3/5

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

    The description covers the essential purpose and parameter values, but lacks usage guidance and behavioral caveats. Since an output schema exists, return values need not be explained, but the description does not fully prepare the agent for when to use this tool versus siblings, making it adequate but not 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?

    With schema description coverage at 0%, the description adds value by listing allowed values for 'period' and 'interval' and providing an example for 'ticker'. However, it does not explain relationships between parameters (e.g., which intervals work with which periods) or the meaning of each period/interval, so the semantics are only partially enriched.

    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 'Get historical OHLCV price data for a stock', using a specific verb and resource. It distinguishes itself from siblings like get_stock_price (which likely provides current prices) by explicitly mentioning 'historical' and 'OHLCV'.

    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 that this tool is used for historical price data but does not explicitly say when to use it over alternatives or mention any exclusions. There is no direct comparison to siblings like get_stock_price or get_stock_info, so the usage context is only implicit.

    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 carries the full burden of behavioral disclosure, but it only lists arguments. It does not mention return format, whether results are metadata or full text, pagination behavior, rate limits, or data source specifics, making behavioral expectations unclear.

    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 appropriately sized: one clear purpose sentence followed by a compact, information-dense Args list. Every sentence contributes value and there is no redundancy or fluff.

    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 and this is a relatively simple search tool, the description adequately covers the purpose and all parameters. However, it lacks usage alternatives and behavioral context, so it is not fully complete for an agent deciding among sibling tools.

    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?

    The schema has no property descriptions (0% coverage), so the description effectively compensates by documenting all three parameters with meaningful details: an example for ticker, a list of accepted form_type values, and a range for limit. This goes well beyond the bare schema.

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

    Purpose4/5

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

    The description clearly states the tool searches for SEC filings for a company, with a specific verb and resource. However, it does not explicitly distinguish itself from sibling tools like get_filing_sections, which also deals with SEC filings.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives, no exclusions, and no contextual hints beyond the basic purpose. It lacks any mention of when to prefer search_sec_filings over tools like get_filing_sections or get_company_facts.

    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 are present, so the description bears full responsibility for disclosing behavior. It only defines parameters and offers no insights into side effects, data scope, limitations, or operational characteristics beyond the literal 'Get' action.

    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, front-loading the main purpose and following with a clean Args list. No redundant words or filler; every sentence adds value.

    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 simplicity and the presence of an output schema, the description covers essential invocation details. However, it lacks any situational context, such as when to prefer this over sibling tools, which slightly reduces completeness.

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

    Parameters4/5

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

    Schema description coverage is 0%, so the description compensates by explaining both parameters: ticker with an example and period with allowed values. This is necessary and sufficient for correct invocation, though it could add a bit more context like default behavior.

    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 returns balance sheet data with enumerated components (assets, liabilities, equity, debt). It distinguishes the tool from siblings like get_income_statement and get_cash_flow by naming the specific financial statement.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or situation-specific suitability, leaving the agent to infer usage solely from the tool name.

    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 are provided, so the description carries the full burden. It only states that the tool 'gets' cash flow data, with no disclosure of data source, limitations, error behavior, or read-only confirmation. This is minimal 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.

    Conciseness5/5

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

    The description is concise and well-structured, with a clear one-line purpose followed by an Args block. Every sentence adds value, and there is no redundant or filler content.

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

    Completeness4/5

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

    Given the tool's simplicity, an output schema exists, and the core parameters are described, the description is mostly complete. It lacks usage context and deeper behavioral details, but it is sufficient for basic tool selection and invocation among the sibling tools.

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

    Parameters4/5

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

    The description compensates for the 0% schema description coverage by explaining both parameters: ticker with an example ('AAPL') and period with allowed values ('annual' or 'quarterly'). It adds practical semantics beyond the bare schema, though it doesn't mention the default value for period.

    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 a cash flow statement and lists the major components (operating, investing, financing, free cash flow). This specific verb+resource clearly distinguishes it from sibling tools like get_income_statement and get_balance_sheet.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives like get_income_statement or get_balance_sheet. The description implies it should be used for cash flow data, but there is no explicit context, exclusions, or alternative tool mentions.

    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 and no output schema detail referenced, the description provides no behavioral context beyond the basic operation. It does not disclose return format, data granularity, or any quirks about how the income statement is retrieved.

    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 appropriately short and front-loaded, with a clear purpose statement followed by a concise parameter list. Every sentence adds value and there is no redundancy.

    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?

    The tool is simple and the output schema exists, which covers return values. However, the description lacks usage context such as when to prefer this over other financial statements, and does not mention whether data is historical, trailing, or forecast. This leaves minor but material gaps.

    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?

    Despite 0% schema description coverage, the description fully documents both parameters: ticker with an example ('AAPL') and period with allowed values ('annual' or 'quarterly'). This adds significant meaning beyond the schema.

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

    Purpose5/5

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

    The description clearly states the tool's purpose: 'Get income statement data' and lists specific metrics (revenue, gross profit, EBITDA, net income, EPS). This distinguishes it from sibling tools like get_balance_sheet and get_cash_flow.

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

    Usage Guidelines2/5

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

    No guidance is given about when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or comparative context with sibling tools, leaving the agent to infer usage solely from the name.

    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 are provided, so the description must carry full behavioral transparency. It only states 'Get company profile' without explicitly confirming it is read-only, mentioning authentication requirements, rate limits, or data source. The verb 'Get' implies no side effects, but the description adds no extra behavioral context beyond that.

    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 exceptionally concise, consisting of one purpose sentence and one parameter definition. It is front-loaded with the main action, and every word adds value, with no redundancy or filler.

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

    Completeness4/5

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

    For a simple tool with one parameter and an output schema, the description covers the essential purpose and parameter semantics. However, it omits any usage context or explicit notes about output behavior, though the output schema mitigates the necessity of explaining return values. The lack of usage guidance is a minor gap.

    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?

    The schema has zero description coverage, but the description compensates well by defining 'ticker' as a stock ticker symbol and providing the example 'AAPL'. This makes the parameter's purpose clear and adds practical meaning beyond the raw 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 retrieves company profile and descriptive information for a stock, which distinguishes it from sibling tools like get_income_statement, get_stock_price, and get_company_facts. The verb 'Get' and resource 'company profile' 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.

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. It does not mention scenarios like 'use for company overview' or exclude cases best suited for get_company_facts or financial statement tools. The agent is left to infer usage context from the tool's name.

    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 are provided, so the description carries the full burden. It discloses that the tool 'returns' specific ratios, but it does not mention data source, time period (e.g., trailing twelve months), any dependencies on financial statement data, or potential caveats. 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.

    Conciseness5/5

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

    The description is concise and front-loaded, stating the main purpose first, then enumerating output categories, and finally providing an Args section. Every sentence contributes value, with no fluff or repetition of schema details.

    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?

    The description lists all output ratios and explains the parameter, and an output schema exists to define the exact return structure. However, it lacks context on data source, time period, or how this integrates with sibling financial statement tools. For a single-parameter tool this is mostly complete but leaves some gaps.

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

    Parameters4/5

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

    The input schema provides only a 'ticker' property with no description, so schema coverage is 0%. The description compensates by explaining 'ticker: Stock ticker symbol, e.g. 'AAPL'', which clarifies the format and provides an example. This adds meaningful guidance for the sole parameter.

    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 calculates key financial ratios for a stock, listing specific ratio categories (valuation, profitability, leverage). This distinguishes it from sibling tools like get_income_statement and get_balance_sheet, which return raw financial statements rather than derived metrics.

    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?

    Usage is implied but not explicitly stated. The description says it returns ratios, so an agent can infer when to use it (when ratios are needed) but there is no explicit guidance on when not to use it or alternatives. No mention of sibling tools or how this differs beyond the ratio list.

    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 clearly implies a read-only operation by using 'get', and it adds 'current' to indicate real-time or latest price. However, it does not disclose whether data may be delayed, what happens on invalid tickers, or what exactly 'key market data' includes. For a simple read 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.

    Conciseness5/5

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

    The description is extremely concise, with one clear sentence and a simple Args section. It avoids redundancy and front-loads the purpose. Every word earns its place, and the structure is easy to parse.

    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?

    The tool has an output schema, so the description does not need to explain return values. It properly identifies the single required parameter. Given the low complexity, the description is mostly complete, but it could benefit from noting that the data is a snapshot and possibly mentioning that ticker symbols are case-insensitive. Overall, it is sufficient for a simple tool.

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

    Parameters4/5

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

    The schema only defines 'ticker' as a required string. The description adds meaning by explaining what a ticker is and providing concrete examples ('AAPL', 'MSFT', 'TSLA'). This helps the agent correctly format the parameter. No other parameters exist, so the description effectively compensates for the 0% schema description coverage.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Get the current price and key market data for a stock.' The verb 'get' and resource 'stock price' are specific, and the word 'current' distinguishes it from historical price tools like get_price_history. The sibling tools include financial statements and filings, so this purpose is distinctly a market data snapshot.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. It does not mention alternatives, exclusions, or prerequisites. For example, it does not tell the agent to use get_stock_info for company details or get_price_history for historical data. The only guidance is the argument definition, which does not address 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 bears the full transparency burden. It explains that periods are 'Number of annual periods to include (1-8)' but does not disclose calculation methodology, handling of missing data, or output format. The behavioral detail beyond purpose 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.

    Conciseness5/5

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

    The description is concise and well-structured: a clear summary sentence followed by an Args block. No redundant text; every line contributes useful 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?

    For a 3-parameter tool with an output schema, the description covers purpose and parameter semantics well. It lacks details on calculation edge cases, but the output schema reduces the need to explain return values. Overall reasonably complete for its complexity.

    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?

    The schema has 0% description coverage, but the description compensates thoroughly: it lists common metric values (e.g., 'Total Revenue', 'Net Income'), clarifies periods are annual and range 1-8, and provides a ticker example ('AAPL'). This adds significant meaning beyond the bare schema.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Analyse YoY / period-over-period growth trends for a financial metric.' This distinguishes it from sibling tools like get_income_statement (raw data) and calculate_financial_ratios (ratios) by focusing on growth trend analysis.

    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 growth trend analysis but does not explicitly compare to alternatives. It provides parameter guidance (common metric values, periods range) but lacks explicit when-to-use/when-not-to-use scenarios or references to sibling tools.

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

  • Behavior3/5

    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 data source (SEC EDGAR, XBRL), the fields returned, and the conditional 'when available' for TTM values. It also uses neutral, read-only verbs ('Get', 'retrieves'). However, it does not mention response format, error behavior, or any edge cases beyond availability, so 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.

    Conciseness5/5

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

    The description is extremely concise: two short sentences plus a single-parameter arg list. It is front-loaded with the primary purpose, follows with the secondary data, and ends with a clear parameter explanation. No filler or redundancy.

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

    Completeness4/5

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

    For a simple one-parameter tool with an output schema, the description covers the core functionality, data source, and conditional availability. It does not explicitly orient the user relative to sibling tools, but the purpose is clear enough that the missing guidance is a minor gap, not a critical omission.

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

    Parameters4/5

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

    The single parameter 'ticker' has no schema description (0% schema coverage), but the description compensates with an 'Args' section: 'Stock ticker symbol, e.g. "AAPL"'. This fully explains the parameter's meaning and format, adding value beyond the bare schema field.

    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 opens with 'Get basic company facts from SEC EDGAR' and explicitly lists CIK, name, and registered tickers, then adds TTM revenue and net income. This clearly identifies the tool's specific function and differentiates it from siblings like get_income_statement or get_balance_sheet, which target detailed financial statements.

    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 scope is implied ('basic company facts') but there is no explicit when-to-use, when-not-to-use, or mention of alternatives. Since siblings exist for detailed financials, the description hints at a quick-overview use case but fails to state it directly or note 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?

    With no annotations provided, the description carries the burden. It discloses that the output shows EPS estimates vs actuals and surprise percentages, but does not mention potential side effects, data source limitations, or rate limits. This is minimal but not contradictory.

    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 compact, with the purpose in one sentence and a single parameter explanation. Every sentence earns its place, with no wasted words.

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

    Completeness4/5

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

    The tool has a simple single-parameter interface and an output schema is present, so the description need not explain return values. It provides the essential information for selection and invocation, though it could mention use cases or data source for fuller context.

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

    Parameters4/5

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

    The input schema provides only a 'ticker' string with no description (0% coverage). The description compensates by explaining 'Stock ticker symbol, e.g. AAPL', adding an example and clarifying the expected format, which is helpful for the tool's single parameter.

    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 uses a specific verb 'Get' and a clear resource 'earnings history', while explicitly mentioning the content ('EPS estimates vs actuals and surprise percentages'). This clearly distinguishes it from sibling tools like get_income_statement or get_stock_price.

    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?

    No explicit guidance is given on when to use this tool versus alternatives. The usage is implied by the tool's name and description, but there are no exclusions or alternative suggestions provided, so it meets only the 'implied usage' threshold.

    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 discloses useful behavioral traits: output is markdown text, leaving filing_date empty gets the most recent filing, and 'all' provides a summary. However, it omits error behavior, rate limits, or what happens if a requested section is not found, which is a notable gap 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.

    Conciseness5/5

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

    The description is efficiently structured: the first sentence provides the core purpose, followed by a clearly formatted Args list that details each parameter. There is no redundant text, and each sentence earns its place, making it easy for an agent to scan and extract essential 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?

    An output schema is present, so return values need not be described. The description covers purpose, parameters, default behaviors, and gives practical examples, which is enough for an agent to select and invoke the tool correctly. It falls short of completeness only by not offering explicit guidance on comparative use with siblings, but overall it is sufficiently comprehensive.

    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?

    With schema description coverage at 0%, the description fully compensates by documenting all four parameters: ticker with an example, form_type with allowed values, filing_date with format and default behavior, and sections with common values and the 'all' option. This adds meaningful context beyond the bare schema, making the parameters unambiguous.

    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 opens with 'Retrieve key sections from an SEC filing as markdown text,' which clearly states the action (retrieve), the resource (key sections from SEC filings), and the output format. It also lists the important sections for 10-K filings, further distinguishing it from sibling tools that focus on financial statements or stock data.

    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 extracting narrative sections from SEC filings, and notes which sections are important for 10-K, but it does not explicitly compare with alternatives like get_income_statement or search_sec_filings. There is no 'when not to use' guidance, leaving the agent to infer when this tool is the right choice among 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?

    With no annotations, the description must carry full behavioral burden. It names the arguments and lists valid metric options, which is helpful, but it does not disclose output format, potential errors, or any side effects. The tool is clearly a read-only comparison, yet the description omits details about the return structure beyond what the output schema presumably provides.

    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 succinct and well-structured: a one-sentence purpose statement followed by labeled argument definitions and a bulleted list of metric options. Every sentence adds value, with no redundancy or filler.

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

    Completeness4/5

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

    For a two-parameter comparison tool, the description provides sufficient parameter detail and available metrics. An output schema exists, so return values are likely documented there. Minor gaps include lack of ticker formatting guidance or behavior on invalid metrics, but these are not critical for selection and basic invocation.

    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 0%, so the description fully compensates by explaining both parameters: tickers with an example list and metric with a comprehensive enum-like list of 15 options. This goes far beyond the bare schema types and gives the agent precise knowledge of accepted values.

    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 'Compare multiple stocks side-by-side on a single metric,' which specifies the verb (compare), resource (stocks), and scope (multiple, on a single metric). This distinguishes it from sibling tools that focus on individual financial statements or price history.

    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 tool's purpose is concrete and self-evident from the description: use it for side-by-side comparison of a chosen metric across multiple tickers. However, it does not explicitly mention when not to use it or point to alternatives like get_stock_info for individual queries, which would be stronger 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 are provided, so the description must carry the full burden. It explains the model mechanics (uses trailing FCF, projects forward, discounts back) and notes it is 'simplified.' However, it does not disclose potential failure modes (e.g., missing FCF data for some tickers), data source limitations, or what the output represents numerically. This is a moderate gap given 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.

    Conciseness5/5

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

    The description is well-structured: a one-sentence purpose, a two-sentence method overview, and a clear Args list. Every line adds value, and the parameter examples are efficient. No filler or redundant content.

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

    Completeness4/5

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

    The description covers the model, inputs, and data source. An output schema exists, so return value details are delegated appropriately. However, given the complexity of a DCF model and lack of annotations, it would benefit from noting assumptions (e.g., constant growth) and potential data availability caveats. Still, it is largely complete for a simplified estimation tool.

    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 description coverage is 0%, so the description must compensate fully. It does: each parameter is explained with concrete examples (e.g., 'growth_rate: Annual FCF growth rate for the projection period (e.g. 0.10 = 10%)'). This adds meaning beyond the raw schema, clarifying units, ranges, and formulas for all five parameters.

    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 function with a specific verb and resource: 'Estimate intrinsic value using a simplified Discounted Cash Flow (DCF) model.' This distinguishes it from sibling tools that retrieve financial data or compute ratios. The inclusion of 'simplified' sets expectations about scope, adding further clarity.

    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 implies usage: use this tool when you need a DCF-based intrinsic value estimate, using trailing free cash flow from Yahoo Finance. However, it does not explicitly state when not to use it or mention alternatives (e.g., 'for more detailed valuation, use X'). The context of the method is clear, but explicit exclusions are missing.

    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

MCP-Server-Financial-Analyzer MCP server

Copy to your README.md:

Score Badge

MCP-Server-Financial-Analyzer 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/HonglingLei/MCP-Server-Financial-Analyzer'

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