Skip to main content
Glama

agentladle/financial-reports

Server Details

This tool empowers MCP-compatible clients (like Cursor and Claude Desktop) with professional-grade capabilities for financial data extraction, and report analysis.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

3 tools
financialKeywordSearchfinancialKeywordSearchA
Destructive
Inspect

Full-text keyword search across financial reports.

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNoNumber of fragments to return, default 5, max 1000
marketNoMarket: 'CN-A' | 'HK'. Optional. Omit to search all markets.
pageMaxNoMaximum page number (inclusive), optional
pageMinNoMinimum page number (inclusive), optional
keywordsYes1-5 keywords for full-text search
matchModeNoMatch mode: ANY (default) / ALL / MOST (at least 70%)
stockCodeNoStock code from searchCompanyInfo. CN-A: 6 digits; HK: 5 digits. Omit for cross-company search.
reportTypeNoReport type, e.g. 2025a4 (annual), 2026h2 (interim). Required when stockCode is omitted.

TDQS

A4.1/5.0
Behavior1/5

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

Annotation Contradiction: the description presents the tool as a pure read/search operation ('Full-text keyword search', 'read that page'), while annotations declare destructiveHint=true. The description never clarifies whether the search can modify or delete data, so the agent receives conflicting safety signals.

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 longer than average, but it is densely structured with an explicit strategy and critical rules. Every section prevents a specific invocation error, and the core purpose is front-loaded before the tactical guidance.

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 all invocation-critical behavior: when to use it, prerequisites, language rules, code formats, and required parameters. The main gap is the lack of an output schema and only indirect mention of the return shape ('returned page number'), leaving fragment contents and matching results somewhat underspecified.

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?

Even though the schema covers all parameters, the description adds decisive constraints: 1-5 keywords only, no full sentences, language alignment (Simplified Chinese for CN-A, English for HK), reportType formats like '2025a4'/'2026h2', stock code digit rules, and reportType required for cross-company searches. This materially improves correct invocation.

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 a specific action and resource — 'Full-text keyword search across financial reports' — and then sharpens the boundary by referencing sibling tools. It clearly distinguishes this tool from getFinancialReportPages and searchCompanyInfo, so an agent can tell it apart without opening the schema.

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 strategy section is an explicit decision tree: use this tool for specific facts or locating sections, skip it for TOC or known page numbers, and call searchCompanyInfo first when the company is unknown. It names the alternatives and the exact conditions that route to them.

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

getFinancialReportPagesgetFinancialReportPagesA
Destructive
Inspect

Read full page content from a financial report by page range.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNoMarket: 'CN-A' | 'HK'. Optional. Omit to search all markets.
pageCountNoNumber of pages to return, default 5, max 5
startPageYesStart page (1-based)
stockCodeYesStock code from searchCompanyInfo. CN-A: 6 digits; HK: 5 digits.
reportTypeYesReport type, e.g. 2025a4 (annual), 2026h2 (interim)

TDQS

A3.9/5.0
Behavior1/5

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

The description presents the operation as a read ('Read full page content'), but annotations declare readOnlyHint=false and destructiveHint=true. There is no mention of destructive effects or why the tool is classified as destructive, directly contradicting the description. Annotation Contradiction.

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 organized with a clear summary, strategy, and critical_rules sections and front-loads the core purpose. Some redundancy exists (pageCount limits, market optionality, report types appear in both strategy and critical_rules), so it is not maximally 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?

The tool provides extensive operational context: data availability, workflows, and formatting conventions. However, there is no output schema and the description never explains the returned structure (e.g., page text, page numbers, metadata), leaving a gap for an agent trying to interpret results.

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?

Although schema coverage is 100%, the description adds crucial semantics: startPage is 1-based, pageCount defaults to 5 max 5, report type patterns ('2025a4', '2026h2'), CN-A/HK digit counts, and a warning not to invent padding. This materially improves correct parameter construction.

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 opening sentence names a specific verb and resource: 'Read full page content from a financial report by page range.' The strategy and critical rules further clarify it is a page-range retrieval tool, distinguishing it from the sibling search tools (financialKeywordSearch searches by keyword; searchCompanyInfo resolves company identities).

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?

