Skip to main content
Glama
Alex2Yang97

yahoo-finance-mcp

by Alex2Yang97

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct financial data category (e.g., financial statements, historical prices, options, news) with no overlap. An agent can easily choose the correct tool based on the desired information.

    Naming Consistency5/5

    All tools follow a consistent 'get_<data_type>' naming pattern (e.g., get_financial_statement, get_option_chain). This makes the tool set predictable and easy to navigate.

    Tool Count5/5

    With 9 tools, the server covers the essential Yahoo Finance functionalities without being bloated. Each tool serves a clear purpose, and the count is well-suited for the domain.

    Completeness4/5

    The tool set covers major stock data needs (prices, financials, options, holders, recommendations, dividends, info, news). Minor gaps like earnings estimates or ticker search are present but do not severely hinder common use cases.

  • Average 3.6/5 across 9 of 9 tools scored.

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

    • 0 of 4 community issues answered or closed in the last 6 months
    • 1 commit in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is failing
  • This repository is licensed under MIT License.

  • 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

  • Behavior3/5

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

    The description implies a read operation ('get'), but does not explicitly state it is safe or non-destructive. With no annotations provided, the description should disclose behavioral traits; it adds minimal value beyond stating the action. Given the nature of the tool, a score of 3 is acceptable.

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

    Conciseness3/5

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

    The description starts with a clear sentence but then repeats the same information in an Args block, which is redundant given the input schema. Could be more concise by omitting the duplicate listing of holder types.

    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?

    There is no output schema, and the description does not explain the return format or structure. For a tool with two simple parameters, this is a notable gap. The agent cannot anticipate what data the tool will return.

    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 0%, and the description compensates by listing the holder_type options and providing an example for ticker (e.g., 'AAPL'). This adds meaning beyond the schema's minimal titles.

    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 retrieves holder information for a given ticker symbol from yahoo finance, and lists the specific holder types. However, it does not differentiate from sibling tools like get_stock_info, which may be ambiguous. The verb 'get' and resource 'holder information' are specific.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives. The description provides parameter details but no context on prerequisites or use cases. Agent would need to infer based on the tool name and sibling names.

    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 alone must disclose behaviors. It only says 'Fetch' with no details on data freshness, mutability, or response characteristics. Minimal transparency.

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

    Conciseness4/5

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

    Description is short (two sentences) and front-loaded with purpose. No fluff, though the arg docstring could be integrated more cleanly.

    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?

    With no output schema and no annotations, the description is adequate for a simple single-parameter tool but lacks details on return format (e.g., list of dates, format) and potential errors.

    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 0%, but the tool description includes an example ('e.g., "AAPL"') for the ticker parameter. However, it does not elaborate on format constraints or case sensitivity, so it adds only marginal value beyond the schema.

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

    Purpose5/5

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

    Clearly states 'Fetch the available options expiration dates for a given ticker symbol.' The verb 'fetch' and resource 'options expiration dates' are specific. Given sibling tools like get_option_chain, this purpose is well-differentiated.

    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 (e.g., get_option_chain). Does not mention prerequisites or typical use cases.

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

  • Behavior2/5

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

    No annotations provided, so description carries full burden. Mentions data source but omits rate limits, data freshness, or any potential side effects—important for a web-scraping tool.

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

    Conciseness3/5

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

    Structured with Args but somewhat verbose, repeating full list of statement types twice. Could be trimmed without losing clarity.

    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?

    No output schema, and description does not explain return format (e.g., dictionary structure, keys). Leaves agent uncertain about what data it will receive.

    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 has 0% description coverage, but description compensates with clear examples for ticker (e.g., 'AAPL') and explicit list of valid financial_type values. Adds meaningful usage context.

    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?

    Clearly states it gets financial statements for a ticker from Yahoo Finance, listing all statement types. Distinct from siblings like get_historical_stock_prices and get_stock_info.

    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?

    Details arguments and options but lacks explicit guidance on when to use versus other tools (e.g., when to choose income_stmt vs balance_sheet). No when-not-to-use advice.

    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 description must disclose behaviors. It mentions it gets dividends and splits but omits details like side effects, authentication needs, or error handling. As a read operation, it's safe but not explicitly declared.

    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?

    Description is extremely concise: two sentences, no fluff, front-loaded with essential information. Every word earns its place.

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

    Completeness3/5

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

    For a simple tool with one parameter and no output schema, the description covers purpose and parameter adequately. However, it lacks detail on return data format and edge cases, leaving some gaps in 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 has one parameter with no description (0% coverage). Description adds a clear explanation with type and example (e.g., 'AAPL'), significantly enhancing the schema for the 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?

    Description clearly states it gets stock dividends and stock splits for a ticker from yahoo finance, specifying verb and resource. It distinguishes from sibling tools like get_stock_info or get_historical_stock_prices.

    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?

    Description provides no guidance on when to use this tool versus alternatives, nor any conditions or exclusions. It simply states what it does without contextual use cases.

    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 full burden for behavioral traits. It only says 'get news' but does not disclose whether the news is recent, how many results, rate limits, or authentication needs. The bare-minimum description lacks 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 extremely concise: one line stating the purpose and an optional Args block. No redundancy, and the main action is front-loaded. Every sentence earns its place.

    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 simple task (retrieving news for a ticker) and lack of output schema, the description gives minimal but sufficient context. However, it does not describe the output format (e.g., list of articles, titles, links), leaving some ambiguity.

    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 provides only the parameter name and type. The description adds an explanation and example ('e.g. AAPL') for the ticker parameter, which adds semantic value beyond the schema. Despite 0% schema coverage, the description compensates well for a 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 clearly states the tool gets news for a ticker symbol from Yahoo Finance. The verb 'get' and resource 'news' are specific, and the purpose is distinct from sibling tools like get_financial_statement or get_historical_stock_prices.

    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_stock_info or when not to use it. The description simply states what it does without contextualizing its use relative to 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 exist, so the description carries the burden, but it only states the action without disclosing side effects, error behaviors, rate limits, or data freshness. The description is neutral but insufficient compared to the ideal of full 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, with a single sentence summarizing the purpose followed by a clean Args list. Every sentence is necessary, and the structure is front-loaded for quick comprehension.

    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?

    With no output schema and three parameters, the description explains inputs well but does not describe the return value or data structure of the option chain. This is a notable gap for a tool that fetches complex financial data.

    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 coverage, the description thoroughly explains each parameter: ticker with an example, expiration_date with format 'YYYY-MM-DD', and option_type with explicit choices ('calls' or 'puts'). This adds critical meaning beyond the schema's type-only definitions.

    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 the option chain for a given ticker symbol, expiration date, and option type,' specifying the verb and resource. It is distinct from sibling tools like 'get_option_expiration_dates' which only fetch dates, not the chain.

    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, such as when to fetch expiration dates first or when to use other financial data tools. The description lacks any context for choosing this tool over 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?

    There are no annotations, so the description carries the full burden. It describes a read-only operation without explicit statement of non-mutability, rate limits, or error handling, though the purpose is straightforward.

    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 front-loaded with a clear purpose sentence, followed by a concise Args block. It is efficiently written without excess, though slightly verbose in the parameter list.

    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 purpose and parameters adequately but lacks details on return format or example output, which would enhance completeness for a tool without output schema.

    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%, but the description's Args block adds meaning by explaining each parameter (ticker, recommendation_type, months_back) with examples, going beyond the schema's bare types.

    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 recommendations or upgrades/downgrades for a ticker from Yahoo Finance, which distinguishes it from sibling tools like get_financial_statement or get_historical_stock_prices.

    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 explains parameters and provides an example ticker, implying usage for stock analysis, but does not explicitly state when to use this tool versus alternatives or include when-not-to-use conditions.

    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 implies a read operation but lacks details on data freshness, rate limits, or limitations. It is adequate but not comprehensive.

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

    Conciseness4/5

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

    The description is structured with a list of info categories and an Args section. Slightly verbose but not wordy; could be more concise.

    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?

    With no output schema and simple input, the description lists data categories but lacks example output or details on return format. It is adequate for basic use.

    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%, but the description provides clear parameter meaning: ticker symbol with an example. This adds value 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 retrieves stock information from Yahoo Finance for a given ticker symbol, listing specific categories. It distinguishes from siblings like get_financial_statement by offering comprehensive 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 Guidelines4/5

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

    The description implies usage for general stock info queries but does not explicitly state when to avoid it or compare to siblings. Context signals list sibling tools, allowing inference.

    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. Discloses constraint that intraday data cannot extend last 60 days, and lists all valid periods and intervals. Does not describe error handling (e.g., invalid ticker) or rate limits, but the key behavioral constraint is clearly stated.

    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?

    Well-structured with bullet points for each parameter. Purpose stated first, then parameter details. Some redundancy (e.g., default values repeated from schema) but overall efficient. Could be slightly more concise.

    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 no output schema, description enumerates return fields (Date, Open, etc.) which is helpful. Covers input constraints thoroughly. Does not specify output format (likely JSON) or pagination, but for a standard financial API this is sufficient. Sibling tools are numerous, and description clearly distinguishes this tool's purpose.

    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 has 0% description coverage (only titles and types). Description adds substantial meaning: ticker example, explicit list of valid periods/intervals with defaults, and intraday data constraint. This fully compensates for the schema's lack of parameter 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?

    Clearly states it gets historical stock prices for a given ticker from Yahoo Finance, listing the specific data fields returned (Date, Open, High, etc.). This distinct resource and verb differentiate it from sibling tools like get_stock_info or get_recommendations.

    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?

    Describes valid periods and intervals, and notes 'Either Use period parameter or use start and end' (though start/end not in schema). Does not provide explicit guidance on when to use this tool versus alternatives, nor exclude inappropriate use cases.

    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

yahoo-finance-mcp MCP server

Copy to your README.md:

Score Badge

yahoo-finance-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/Alex2Yang97/yahoo-finance-mcp'

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