MCP server for NZX (New Zealand Stock Exchange) financial data — governance scores, governance scorecard, insider trades, stock prices, directors, financials, iXBRL statements, ESG/climate disclosures, earnings, revenue segments, capital raises, board changes, board composition reports, board skills matrix, research briefings, technical signals, stock screener, anomaly detection, proxy advisory, stewardship reports, voting policies, alert subscriptions, risk language analysis, keyword trend analysis, semantic search, IoD designations, announcement sentiment, IR quality scores, political connections, beneficial ownership, substantial holder notices, corporate giving, property portfolios, fair value estimates, deal advisers, company directorships, director workload, director network, board pipeline, insolvency status, officer history, compensation benchmarks, daily market wrap, and 64,000+ company announcements
NZXplorer MCP demonstrates solid tool definition quality with consistent naming, clear descriptions, and well-structured schemas across all 8 tools. All tools follow verb_noun naming convention starting with 'get_' or 'search_'. Descriptions are informative (average ~150 chars) and explain purpose clearly. Input schemas are comprehensive with proper types, constraints (min/max, enums), and per-parameter descriptions. However, there are gaps in output schema documentation, error handling guidance, and composition optimization. No tools include actionable recovery hints for common failure modes.
List NZX-listed companies. Returns ticker, name, sector, market cap for 130 companies on the New Zealand Stock Exchange.
Get detailed information about a specific NZX company by ticker symbol. Optionally include directors, financials, governance score, and latest stock price.
Get a detailed profile of a specific NZX director by their URL slug. Includes biography, board appointments, and optionally insider trades and remuneration history.
List directors of NZX-listed companies. Search by name or filter by company ticker. Returns name, roles, appointment dates.
Get Governance Risk Scores (GRS v2.0) for NZX companies. Each company scored 0-100 across 6 components: Executive Remuneration, Board Structure, Shareholder Rights, Board Effectiveness, Audit & Risk, and Remuneration Disclosure. Ratings: Excellent (80+), Very Good (70-79), Good (60-69), Adequate (50-59), Poor (40-49), Very Poor (<40). Covers all 130 NZX-listed companies.
Output schemas undocumented. Code shows tools return JSON via `api()` helper with 'text' content type, but the actual response field structure is not documented for LLMs. Tools return raw API responses without field descriptions, forcing LLMs to infer structure from examples.
No error recovery guidance. Error handling is minimal (lines 31-35 in src/index.ts throw generic HTTP errors with message extraction). Errors do not guide the LLM on what to do next, no retryable vs. fatal classification, no alternatives on 404s, no suggestion to call search_directors before get_director with a bad slug.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 59 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Get insider (director) share transactions for NZX companies. 4,100+ trades covering buy/sell/exercise transactions. Shows who is buying and selling, how much, and at what price. Filter by company ticker, transaction type, date range, or specific director.
Get historical daily stock prices for an NZX company. Returns OHLCV data (open, high, low, close, volume) in NZD.
Search 64,000+ NZX company announcements from 2017-2026. Full-text search across announcement titles. Types include: SHINTR (insider trades), GENERAL, MKTUPDTE (market updates), SECISSUE (security issues), MEETING, DIVCASH (dividends), and 50+ more.
get_insider_trades missing limit/pagination parameter. Tool description does not mention it accepts limit or offset/cursor. Large result sets (4,100+ trades) could blow context window. Tool definition shows no pagination fields, unlike get_companies, get_directors, search_announcements which have explicit limits.
Parameter 'include' values not constrained. get_company, get_director, and search_announcements have 'include' parameters accepting comma-separated lists (e.g. 'directors,financials,governance,price'). These should be enums or have strict validation rules in descriptions to prevent hallucinated values.
Date parameter formats not validated. get_stock_prices, search_announcements, get_insider_trades accept 'from' and 'to' as strings in YYYY-MM-DD format. No validation is visible in the code; code just passes them to the API. LLMs may pass invalid formats like '2024/01/01' or 'Jan 15, 2024'.
No tool composition hints. Tools accept parameters like 'ticker' and 'slug' (director URL slug), but there is no guidance in descriptions on how to chain tools. E.g. get_directors returns directors but the response structure that includes slugs is not documented, forcing an LLM to guess whether get_director can be called next.