← Back to MCP list
🇨🇳

CNINFO A-Share Announcement MCP

v0.1.0
Data IngestionRecommendedLocal

Local MCP service running via uvx to access CNINFO announcement data through structured tools, including list queries, PDF/HTML download & parsing, and full-text keyword search. v0.1 covers announcements only — periodic reports (annual/interim/quarterly) are out of scope. No API Key required.

§ Quickstart

Add the following to your MCP client configuration (Cursor, Claude Desktop, etc.):

Settings (top right) → Cursor Settings → Features → MCP → Add New MCP Server. Set to command, type uvx.

MCP Client Configuration

{
  "mcpServers": {
    "mcp-cninfo": {
      "command": "uvx",
      "args": [
        "agentladle-mcp-cninfo"
      ]
    }
  }
}

Config file locations

  • Please ensure Python uv tool is installed.

§ Tools Reference

6 tools

list_cninfo_announcements

Discover available CNINFO announcements (periodic reports excluded by default)

ParameterTypeRequiredDescription
stock_codestring6-digit stock code, e.g. "000001"
categorystringCategory key, short code, or label, e.g. "董事会"
start_datestringStart date YYYY-MM-DD
end_datestringEnd date YYYY-MM-DD
title_keywordstringTitle keyword
limitnumberMax results, default 10
Returns:Array

download_cninfo_announcement

Download announcement PDF (HTML fallback); idempotent

ParameterTypeRequiredDescription
stock_codestring6-digit stock code
announce_datestringAnnouncement date YYYY-MM-DD
title_keywordstringTitle substring
categorystringCategory filter
announcement_idstringCNINFO announcement ID
local_keystringBundle key from list results
Returns:Object

parse_cninfo_announcement

Parse downloaded PDF/HTML into page-by-page JSON

ParameterTypeRequiredDescription
local_keystringBundle key, e.g. "000001_DSH_2026-07-02_8b1ad607"
Returns:Object

keyword_search

Full-text keyword search with TF relevance scoring

ParameterTypeRequiredDescription
local_keystringBundle key
keywordsstring[]1–5 keywords
match_modestring"ANY" (default) or "ALL"
max_resultsnumberMax results, default 5
Returns:Array

get_announcement_pages

Read announcement content by page range

ParameterTypeRequiredDescription
local_keystringBundle key
start_pagenumberStart page (1-based)
page_countnumberPage count, default 3
Returns:Array

lookup_stock_code

Diagnostic: look up stock code → orgId mapping

ParameterTypeRequiredDescription
stock_codestring6-digit stock code
refreshbooleanForce refresh mapping
Returns:Object

§ Examples

Once configured, you can ask the AI directly:

Fast Full-text Search (Cached)

Search for buyback content in Ping An Bank's latest announcement.

When cache exists, call keyword_search directly with keywords like "buyback" to extract highlighted snippets.

Download and Analyze from Scratch

What does Ping An Bank's latest announcement say?

Call list_cninfo_announcements → download → parse → keyword_search (EAFP: search first, download/parse on miss).

Stock Code Mapping Diagnosis

Check whether the orgId mapping for 000001 on CNINFO is valid.

When list/download returns Stock code not found, call lookup_stock_code (optionally refresh=true) to diagnose.