MCP Server

nzxplorer-mcp

io.github.mambaventures/nzxplorer-mcp

What this MCP does

Provides NZX company financial, market, governance, ownership, insider-trading, announcement, ESG, and takeover data.

get_agm_resolutions
Get AGM resolution voting data for an NZX company. Shows resolutions, votes for/against/abstain, pass/fail status, support percentages. Use for governance and shareholder activism analysis.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'year': {'type': 'string', 'description': 'Filter by meeting year'}, 'ticker': {'type': 'string', 'description': 'NZX ticker symbol'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
get_annual_reports
Get annual and interim report URLs for an NZX company. Shows report URLs, financial year, extraction status. Use this when asked about a company's annual reports, filings, or report history.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'type': {'type': 'string', 'description': 'Filter: "annual" or "interim"'}, 'year': {'type': 'string', 'description': 'Fiscal year or range (e.g. "2024" or "2020-2024")'}, 'ticker': {'type': 'string', 'description': 'NZX ticker symbol (e.g. "AIR", "FPH")'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
get_capital_raises
Get capital raise history for an NZX company. Includes placements, rights issues, SPPs, IPOs, bonds, buybacks, DRPs with amounts, pricing, and dilution. ~11,700 structured events across 131 issuers.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'type': {'type': 'string', 'description': 'Comma-separated raise types: placement, rights_issue, spp, ipo, bond, buyback, drp, options_exercise, employee_scheme, conversion'}, 'year': {'type': 'string', 'description': 'Year or range (e.g. "2024" or "2020-2024")'}, 'limit': {'type': 'integer', 'minimum': 1, 'description': 'Max results'}, 'ticker': {'type': 'string', 'description': 'NZX ticker symbol (e.g. "AIR", "FBU", "RYM")'}, 'buybacks': {'type': 'string', 'description': 'Set to "true" to only show buybacks'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
get_company_detail
Get detailed info for a specific NZX company by ticker. Can include directors, financials, governance score, and latest stock price.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'description': 'NZX ticker symbol (e.g. "AIR", "FPH", "MEL")'}, 'include': {'type': 'string', 'description': 'Comma-separated includes: directors, financials, governance, price, all (e.g. "governance,price")'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
get_credit_ratings
Get credit rating history for an NZX company. Shows S&P, Moody's, Fitch, AM Best ratings with upgrades, downgrades, and outlook changes. ~20 NZX companies have credit ratings.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'year': {'type': 'string', 'description': 'Year or range (e.g. "2024" or "2020-2024")'}, 'limit': {'type': 'integer', 'minimum': 1, 'description': 'Max results'}, 'action': {'type': 'string', 'description': 'Filter by action: affirmed, upgraded, downgraded, assigned, withdrawn'}, 'agency': {'type': 'string', 'description': 'Filter by agency: "S&P", "Moody\'s", "Fitch", "AM Best"'}, 'ticker': {'type': 'string', 'description': 'NZX ticker symbol (e.g. "ANZ", "MEL", "SPK")'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
get_daily_market_wrap
Get the daily NZX market wrap — a market-wide digest covering all active NZX issuers. Returns price moves, market breadth (gainers/decliners/unchanged), announcements, insider trades, upcoming dividends, board changes, plus AI-generated video script and written narrative summary. Use when asked about overall market conditions, today's market, what happened on the NZX, or market summary.
Read only Idempotent
Input schema
{'type': 'object', 'required': [], 'properties': {'days': {'type': 'integer', 'minimum': 1, 'description': 'Lookback days (1-7, default 7). Use 1 for last trading day, 7 for the week.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
get_dividends
Get dividend history for an NZX company. Includes ex-date, payment date, amount (DPS), imputation %, DRP availability, summary stats. Company pages also show Dividend Safety Score (0-100 with 5 components), Forward Dividend Cut Probability (0-100% with risk factors), and Payout Ratio Trend Charts with sector benchmarks.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'type': {'type': 'string', 'description': 'Dividend type: final, interim, special'}, 'year': {'type': 'string', 'description': 'Year or range (e.g. "2024" or "2020-2024")'}, 'limit': {'type': 'integer', 'minimum': 1, 'description': 'Max results'}, 'ticker': {'type': 'string', 'description': 'NZX ticker symbol'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
get_earnings
Get earnings results for an NZX company. Extracted from full-year and half-year announcements. Includes revenue, net profit, EBITDA, EPS, DPS, and management guidance.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'year': {'type': 'string', 'description': 'Year or range'}, 'limit': {'type': 'integer', 'minimum': 1, 'description': 'Max results'}, 'period': {'type': 'string', 'description': 'Period: annual, interim, or all'}, 'ticker': {'type': 'string', 'description': 'NZX ticker symbol'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
get_esg_data
Get ESG (Environmental, Social, Governance) data for an NZX company. 255 emissions records, 760 diversity records, 270 safety records across NZX issuers. Includes emissions (scope 1/2/3, targets, verification), diversity (board/SLT/employee gender, Māori/Pasifika representation), safety (LTIFR/TRIFR, fatalities, FTE), and reporting standards (GRI/TCFD/SBTi).
Read only Idempotent
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'year': {'type': 'string', 'description': 'Filter by fiscal year'}, 'ticker': {'type': 'string', 'description': 'NZX ticker symbol'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
get_financials
Get financial statements for an NZX company. Includes income statement, balance sheet, cash flow, and financial ratios. Filter by statement type and year range.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'year': {'type': 'string', 'description': 'Year or range (e.g. "2024" or "2020-2024")'}, 'limit': {'type': 'integer', 'minimum': 1, 'description': 'Max results per statement type'}, 'ticker': {'type': 'string', 'description': 'NZX ticker symbol'}, 'statement': {'type': 'string', 'description': 'Statement type: income, balance, cashflow, ratios, or comma-separated (default: all)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
get_governance_scores
Get Governance Risk Scores (GRS) for NZX companies. 0-100 scale across 6 components: exec remuneration, board structure, shareholder rights, board effectiveness, audit & risk, remuneration disclosure. Can filter by sector, rating, or score range.
Read only Idempotent
Input schema
{'type': 'object', 'required': [], 'properties': {'sort': {'type': 'string', 'description': 'Sort field (e.g. "total_score")'}, 'limit': {'type': 'integer', 'minimum': 1, 'description': 'Max results (default 50)'}, 'order': {'type': 'string', 'description': '"asc" or "desc"'}, 'rating': {'type': 'string', 'description': 'Filter by rating: Excellent, Very Good, Good, Adequate, Poor, Very Poor'}, 'sector': {'type': 'string', 'description': 'Filter by sector'}, 'max_score': {'type': 'number', 'description': 'Maximum GRS score (0-100)'}, 'min_score': {'type': 'number', 'description': 'Minimum GRS score (0-100)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
get_kiwisaver_holdings
Get KiwiSaver fund holdings in an NZX company. Shows which KiwiSaver funds hold shares, their market value, and percentage of fund. Data covers Dec 2018 - Sep 2022.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'date': {'type': 'string', 'description': 'Specific quarter date (e.g. "2022-09-30")'}, 'ticker': {'type': 'string', 'description': 'NZX ticker symbol'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
get_management_team
Get the management team (C-suite executives) for an NZX company. Returns current CEO, CFO, COO, CTO, and other senior executives with their roles, tenure, biographies, education, and profile links. 127 issuers covered, 508 current executives across 15 normalized roles. Filter by role (e.g. CEO, CFO). Includes profile data where linked to shared.people.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'role': {'type': 'string', 'description': 'Filter by normalized role: CEO, CFO, COO, CTO, CIO, CLO, CPO, CMO, CRO, CDO, CS, GM, VP, MD, Other'}, 'ticker': {'type': 'string', 'description': 'NZX ticker symbol (e.g. "FPH", "AIR", "SPK")'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
get_market_signals
Get the Market Intelligence Feed — a unified stream of all NZX market events. Returns 13 signal types: insider trades, capital raises, dividends, earnings releases, AGM results, director changes, governance score changes, technical signals (golden/death cross, RSI extremes), credit rating changes, auditor changes, takeover/M&A activity, board events, and composite signals (multi-signal patterns like insider selling + earnings miss, director exodus, governance deterioration). Use this when asked "what happened on the NZX today/this week?", "any recent insider trades?", "golden crosses?", "credit rating changes?", "composite signals?", "market activity for AIR", or any question about recent NZX events. ROUTING: this is the CROSS-MARKET FEED — use it for 'what is happening across the market' or when scanning several signal types at once. For a question about ONE dataset for ONE company, prefer the specific tool: get_capital_raises, get_agm_resolutions, get_vote_history, get_credit_ratings, get_audit_history, get_governance_scores, get_dividends, get_insider_trades. Listing a signal type here does NOT mean this is the best tool for it.
Read only Idempotent
Input schema
{'type': 'object', 'required': [], 'properties': {'days': {'type': 'integer', 'minimum': 1, 'description': 'Number of days to look back (default 180, use 7 for "this week", 1 for "today")'}, 'type': {'type': 'string', 'description': 'Comma-separated signal types: insider_trade, capital_raise, dividend, earnings, agm_result, director_change, grs_change, technical_signal, credit_rating, audit_change, takeover, board_event, composite_signal'}, 'limit': {'type': 'integer', 'minimum': 1, 'description': 'Max results (default 50)'}, 'sector': {'type': 'string', 'description': 'Filter by sector (e.g. "Energy", "Healthcare")'}, 'ticker': {'type': 'string', 'description': 'Filter by company ticker (e.g. "AIR", "MEL")'}, 'significance': {'type': 'string', 'description': 'Filter by significance: high, medium, low'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
get_metrics
Get financial metrics/ratios for NZX companies. 46 ratios: profitability (incl. comprehensive_roe, oci_divergence), leverage (incl. paid_in_capital_ratio), cash flow, dividends, growth (incl. share_capital_growth), valuation, composite. Use for screening or comparison.
Read only Idempotent
Input schema
{'type': 'object', 'required': [], 'properties': {'mode': {'type': 'string', 'description': 'For single ticker: "snapshot" (default) or "historical"'}, 'sort': {'type': 'string', 'description': 'Sort by metric (e.g. "pe_ratio", "roe", "dividend_yield")'}, 'year': {'type': 'string', 'description': 'Year or range filter'}, 'limit': {'type': 'integer', 'minimum': 1, 'description': 'Max results'}, 'order': {'type': 'string', 'description': '"asc" or "desc"'}, 'sector': {'type': 'string', 'description': 'Filter by sector (list mode only)'}, 'ticker': {'type': 'string', 'description': 'Specific ticker for detailed metrics with live valuation. Omit for list of all companies.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
get_performance
Get stock performance metrics for an NZX company. Returns (1d to 5y), alpha vs NZX50, volatility, 52-week range, market cap. Use for performance comparison and pay-for-performance analysis.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'description': 'NZX ticker symbol'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
get_revenue_segments
Get revenue segment breakdown for an NZX company. Returns operating, geographic, or product segment data including segment revenue, operating profit, and assets (all in NZD thousands). Use when asked about "revenue breakdown", "business segments", "divisions", "product groups", "geographic revenue", "segment analysis", or "what are the divisions of [company]".
Read only Idempotent
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'type': {'type': 'string', 'description': 'Segment type filter: operating, geographic, product'}, 'year': {'type': 'string', 'description': 'Year or range (e.g. "2025" or "2020-2025")'}, 'limit': {'type': 'integer', 'minimum': 1, 'description': 'Max results (default 50)'}, 'ticker': {'type': 'string', 'description': 'NZX ticker symbol (e.g. "FPH", "SKC", "AIR", "FBU")'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
get_stock_prices
Get daily stock price history (OHLCV) for an NZX company. Use for price trends, returns, and technical context.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'to': {'type': 'string', 'description': 'End date (YYYY-MM-DD)'}, 'days': {'type': 'integer', 'minimum': 1, 'description': 'Number of recent trading days (default 30)'}, 'from': {'type': 'string', 'description': 'Start date (YYYY-MM-DD)'}, 'ticker': {'type': 'string', 'description': 'NZX ticker symbol'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
get_takeovers
Get M&A and takeover activity for an NZX company. Returns structured deal data: acquirer, target, offer price, total value, premium, acceptance %, status, timeline. Covers takeover offers, mergers, schemes of arrangement, compulsory acquisitions, and asset acquisitions. Use this when asked about "takeovers", "M&A", "acquisitions", "who is buying", "hostile bids", "scheme of arrangement", or deal activity for a company.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'year': {'type': 'string', 'description': 'Year or range (e.g. "2025" or "2020-2025")'}, 'limit': {'type': 'integer', 'minimum': 1, 'description': 'Max results (default 50)'}, 'status': {'type': 'string', 'description': 'Comma-separated: announced, conditional, unconditional, completed, withdrawn, failed'}, 'ticker': {'type': 'string', 'description': 'NZX ticker symbol (e.g. "RBD", "RAK", "MCK")'}, 'deal_type': {'type': 'string', 'description': 'Comma-separated: takeover_offer, merger, scheme_of_arrangement, compulsory_acquisition, acquisition'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
get_technical_signals
Get technical analysis indicators for an NZX company. SMA-50/100/200, RSI-14, golden/death cross, distance from 52-week high/low, volume ratios. Use for trading signals, momentum analysis, and technical screening.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'description': 'NZX ticker symbol (e.g. "AIR", "FPH", "MEL")'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
read_announcement
Read and analyze a specific NZX announcement. Extracts summary, key figures, sentiment, entities, and risk flags using AI. Provide the announcement_id (e.g. "12345") from search_announcements results. Returns cached results if previously extracted.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['announcement_id'], 'properties': {'announcement_id': {'type': 'string', 'description': 'The announcement_id from search_announcements results'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
search_announcements
Full-text search across NZX market announcements (2017-present), most with extracted PDF text. Searches announcement titles AND full document content. Use for finding mentions of specific topics, companies, people, or events across all NZX filings. Results include: ai_category (25-category AI classification like M&A, Dividend, Regulatory, Capital Raise, Guidance, Earnings Results), ai_category_confidence (0.0-1.0), ai_sub_topics (1-3 topic tags). May also include: ai_sentiment (positive/negative/neutral/mixed), ai_sentiment_score (-1.0 to 1.0), ai_topics (array of topic labels), ai_risk_flags (array of risk indicators like profit_warning, dividend_cut), and ai_summary (concise summary).
Read only Idempotent
Input schema
{'type': 'object', 'required': [], 'properties': {'q': {'type': 'string', 'description': 'Search query — searches both titles and full PDF document text'}, 'to': {'type': 'string', 'description': 'End date (YYYY-MM-DD)'}, 'from': {'type': 'string', 'description': 'Start date (YYYY-MM-DD)'}, 'type': {'type': 'string', 'description': 'Announcement type: FLLYR, HALFYR, SHINTR, MEETING, GENERAL, SECISSUE, DVDEND, etc.'}, 'limit': {'type': 'integer', 'minimum': 1, 'description': 'Max results (default 20)'}, 'ticker': {'type': 'string', 'description': 'Filter by company ticker'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
search_companies
Search NZX-listed companies by name or ticker. Returns company list with sector, market cap. Use this to find a company ticker before calling other tools. ROUTING: a lookup step, not an answer. After resolving the ticker, CALL THE TOOL THAT ANSWERS THE QUESTION — e.g. get_credit_ratings for ratings, get_executive_compensation for pay. Do not stop after searching.
Read only Idempotent
Input schema
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'minimum': 1, 'description': 'Max results (default 10)'}, 'search': {'type': 'string', 'description': 'Company name or ticker to search for (e.g. "air new zealand" or "AIR")'}, 'sector': {'type': 'string', 'description': 'Filter by sector (e.g. "Energy", "Healthcare")'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['schema_version', 'tool', 'data', 'meta'], 'properties': {'data': {'description': 'The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".'}, 'meta': {'type': 'object', 'required': ['retrieved_at', 'availability_status', 'provenance'], 'properties': {'encoding': {'enum': ['json', 'toon'], 'type': 'string', 'description': 'toon = pipe-delimited tabular encoding; header row names the columns.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'enum': ['direct', 'label', 'reachable', 'none', 'undeclared'], 'type': 'string', 'description': 'Whether the figures can cite a source document. "undeclared" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.'}, 'retrieved_at': {'type': 'string', 'format': 'date-time', 'description': 'When this platform produced the answer — NOT the as-at date of the data.'}, 'availability_status': {'enum': ['ok', 'truncated', 'parse_failed', 'error'], 'type': 'string', 'description': 'ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.'}}, 'additionalProperties': True}, 'tool': {'type': 'string', 'description': 'Tool that produced this result.'}, 'schema_version': {'type': 'string', 'description': 'Envelope contract version. Bumps only on a breaking shape change.'}}, 'additionalProperties': False}
Removed
get_substantial_holders
Oct. 1, 2026, 2:45 a.m.
Removed
get_shareholders
Oct. 1, 2026, 2:45 a.m.
Removed
get_insider_trades
Oct. 1, 2026, 2:45 a.m.
Removed
get_directors
Oct. 1, 2026, 2:45 a.m.
Removed
get_director_detail
Oct. 1, 2026, 2:45 a.m.
Removed
get_board_changes
Oct. 1, 2026, 2:45 a.m.
Added
get_daily_market_wrap
Sept. 17, 2026, 12:43 p.m.
Added
get_annual_reports
Sept. 17, 2026, 12:43 p.m.
Added
get_market_signals
Sept. 17, 2026, 12:43 p.m.
Added
get_takeovers
Sept. 17, 2026, 12:43 p.m.
Added
get_revenue_segments
Sept. 17, 2026, 12:43 p.m.
Added
get_capital_raises
Sept. 17, 2026, 12:43 p.m.
Added
get_management_team
Sept. 17, 2026, 12:43 p.m.
Added
get_credit_ratings
Sept. 17, 2026, 12:43 p.m.
Added
get_technical_signals
Sept. 17, 2026, 12:43 p.m.
Added
get_performance
Sept. 17, 2026, 12:43 p.m.
Added
get_kiwisaver_holdings
Sept. 17, 2026, 12:43 p.m.
Added
get_esg_data
Sept. 17, 2026, 12:43 p.m.
Added
get_agm_resolutions
Sept. 17, 2026, 12:43 p.m.
Added
get_substantial_holders
Sept. 17, 2026, 12:43 p.m.
Added
get_shareholders
Sept. 17, 2026, 12:43 p.m.
Added
get_director_detail
Sept. 17, 2026, 12:43 p.m.
Added
get_directors
Sept. 17, 2026, 12:43 p.m.
Added
read_announcement
Sept. 17, 2026, 12:43 p.m.
Added
search_announcements
Sept. 17, 2026, 12:43 p.m.
Added
get_stock_prices
Sept. 17, 2026, 12:43 p.m.
Added
get_board_changes
Sept. 17, 2026, 12:43 p.m.
Added
get_earnings
Sept. 17, 2026, 12:43 p.m.
Added
get_dividends
Sept. 17, 2026, 12:43 p.m.
Added
get_insider_trades
Sept. 17, 2026, 12:43 p.m.

Valuein — SEC EDGAR Fundamentals & Smart-Money Data

io.github.valuein/mcp-sec-edgar

Provides point-in-time SEC EDGAR fundamentals, filings, ownership signals, financial analysis, valuation models, research reports…

equibles

io.github.daniel3303/equibles

Provides equity and market research tools covering SEC filings, company financials, portfolios, prices, options, macroeconomic da…

EventTrader Research (read-only)

com.cymetica/event-trader-research

Offers read-only research on funds, event markets, order books, arena markets, crypto pools, backtests, and related financial ana…

World Monitor

app.worldmonitor/mcp

Delivers live geopolitical, conflict, country-risk, market, energy, climate, aviation, supply-chain, and macroeconomic intelligen…

Slacking.biz — SEC Financial Data + US Economics + Demographics + FX

io.github.Th3Slack3r/slacking-biz

Provides financial, economic, demographic, foreign-exchange, regulatory, and company research data from public sources.

TipRanks

com.tipranks/tipranks

Provides market research and investment data covering stocks, ETFs, commodities, crypto, forex, analyst ratings, news, earnings, …

welcome

com.thebalancedinvestorclub/welcome

Provides market data and educational investment research for stocks, ETFs, and crypto, including fundamentals, prices, macro indi…

Currencyformat

io.github.pipeworx-io/currencyformat

Formats localized numbers and currencies and also provides routed access to structured financial, market, government, and researc…