Skip to main content
Glama
FindDataTechnology

fd-cn-report

Official

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ES_URLNoElasticsearch URL (required for ES features)
LLM_MODELNoLLM model name
ES_API_KEYNoOptional Elasticsearch API key
ES_PASSWORDNoOptional Elasticsearch password
ES_USERNAMENoOptional Elasticsearch username
LLM_API_KEYNoAPI key for LLM (required for AI features)
LLM_BASE_URLNoBase URL for LLM API
DAAS_DATABASE_URLNoDatabase URL for provenance writes and rules storagedaas.db
LLM_SECTION_CACHENoSet to 'off' to disable LLM section caching
CNREPORT_CACHE_DIRNoDirectory for report cache.cache/reports/

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_outlineC

Fetch a Chinese annual report and return its 目录 outline.

extract_sectionC

Extract one section's body text by selector.

ai_extractC

Run LLM structured extraction over report section text.

index_recordsC

Bulk-index extracted records into cnreport-{year}.

search_reportsC

Full-text + filtered search over cnreport indices with highlights.

delete_indexA

Drop the cnreport-{year} Elasticsearch index and its metadata row.

get_companyB

Resolve a CN-A-share company by 6-digit ticker or Chinese/English name fragment.

list_filingsC

List a CN-A-share company's CNINFO disclosures.

get_filingB

Fetch one CNINFO announcement's metadata + PDF URL by id.

get_financialsC

Return structured income/balance/cashflow statements for a CN-A-share company.

get_sectionA

Resolve a company's filing PDF and extract one named section.

Convenience wrapper: (ticker, year, section, form) → CNINFO lookup → PDF URL → existing outline-extraction pipeline.

list_report_typesB

Browse the CNINFO disclosure category catalog.

get_special_reportB

Retrieve a special-type report for a CN-A-share company by CNINFO category.

get_financial_statementsA

Extract the three major financial statements (三大报表) as text.

Resolves the company's filing PDF for (ticker, year, form) via the report cache (no re-download on repeat), parses the table of contents, and returns each statement's body text:

  • statements.income_statement (利润表) — prefers 合并利润表

  • statements.balance_sheet (资产负债表) — prefers 合并资产负债表

  • statements.cashflow (现金流量表) — prefers 合并现金流量表

Returns section text only — never PDF bytes. Statements not located in the TOC are listed in missing (with the full available title list so the caller can fall back to get_section with a custom selector).

list_cacheA

List cached annual reports.

Each entry carries the parsed provenance (stock_code / year / form / announcement_id for convenience-tool fetches, or kind: "url" for raw extract_section/list_outline URL fetches), cached_at (file mtime, ISO-8601 UTC), and size (sum of its .pdf + .txt + .outline.json).

clear_cacheC

Evict cached annual reports.

list_indicatorsC

Browse the banking-indicator rule set (data-driven by indicator_rules.json).

get_indicatorA

Resolve one named financial indicator for a company + period.

Routes per the rule's source_type: akshare line items, annual-report PDF section (LLM or registered Python extractor), or locally-computed ratio.

extract_indicatorsA

Extract many indicators for one company/year in a single pass.

Fetches the annual-report PDF once, groups report-rules by section (one LLM call per section), dispatches Python extractors individually, and computes derived ratios locally. Caches the bundle to disk so repeat calls are free.

extract_indicators_by_positionA

Extract the indicators named in a position CSV for one company/year.

Default CSV is docs/indicators_position.csv (override with csv_path). Reads the CSV's indicator column, routes report/akshare/computed indicators through the batch engine (one PDF fetch, batched LLM, python extractors, computed ratios, bundle cache), and lists realtime/external indicators (PE-TTM, PB, 市值, …) in skipped — they are not in the report PDF.

get_hk_companyB

Resolve a HK stock company by 5-digit ticker or name fragment.

list_hk_filingsC

List a HK stock company's filings/announcements.

get_hk_financialsC

Return structured financial statements for a HK stock company.

