mcp-hkex-filing
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SQLITE_PATH | No | Path to SQLite database file (used when sqlite is in DATABASE_TARGET). | |
| POSTGRES_DSN | No | PostgreSQL connection string (used when postgres is in DATABASE_TARGET). | |
| DATABASE_TARGET | Yes | Ordered, comma-separated list of sink ids; order decides which sink serves reads. Valid ids: postgres, mysql, sqlite, mongodb, mariadb, neo4j, clickhouse, duckdb, surrealdb. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_server_infoA | Use this first to learn the server version, configured sinks, and read sink. Returns server metadata only; it reads no filings. This tool is read-only. |
| list_sinksA | Use this when the user asks which databases are configured or their capabilities. Returns every known sink id with its license, optional extra, configured/available status, per-sink capabilities, and which sink serves reads. Reads no filings. |
| get_configA | Use this to inspect the active configuration (DATABASE_TARGET, read sink, graph). Never returns credentials. This tool is read-only. |
| describe_schemaA | Use this before filtering or interpreting results to learn the canonical fields. Returns the filing and document field names with types, plus the known filing types, categories, document statuses, and graph edge kinds. Reads no filings. |
| count_filingsA | Use this to report how many filings each configured sink holds. Returns a per-sink count (or a per-sink error). Counts only; it does not return rows. |
| list_tickersA | Use this to list the distinct company tickers that have filings. Returns a sorted, paged list. Use search_filings to fetch filings for a ticker. |
| list_companiesA | Use this to list companies (ticker and name) with their filing counts. Returns a paged list ordered by filing count. Use search_filings for a company's filings. This tool is read-only. |
| search_filingsA | Use this to find filings by ticker, type, status, date range, or title text. Filters are optional and combinable; comma-separate a value to match several (e.g.
|
| search_documentsA | Use this for full-text search over extracted document text. Matches |
| get_statisticsA | Use this to count filings grouped by one dimension.
|
| list_pending_filingsA | Use this to list filings by document-processing status. Defaults to |
| get_filingA | Use this to read one filing's metadata and extracted document content. Returns the canonical filing and document fields. |
| get_filingsA | Use this to read several filings in one call (up to 50 ids). Returns each filing's metadata plus, when |
| get_coverageA | Use this to report scrape coverage per monthly chunk, with totals. Optional |
| get_parityA | Use this to compare filing counts across two or more configured sinks. Returns per-sink counts and the spread; |
| verify_sinksA | Use this to check that configured sinks hold the same filings and document hashes. Compares (filing_id, document_sha256) sets across comparable sinks and returns a bounded sample of any missing/extra/mismatched ids. Requires two or more comparable sinks. This tool is read-only. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| schema_resource | |
| coverage_resource |
TDQS
Scored across 16 tools
Most tools have distinct purposes, but several boundaries blur: get_config, get_server_info, and list_sinks all describe configured sinks, while count_filings and get_statistics both provide counts. list_tickers/list_companies and search_filings/list_pending_filings also overlap, though the descriptions provide enough context to disambiguate with care.
All names follow a consistent lowercase snake_case verb_noun pattern (describe_, count_, list_, get_, search_, verify_). The semantic mapping of verbs is coherent: list for enumerations, get for retrieval, search for filtered lookup, count for totals. The singular/plural pair get_filing/get_filings is handled predictably.
At 16 tools, the surface is just at the upper boundary, but the extra tools are mostly administration/verification functions (coverage, parity, sinks, config) that serve a distinct operational purpose. It is slightly heavy for a read-only filing server but remains reasonable.
The core filing workflow is well covered: schema discovery, metadata search, full-text search, single and batch retrieval, and pending/status listing. Minor gaps exist, such as no obvious way to combine full-text search with metadata filters and graph edge kinds are mentioned but no graph query tool is exposed, but agents can work around these.