Skip to main content
Glama
agentladle

mcp-hkexnews

by agentladle

AgentLadle MCP HKEXnews

Inglés | 中文

🇨🇳/🇭🇰 MCP alojado en la nube para empresas que cotizan en A-share y HK (informes anuales de los últimos 3 años y últimos informes intermedios). Leer más | Obtener clave de API

Un servidor MCP (Model Context Protocol) que proporciona herramientas para descubrir, descargar, analizar y buscar anuncios de empresas que cotizan en Hong Kong desde HKEXnews.

Permite a los asistentes de IA (Claude, Cursor, etc.) acceder a los datos de anuncios de HKEXnews a través de 6 herramientas estructuradas, desde descubrir anuncios disponibles hasta buscar palabras clave dentro de sus páginas.

Alcance (v0.1): Anuncios y divulgaciones, excepto los PDF de informes periódicos completos (Informe Anual / Intermedio / Trimestral e Informe ESG bajo t1=40000). Se incluyen los anuncios de resultados (Resultados Finales / Intermedios / Trimestrales).

Características

  • 6 herramientas MCP para datos de anuncios de HKEXnews: recuperación basada en estado (búsqueda directa, recurre a descarga/análisis solo cuando es necesario)

  • Análisis de documentos PDF usando PyMuPDF — extracción de páginas físicas en JSON dividido por páginas

  • Búsqueda local de palabras clave con puntuación TF + refuerzo de posición, cero dependencias externas de búsqueda

  • Idempotente — los archivos ya descargados/analizados se omiten automáticamente

  • Instalación sin configuración — una línea para agregar a tu cliente MCP, sin clonar ni configuración manual

  • Python puro, multiplataforma (Windows / macOS / Linux)

Related MCP server: sfc-data-mcp

Requisitos previos

Nota: Después de instalar uv, reinicia tu terminal y cliente MCP (por ejemplo, Cherry Studio) para asegurarte de que el comando uv sea reconocido.

Inicio rápido

Agrega a la configuración de tu cliente MCP (Claude Desktop, Cursor, etc.):

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

Eso es todo. uvx descargará automáticamente el paquete y sus dependencias desde PyPI — sin clonar, sin instalación manual, sin configuración de rutas.

Alternativa: instalación con pip

Si prefieres gestionar el entorno tú mismo:

pip install agentladle-mcp-hkexnews

Luego configura:

{
  "mcpServers": {
    "mcp-hkexnews": {
      "command": "agentladle-mcp-hkexnews"
    }
  }
}

Alternativa: ejecutar desde el código fuente (desarrollo local)

Clona el repositorio y ejecuta directamente:

git clone https://github.com/agentladle/mcp-hkexnews.git

Luego configura tu cliente MCP:

{
  "mcpServers": {
    "mcp-hkexnews": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/mcp-hkexnews", "agentladle-mcp-hkexnews"]
    }
  }
}

Reemplaza /path/to/mcp-hkexnews con la ruta real al repositorio clonado.

Flujo de datos

HKEXnews API                      Local Files (~/.agentladle/mcp-hkexnews/data/)
──────────────                    ──────────────────────────────
activestock_sehk_e.json  ──→     companies.json               (stock_code→stockId mapping)
ListOfSecurities.xlsx      ──→         │
tierone/tiertwo JSON       ──→     tiers.json                   (headline category mapping)
                                     │
titleSearchServlet.do    ──→        pdf/{LOCAL_KEY}/            (Tool 2: primary PDF/HTML + manifest)
                                     │
