
Live HKEx (Hong Kong Stock Exchange) regulatory filings for AI agents.
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Download one HKEx document by its URL and read, page through, or search its text. ``link`` must be an HKEx document URL from search_filings (host ``www1.hkexnews.hk``); any other host is rejected. With ``extract=True`` (default) the response includes up to 30 ``tables`` and a window of extracted ``document_text``: ``max_chars`` characters starting at ``offset``. Long reports return ``next_offset``; call again with it to read the next window. Pass ``query`` to search the whole document instead: the response then lists up to 20 case-insensitive matches with their offsets and surrounding text, plus ``match_count`` — use a match offset to read that part. Set ``extract=False`` for size and content type only.
HKEx document URL from a search_filings result (host www1.hkexnews.hk)
Optional text to find in the whole document; returns matches with offsets instead of a text window
Character offset where the returned text window starts (use next_offset to page)
Extract text and tables; false returns size and content type only
Maximum characters of document_text to return in this window
Download one HKEx document by its URL and read, page through, or search its text. ``link`` must be an HKEx document URL from search_filings (host ``www1.hkexnews.hk``); any other host is rejected. With ``extract=True`` (default) the response includes up to 30 ``tables`` and a window of extracted ``document_text``: ``max_chars`` characters starting at ``offset``. Long reports return ``next_offset``; call again with it to read the next window. Pass ``query`` to search the whole document instead: the response then lists up to 20 case-insensitive matches with their offsets and surrounding text, plus ``match_count`` — use a match offset to read that part. Set ``extract=False`` for size and content type only.
| Argument | Type | Description |
|---|---|---|
| link* | string | HKEx document URL from a search_filings result (host www1.hkexnews.hk) |
| query | string | Optional text to find in the whole document; returns matches with offsets instead of a text window |
| offset | integer | Character offset where the returned text window starts (use next_offset to page) |
| extract | boolean | Extract text and tables; false returns size and content type only |
| max_chars | integer | Maximum characters of document_text to return in this window |
{
"type": "object",
"required": [
"link"
],
"properties": {
"link": {
"type": "string",
"description": "HKEx document URL from a search_filings result (host www1.hkexnews.hk)"
},
"query": {
"type": "string",
"description": "Optional text to find in the whole document; returns matches with offsets instead of a text window"
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0,
"description": "Character offset where the returned text window starts (use next_offset to page)"
},
"extract": {
"type": "boolean",
"default": true,
"description": "Extract text and tables; false returns size and content type only"
},
"max_chars": {
"type": "integer",
"default": 300000,
"maximum": 300000,
"minimum": 1,
"description": "Maximum characters of document_text to return in this window"
}
},
"additionalProperties": false
}Report this live gateway's version, transport, and hard limits. Reads nothing.
No arguments.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| to_date* | string | YYYY-MM-DD or DD/MM/YYYY |
| from_date* | string | YYYY-MM-DD or DD/MM/YYYY |
| stock_code | string | Optional exact HKEx stock code to narrow the facets |
| max_results | integer | Maximum filings to scan (default 50, cap 200) |
{
"type": "object",
"required": [
"from_date",
"to_date"
],
"properties": {
"to_date": {
"type": "string",
"description": "YYYY-MM-DD or DD/MM/YYYY"
},
"from_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",
"maximum": 200,
"minimum": 1,
"description": "Maximum filings to scan (default 50, cap 200)"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| to_date* | string | YYYY-MM-DD or DD/MM/YYYY |
| category | string | Optional case-insensitive substring of the headline category |
| from_date* | string | YYYY-MM-DD or DD/MM/YYYY |
| stock_code | string | Optional exact HKEx stock code, e.g. 01461 |
| stock_name | string | Optional case-insensitive substring of the stock short name |
| max_results |
| integer |
| Maximum filings to fetch and return (default 50, cap 200) |
| title_query | string | Optional case-insensitive substring of the filing title |
| document_type | string | Optional exact file type, e.g. PDF, HTML, XLS, DOC |
{
"type": "object",
"required": [
"from_date",
"to_date"
],
"properties": {
"to_date": {
"type": "string",
"description": "YYYY-MM-DD or DD/MM/YYYY"
},
"category": {
"type": "string",
"description": "Optional case-insensitive substring of the headline category"
},
"from_date": {
"type": "string",
"description": "YYYY-MM-DD or DD/MM/YYYY"
},
"stock_code": {
"type": "string",
"description": "Optional exact HKEx stock code, e.g. 01461"
},
"stock_name": {
"type": "string",
"description": "Optional case-insensitive substring of the stock short name"
},
"max_results": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Maximum filings to fetch and return (default 50, cap 200)"
},
"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"
}
},
"additionalProperties": false
}