Strategy explicitly states when to use each mode: known startPage from keyword/TOC, TOC discovery with startPage=1, and when to call searchCompanyInfo first for unknown company names. Critical rule 5 tells the agent to prefer financialKeywordSearch for specific facts, establishing a clear alternative.

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

searchCompanyInfosearchCompanyInfoA
Destructive
Inspect

Search listed companies by name or stock code. Resolves a company to stockCode and market.

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNoResult size, max 100, default 5
queryYesCompany name or stock code
marketYesMarket: 'CN-A' | 'HK'. Required.

TDQS

A4.1/5.0
Behavior1/5

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

The description presents this as a read-only search operation, but the annotations declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false. This directly contradicts the described behavior, so the definition cannot be trusted regarding side effects. Annotation Contradiction.

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 with a front-loaded purpose statement followed by compact strategy and critical-rules blocks. Every sentence carries distinct information, and there is no filler or redundancy.

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

Completeness5/5

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

For a three-parameter lookup tool with no output schema, this description is complete enough for correct invocation: it specifies query semantics, required market values, code formats, return fields, and how the tool fits into the larger workflow. Nothing needed for calling it is missing.

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%, and the description adds useful semantics beyond the schema: query can be a company name or stock code, market must be CN-A or HK with one market per call, code formats per market are specified, and the return array fields are listed. These additions genuinely help an agent invoke the tool 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?

States a specific verb and resource: 'Search listed companies by name or stock code' and the resolution goal: 'Resolves a company to stockCode and market.' The strategy block clearly distinguishes it from sibling tools by positioning it as the mandatory first lookup step.

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?