PyMuPDF parsing          ──→        json/*.json                 (Tool 3: parse, page-split)
                                     │
Local TF search          ──→        search results              (Tool 4: keyword search)
Page range read          ──→        page content                (Tool 5: read pages)

Herramientas

#

Herramienta

Descripción

1

list_hkexnews_announcements

Descubre anuncios disponibles de HKEXnews para una empresa

2

download_hkexnews_announcement

Descarga el PDF del anuncio (respaldo HTML); idempotente

3

parse_hkexnews_announcement

Analiza PDF/HTML en JSON dividido por páginas usando PyMuPDF

4

keyword_search

Búsqueda de palabras clave a texto completo con puntuación de relevancia TF

5

get_announcement_pages

Lee el contenido del anuncio por rango de números de página

6

lookup_stock_code

Diagnóstico: busca la asignación stock_code→stockId cuando falla la resolución

Herramienta 1: list_hkexnews_announcements

Lista los anuncios disponibles de HKEXnews para una empresa. Usa esta herramienta SOLO cuando el usuario no especifica la fecha/título exactos, o cuando un intento de descarga falla debido a una coincidencia ambigua. Excluye los PDF de informes periódicos completos (Informe Anual / Intermedio / Trimestral e Informe ESG bajo t1=40000).

Parámetro

Tipo

Requerido

Descripción

stock_code

string

Código de acción HK de 5 dígitos, p. ej. "00700"

category

string

Código t1/t2 de HKEX o nombre de nivel, p. ej. "Inside Information", "13500", "20000". Omite para listar todas las categorías en alcance

start_date

string

Fecha de inicio YYYY-MM-DD

end_date

string

Fecha de fin YYYY-MM-DD

title_keyword

string

Filtro de palabra clave en el título

limit

int

Máximo de anuncios a devolver, predeterminado 10, máximo 50

Herramienta 2: download_hkexnews_announcement

Descarga un anuncio específico de HKEXnews desde www1.hkexnews.hk. Prefiere local_key de list_hkexnews_announcements cuando esté disponible. Idempotente.

Parámetro

Tipo

Requerido

Descripción

stock_code

string

Código de acción HK de 5 dígitos, p. ej. "00700"

release_date

string

Fecha de publicación YYYY-MM-DD (opcional si se proporciona local_key)

title_keyword

string

Subcadena del título para desambiguar anuncios del mismo día

category

string

Filtro de categoría opcional

news_id

string

NEWS_ID de HKEXnews si se conoce

local_key

string

Clave de paquete local exacta de los resultados de la lista

Herramienta 3: parse_hkexnews_announcement

Analiza un PDF/HTML de anuncio descargado en JSON dividido por páginas. Usa PyMuPDF para la extracción de texto de páginas físicas de PDF.

Parámetro

Tipo

Requerido

Descripción

local_key

string

Clave de paquete devuelta por list/descarga, p. ej. "00700_13500_2026-03-15_a1b2c3d4"

Herramienta 4: keyword_search

Búsqueda de palabras clave a texto completo en todas las páginas. Resultados clasificados por puntuación TF + refuerzo de posición.

Parámetro

Tipo

Requerido

Descripción

local_key

string

Clave de paquete

keywords

string[]

1–5 palabras clave de búsqueda

match_mode

string

"ANY" (predeterminado, cualquier palabra clave coincide) / "ALL" (todas deben coincidir)

max_results

int

Máximo de resultados a devolver, predeterminado 5, máximo 50

Herramienta 5: get_announcement_pages

Lee el contenido completo de la página por rango de números de página.

Parámetro

Tipo

Requerido

Descripción

local_key

string

Clave de paquete

start_page

int

Número de página inicial (basado en 1)

page_count

int

Número de páginas a devolver, predeterminado 3, máximo 5

Herramienta 6: lookup_stock_code

Herramienta de diagnóstico: busca la asignación stock_code→stockId. Úsala solo cuando download_hkexnews_announcement / list_hkexnews_announcements devuelva Stock code not found. Omite la caché de códigos fallidos de la sesión.

Parámetro

Tipo

Requerido

Descripción

stock_code

string

Código de acción HK de 5 dígitos, p. ej. "00700"

refresh

bool

Forzar la re-descarga de las asignaciones de empresas de HKEX (predeterminado: false)

Configuración

En la primera ejecución, se crea un archivo de configuración predeterminado en ~/.agentladle/mcp-hkexnews/config.yaml:

paths:
  data_dir: "~/.agentladle/mcp-hkexnews/data"
  pdf_dir: "~/.agentladle/mcp-hkexnews/data/pdf"
  json_dir: "~/.agentladle/mcp-hkexnews/data/json"

download:
  delay_between_requests: 0.3
  min_file_size: 500
  list_row_range: 100
  list_max_pages: 5

company:
  cache_ttl_days: 7

tiers:
  cache_ttl_days: 7

Estructura del directorio de datos

~/.agentladle/mcp-hkexnews/
├── config.yaml                        # Configuration (auto-created)
└── data/
    ├── companies.json                 # stock_code→stockId mapping (auto-downloaded & cached)
    ├── tiers.json                     # HKEX headline category mapping (auto-downloaded & cached)
    ├── pdf/                           # Downloaded announcement bundles
    │   ├── 00700_13500_2026-03-15_a1b2c3d4/
    │   │   ├── primary.pdf
    │   │   └── manifest.json
    │   └── ...
    └── json/                          # Parsed page-split JSON
        ├── 00700_13500_2026-03-15_a1b2c3d4.json
        └── ...

Convención de nombres de archivo: {STOCK_CODE}_{T2_CODE}_{RELEASE_DATE}_{ID_HASH}

Ejemplo de uso

Las herramientas están diseñadas con un enfoque EAFP (Easier to Ask for Forgiveness than Permission). Los asistentes de IA deben intentar recuperar datos directamente y confiar en los errores para activar descargas.

Escenario A: El archivo ya existe localmente (ruta más corta)

User: "Search 00700 inside information for buyback"

1. keyword_search(local_key="00700_50100_2026-07-09_a1b2c3d4", keywords=["buyback", "repurchase"])
   → Returns page snippets matching the keywords immediately.

Escenario B: Archivo faltante (respaldo activado)

User: "What did Tencent announce in its latest inside information?"

1. list_hkexnews_announcements(stock_code="00700", category="Inside Information", limit=3)
   → Returns local_key / release_date / title.

2. keyword_search(local_key="...", keywords=["inside information"])
   → Error: File not found.

3. download_hkexnews_announcement(stock_code="00700", local_key="...")
   → Downloads PDF to ~/.agentladle/mcp-hkexnews/data/pdf/

4. parse_hkexnews_announcement(local_key="...")
   → Parses into JSON.

5. keyword_search(local_key="...", keywords=["inside information"])
   → Retries search and returns data.

Pila tecnológica

Componente

Elección

Propósito

Marco MCP

mcp (FastMCP)

Servidor MCP con transporte stdio

Cliente HTTP

httpx

Solicitudes a la API de HKEXnews y descargas de archivos

Análisis PDF

pymupdf + beautifulsoup4

Extracción de texto de páginas PDF; respaldo HTML

Búsqueda

Python integrado

Puntuación TF + refuerzo de posición

Configuración

pyyaml

Archivo de configuración YAML

Lista de valores

openpyxl

Analizar ListOfSecurities.xlsx de HKEX

Estructura del proyecto

src/mcp_hkexnews/
├── __init__.py
├── server.py                 # MCP Server entry point
├── config.py                 # Config loading (~/.agentladle/mcp-hkexnews/config.yaml, singleton cached)
├── models.py                 # Data models
├── categories.py             # Announcement category blacklist
├── response.py               # Unified JSON responses
├── instances.py              # Service singletons
├── tools/
│   ├── list_announcements.py # Tool 1: list_hkexnews_announcements
│   ├── download.py           # Tool 2: download_hkexnews_announcement
│   ├── parse.py              # Tool 3: parse_hkexnews_announcement
│   ├── search.py             # Tool 4: keyword_search
│   ├── page.py               # Tool 5: get_announcement_pages
│   └── lookup.py             # Tool 6: lookup_stock_code
└── services/
    ├── company.py            # HKEX activestock + ListOfSecurities + stock_code→stockId
    ├── tiers.py              # HKEX tierone/tiertwo category cache
    ├── downloader.py         # HKEXnews titleSearch + PDF download
    ├── parser.py             # PDF/HTML→JSON parsing (PyMuPDF)
    ├── searcher.py           # Local JSON search + TF scoring
    └── keys.py               # local_key helpers

Licencia

MIT

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for Japan's TDnet (Timely Disclosure network). Search and retrieve timely disclosure documents from listed companies on Japanese stock exchanges.
    5
    Apache 2.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that wraps SFC financial data API into 32 tools for comprehensive A-share market data, including real-time quotes, rankings, limit-up statistics, news, themes, financials, charts, research reports, and watchlists.
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for analyzing SEC filings (10-K, 10-Q, 8-K) with industry-aware financial extraction and BERT-based NLP.
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Official Octoparse MCP server for template discovery, cloud tasks, and structured data export.

  • Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.

  • All HasData scraping tools in one MCP server: Google, TikTok, Instagram, maps, e-commerce and more.

View all MCP Connectors

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/agentladle/mcp-hkexnews'

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