# HKEx Filings

> Live HKEx (Hong Kong Stock Exchange) regulatory filings for AI agents.

- name: com.ascent-partners/hkex-filings
- version: 2.4.3
- connection class: R0 (autonomous)
- trust: 96/100
- quality: 89/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.ascent-partners%2Fhkex-filings
- tools: https://api.protogrid.dev/v1/servers/com.ascent-partners%2Fhkex-filings/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "hkex-filings": {
      "type": "http",
      "url": "https://hkex-listco-updates.ascent-partners.com/api/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% +updated-6d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 89/100 (new)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 4 of 4 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,205 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 6 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: deps.dev does not know hkex-filing-scraper@2.4.3

- tools: 4, about 1,205 tokens to load them all
- tool set hash: 8e39279b4eec631bcdfdb5e82a36d3ff
- badge: [![protogrid quality](https://protogrid.dev/badge/com.ascent-partners/hkex-filings.svg)](https://protogrid.dev/servers/com.ascent-partners/hkex-filings)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Dependencies

- pypi hkex-filing-scraper@2.4.3: unknown

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0.

## Remotes

- https://hkex-listco-updates.ascent-partners.com/api/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

- pypi hkex-filing-scraper@2.4.3

## Tools (4)

- `get_filing`: 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.
    
- `get_server_info`: Report this live gateway's version, transport, and hard limits. Reads nothing.
- `list_filing_facets`: 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.
    
- `search_filings`: 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.
    