Gives explicit when-to-use guidance: 'Call this FIRST when the user mentions a company by name or a short/unknown code.' It also explains what to do with the result, names downstream sibling tools, and provides a fallback hint for language mismatch. This is strong routing guidance.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updates
    • ChangedfinancialKeywordSearch2 fields changed
      • changedInput schema / properties / market / description
        Previous value: -"Market: 'CN-A' | 'HK' | 'US'. Optional. Omit to search all markets."New value: +"Market: 'CN-A' | 'HK'. Optional. Omit to search all markets."
      • changedInput schema / properties / stockCode / description
        Previous value: -"Stock code from searchCompanyInfo. CN-A: 6 digits; HK: 5 digits; US: uppercase ticker. Omit for cross-company search."New value: +"Stock code from searchCompanyInfo. CN-A: 6 digits; HK: 5 digits. Omit for cross-company search."
    • ChangedgetFinancialReportPages2 fields changed
      • changedInput schema / properties / market / description
        Previous value: -"Market: 'CN-A' | 'HK' | 'US'. Optional. Omit to search all markets."New value: +"Market: 'CN-A' | 'HK'. Optional. Omit to search all markets."
      • changedInput schema / properties / stockCode / description
        Previous value: -"Stock code from searchCompanyInfo. CN-A: 6 digits; HK: 5 digits; US: uppercase ticker."New value: +"Stock code from searchCompanyInfo. CN-A: 6 digits; HK: 5 digits."
    • ChangedsearchCompanyInfo1 field changed
      • changedInput schema / properties / market / description
        Previous value: -"Market: 'CN-A' | 'HK' | 'US'. Required."New value: +"Market: 'CN-A' | 'HK'. Required."
  2. 1 tool update
    • ChangedsearchCompanyInfo1 field changed
      • changedInput schema / properties / market / description
        Previous value: -"Market: 'CN-A' | 'HK' | 'US'. Required. If no hit, retry another market."New value: +"Market: 'CN-A' | 'HK' | 'US'. Required."
  3. 5 tool updates
    • ChangedfinancialKeywordSearch8 fields changed
      • changedInput schema / properties / keywords / description
        Previous value: -"关键词列表(1-5个),用于全文检索"New value: +"1-5 keywords for full-text search"
      • addedInput schema / properties / market
        Added value: +{
        +  "description": "Market: 'CN-A' | 'HK' | 'US'. Optional. Omit to search all markets.",
        +  "type": "string"
        +}
      • changedInput schema / properties / matchMode / description
        Previous value: -"匹配模式:'ANY'(任一,默认)/'ALL'(全部)/'MOST'(至少70%)"New value: +"Match mode: ANY (default) / ALL / MOST (at least 70%)"
      • changedInput schema / properties / pageMax / description
        Previous value: -"最大页码(含),仅返回页码<=此值的结果,可选"New value: +"Maximum page number (inclusive), optional"
      • changedInput schema / properties / pageMin / description
        Previous value: -"最小页码(含),仅返回页码>=此值的结果,可选"New value: +"Minimum page number (inclusive), optional"
      • changedInput schema / properties / reportType / description
        Previous value: -"报告类型标识符(当前已支持如:2023a4,2024a4,2025a4),可选,不指定则检索所有报告"New value: +"Report type, e.g. 2025a4 (annual), 2026h2 (interim). Required when stockCode is omitted."
      • changedInput schema / properties / size / description
        Previous value: -"返回片段数量,默认5,最大1000"New value: +"Number of fragments to return, default 5, max 1000"
      • changedInput schema / properties / stockCode / description
        Previous value: -"股票代码,如'000001',可选,不指定则全市场检索"New value: +"Stock code from searchCompanyInfo. CN-A: 6 digits; HK: 5 digits; US: uppercase ticker. Omit for cross-company search."
    • ChangedgetFinancialReportPages5 fields changed
      • addedInput schema / properties / market
        Added value: +{
        +  "description": "Market: 'CN-A' | 'HK' | 'US'. Optional. Omit to search all markets.",
        +  "type": "string"
        +}
      • changedInput schema / properties / pageCount / description
        Previous value: -"返回页数(最多5页)"New value: +"Number of pages to return, default 5, max 5"
      • changedInput schema / properties / reportType / description
        Previous value: -"报告类型标识符(当前已支持如:2023a4,2024a4,2025a4)"New value: +"Report type, e.g. 2025a4 (annual), 2026h2 (interim)"
      • changedInput schema / properties / startPage / description
        Previous value: -"起始页码"New value: +"Start page (1-based)"
      • changedInput schema / properties / stockCode / description
        Previous value: -"股票代码"New value: +"Stock code from searchCompanyInfo. CN-A: 6 digits; HK: 5 digits; US: uppercase ticker."
    • RemovedgetFinancialStatementsStartPages
    • RemovedgetReportChapters
    • ChangedsearchCompanyInfo4 fields changed
      • addedInput schema / properties / market
        Added value: +{
        +  "description": "Market: 'CN-A' | 'HK' | 'US'. Required. If no hit, retry another market.",
        +  "type": "string"
        +}
      • changedInput schema / properties / query / description
        Previous value: -"公司名称或股票代码"New value: +"Company name or stock code"
      • changedInput schema / properties / size / description
        Previous value: -"返回结果数量,最大 100,默认 5"New value: +"Result size, max 100, default 5"
      • changedInput schema / required
        Previous value: -[
        -  "query"
        -]New value: +[
        +  "query",
        +  "market"
        +]
  4. 5 tool updates
    • First observedfinancialKeywordSearch
    • First observedgetFinancialReportPages
    • First observedgetFinancialStatementsStartPages
    • First observedgetReportChapters
    • First observedsearchCompanyInfo

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables detection and analysis of pre-public product launches through web search, content extraction, AI-powered scoring, and automated alerting. Provides comprehensive tools for surfacing stealth startup signals before they trend publicly.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI chat clients to perform market research and competitive intelligence by gathering company overviews, competitor lists, product portfolios, pricing snapshots, and recent news via live Tavily search.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation5/5

Each tool has a clearly distinct role: resolving a company to a stock code, searching for keywords within reports, and reading report pages. There is no functional overlap or ambiguity between them.

Naming Consistency4/5

All tool names use camelCase and are descriptive, with searchCompanyInfo and getFinancialReportPages following a verb-noun pattern. financialKeywordSearch is a minor deviation since it reads as a noun phrase rather than a verb-led action.

Tool Count5/5

Three tools is well-scoped for the server's purpose: company lookup, keyword search, and page retrieval form a complete minimal workflow. Each tool earns its place without redundancy.

Completeness4/5

The core workflow of finding a company, searching for facts, and reading report pages is fully covered. The main gap is the lack of a tool to enumerate available reports or report types, but the embedded strategy guidance mostly works around this.

Resources