HKEx Filings
Live HKEx (Hong Kong Stock Exchange) regulatory filings for AI agents.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"hkex-filings": {
"url": "https://hkex-listco-updates.ascent-partners.com/api/mcp"
}
}
}Remote endpoints
https://hkex-listco-updates.ascent-partners.com/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟢get_server_info
Report this live gateway's version, transport, and hard limits. Reads nothing.
Input Schema
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"result": {
"type": "object",
"description": "Gateway version, transport, tool list, filters, and hard limits.",
"properties": {
"name": {
"type": "string"
},
"version": {
"type": "string"
},
"transport": {
"type": "string"
},
"live": {
"type": "boolean"
},
"storage": {
"type": "string"
},
"read_only": {
"type": "boolean"
},
"tools": {
"type": "array",
"items": {
"type": "string"
}
},
"filters": {
"type": "array",
"items": {
"type": "string"
}
},
"limits": {
"type": "object"
},
"extraction": {
"type": "object"
}
}
}
},
"required": [
"result"
]
}🟢search_filings(from_date, to_date, stock_code, title_query, document_type, ...)
Search live HKEx filings in a date window (at most 31 days). ``from_date``/``to_date`` accept YYYY-MM-DD or DD/MM/YYYY. All filters are optional and combine with AND semantics: ``stock_code`` matches exactly (e.g. ``01461`` or ``1461``); ``title_query``, ``category`` and ``stock_name`` are case-insensitive substrings (e.g. category ``Dividend``); ``document_type`` matches the file type exactly (e.g. ``PDF`` or ``HTML``). Filters are applied to the fetched window, so widen ``max_results`` to catch rarer matches. ``max_results`` caps the number of filings fetched and returned (hard cap 200). Returns the matching filings — each carrying ``fileType``, ``sizeText``, ``category`` and ``newsId`` metadata — plus the HKEx-reported total for the window. Use list_filing_facets first to see which categories, types and codes exist in a window.
Input Schema
{
"type": "object",
"properties": {
"from_date": {
"type": "string",
"description": "YYYY-MM-DD or DD/MM/YYYY"
},
"to_date": {
"type": "string",
"description": "YYYY-MM-DD or DD/MM/YYYY"
},
"stock_code": {
"type": "string",
"description": "Optional exact HKEx stock code, e.g. 01461"
},
"title_query": {
"type": "string",
"description": "Optional case-insensitive substring of the filing title"
},
"document_type": {
"type": "string",
"description": "Optional exact file type, e.g. PDF, HTML, XLS, DOC"
},
"category": {
"type": "string",
"description": "Optional case-insensitive substring of the headline category"
},
"stock_name": {
"type": "string",
"description": "Optional case-insensitive substring of the stock short name"
},
"max_results": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"description": "Maximum filings to fetch and return (default 50, cap 200)"
}
},
"required": [
"from_date",
"to_date"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"result": {
"type": "object",
"description": "The filings matching the window and filters.",
"properties": {
"from": {
"type": "string",
"description": "Window start, YYYY-MM-DD"
},
"to": {
"type": "string",
"description": "Window end, YYYY-MM-DD"
},
"count": {
"type": "integer",
"description": "Filings returned"
},
"total_reported": {
"type": [
"integer",
"null"
],
"description": "HKEx-reported total for the window, when known"
},
"filters": {
"type": "object",
"description": "The filters applied"
},
"filings": {
"type": "array",
"description": "One entry per filing",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Release date, DD/MM/YYYY"
},
"stockCode": {
"type": "string"
},
"stockName": {
"type": "string"
},
"title": {
"type": "string"
},
"link": {
"type": "string",
"description": "HKEx document URL"
},
"fileType": {
"type": "string",
"description": "PDF, HTML, XLSX, ..."
},
"sizeText": {
"type": "string",
"description": "HKEx-reported size, e.g. 53KB"
},
"category": {
"type": "string",
"description": "HKEx headline category"
},
"newsId": {
"type": "string",
"description": "HKEx news id"
}
},
"required": [
"stockCode",
"title",
"link"
]
}
}
},
"required": [
"from",
"to",
"count",
"filings"
]
}
},
"required": [
"result"
]
}🟢list_filing_facets(from_date, to_date, stock_code, max_results)
Browse what filings exist in a date window (at most 31 days) without downloading. ``from_date``/``to_date`` accept YYYY-MM-DD or DD/MM/YYYY. Returns counts of the categories (headline categories), document types, and stock codes present in the window, each sorted by frequency and capped at 50 values, plus the distinct counts. Optionally narrow to one ``stock_code``. Use this to discover valid filter values before calling search_filings; it fetches the window once and extracts no document text.
Input Schema
{
"type": "object",
"properties": {
"from_date": {
"type": "string",
"description": "YYYY-MM-DD or DD/MM/YYYY"
},
"to_date": {
"type": "string",
"description": "YYYY-MM-DD or DD/MM/YYYY"
},
"stock_code": {
"type": "string",
"description": "Optional exact HKEx stock code to narrow the facets"
},
"max_results": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"description": "Maximum filings to scan (default 50, cap 200)"
}
},
"required": [
"from_date",
"to_date"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"result": {
"type": "object",
"description": "Counts of the window's categories, document types, and stock codes.",
"properties": {
"from": {
"type": "string",
"description": "Window start, YYYY-MM-DD"
},
"to": {
"type": "string",
"description": "Window end, YYYY-MM-DD"
},
"count": {
"type": "integer",
"description": "Filings scanned"
},
"total_reported": {
"type": [
"integer",
"null"
]
},
"stock_code_filter": {
"type": "string"
},
"distinct_categories": {
"type": "integer"
},
"distinct_document_types": {
"type": "integer"
},
"distinct_stock_codes": {
"type": "integer"
},
"categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The category, file type, or stock code"
},
"count": {
"type": "integer",
"description": "Filings carrying this value"
}
},
"required": [
"value",
"count"
]
}
},
"document_types": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The category, file type, or stock code"
},
"count": {
"type": "integer",
"description": "Filings carrying this value"
}
},
"required": [
"value",
"count"
]
}
},
"stock_codes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The category, file type, or stock code"
},
"count": {
"type": "integer",
"description": "Filings carrying this value"
}
},
"required": [
"value",
"count"
]
}
}
},
"required": [
"from",
"to",
"count"
]
}
},
"required": [
"result"
]
}🟢get_filing(link, extract)
Download one HKEx document by its URL and extract its text and tables. ``link`` must be an HKEx document URL (host ``www1.hkexnews.hk``); any other host is rejected. With ``extract=True`` the response includes extracted ``document_text`` (truncated) and up to 30 ``tables``; set ``extract=False`` for size/content-type only.
Input Schema
{
"type": "object",
"properties": {
"link": {
"type": "string",
"description": "HKEx document URL"
},
"extract": {
"type": "boolean",
"description": "Extract text and tables"
}
},
"required": [
"link"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"result": {
"type": "object",
"description": "The downloaded document, with text and tables when extract is true.",
"properties": {
"link": {
"type": "string"
},
"size_bytes": {
"type": "integer"
},
"content_type": {
"type": "string"
},
"document_text": {
"type": "string",
"description": "Extracted Markdown text"
},
"text_length": {
"type": "integer"
},
"text_truncated": {
"type": "boolean"
},
"tables": {
"type": "array",
"items": {
"type": "object"
}
},
"tables_omitted": {
"type": "integer"
}
},
"required": [
"link",
"size_bytes"
]
}
},
"required": [
"result"
]
}Recommended Prompts
search_filingssearch_filingsget_server_infoget_server_infosearch_filingsget_server_infoRecorded Call Examples
get_filingInput Parameters
{
"link": "https://example.com",
"extract": false
}Output Result
{
"result": {
"content": [
{
"type": "text",
"text": "link must be an HKEx document URL under www1.hkexnews.hk"
}
],
"isError": true
},
"durationMs": 243
}Community
Evidence