get_hk_sectionB

Extract a named section from a HK stock annual report PDF.

get_sse_companyB

Resolve a SSE-listed company by 6-digit ticker (sse.com.cn).

list_sse_filingsB

List a SSE-listed company's disclosures directly from sse.com.cn.

get_sse_sectionC

Extract a named section from a SSE company's annual-report PDF.

get_sse_interactionB

Fetch 上证e互动 investor Q&A for a SSE-listed company (sns.sseinfo.com).

get_szse_companyA

Resolve a SZSE-listed company by 6-digit ticker (szse.cn).

list_szse_filingsA

List a SZSE-listed company's disclosures directly from szse.cn.

Returns: {filings, count} or {error}.

get_szse_sectionC

Extract a named section from a SZSE company's annual-report PDF.

Returns: {stock_code, year, section, pdf_url, outline_entry, text, char_count} or {error}.

get_szse_interactionB

Fetch 互动易 investor Q&A for a SZSE-listed company (irm.cninfo.com.cn).

Returns: {stock_code, source, questions: [...]} or {error}.

get_bse_companyB

Resolve a BSE-listed company by 6-digit ticker (bse.cn).

list_bse_filingsB

List a BSE-listed company's disclosures (BSE-native, CNINFO fallback).

Each row carries source: "bse" | "cninfo". Returns: {filings, count} or {error}.

get_bse_sectionA

Extract a named section from a BSE company's annual-report PDF.

The filing may be served from BSE or CNINFO (fallback); the result carries source. Returns: {stock_code, year, section, pdf_url, source, outline_entry, text, char_count} or {error}.

list_csrc_filingsC

List CSRC regulatory announcements/notices (csrc.gov.cn).

get_csrc_ipo_reviewB

Query CSRC IPO (首发) application review status for a company.

Returns: {company, source, fields} (matching application row) or {company, source, error}.

get_csrc_merger_reviewB

Query CSRC 并购重组 (M&A) review status for a company.

Returns: {company, source, fields} or {company, source, error}.

list_csrc_enforcementC

List CSRC administrative-penalty / enforcement actions (csrc.gov.cn).

Returns: {filings, count} or {error}.

list_ministriesA

List the supported ministry statistics sources.

Returns: {ministries: [{id, label, en, transport, base}], count} or {error}.

get_ministry_statC

Fetch a ministry's statistics page and parse its HTML tables.

get_nbs_statB

Query an NBS (国家统计局) macro statistic by indicator code.

audit_rule_gapsB

Audit rule gaps from existing out/ bundles and write a stable JSON report.

open_industry_rules_dashboardA

Start the industry rules web dashboard with filtering and search.

Opens a web UI at http://localhost: showing all 21,698 LLM rules across 31 申万 L1 industries. Filter by industry, module, keyword; sort by any column; paginated view.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.1/5.0

Scored across 44 tools

Disambiguation3/5

Many tools are differentiated only by exchange or source (e.g., get_company vs get_szse_company, list_filings vs list_szse_filings), and multiple extraction/financial tools overlap in purpose (get_section, extract_section, get_financial_statements, get_financials). Descriptions are detailed and clarify the intended scope, but the sheer volume makes misselection likely for an unfamiliar agent.

Naming Consistency5/5

Nearly all 44 tools follow a consistent snake_case verb_noun pattern (list_filings, get_section, extract_indicators). Minor deviations like ai_extract are rare and do not disrupt the overall predictability.

Tool Count2/5

44 tools far exceeds the ideal range and feels excessive even for a broad server spanning multiple exchanges, data types, extraction, indexing, caching, and dashboards. The count risks overwhelming agents despite each tool having a distinct niche.

Completeness4/5

The surface covers discovery, retrieval, extraction, indexing, and caching for CN/HK financial disclosures across many sources. Minor gaps exist, such as no indicator listing for NBS or no specific filing-fetch for some exchanges, but these are workable with external knowledge.

Maintenance

ActivityMaintained
ResponsivenessNo issues