NZXplorer MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@NZXplorer MCP ServerWhat's the latest stock price for FBU?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
NZXplorer MCP Server
An MCP (Model Context Protocol) server that gives AI assistants like Claude Desktop, Cursor, VS Code, and Claude Code direct access to New Zealand stock market data via the NZXplorer API.
Query 130 NZX-listed companies, 1,300+ directors, 162,000+ daily stock prices, governance risk scores, 4,100+ insider trades, 64,000+ company announcements, board composition analytics, anomaly detection, market signals, proxy advisory voting recommendations, and a powerful stock screener with 87+ metrics — all from natural language.
One-click install
Zero signup (easiest): point any MCP client at the remote endpoint — no API key, 30 read-only tools, 30 calls/hour per IP:
{ "mcpServers": { "nzxplorer": { "url": "https://mcp.nzxplorer.co.nz" } } }In Claude Desktop / claude.ai: Settings → Connectors → Add custom connector → paste https://mcp.nzxplorer.co.nz. In Claude Code: claude mcp add --transport http nzxplorer https://mcp.nzxplorer.co.nz.
For the full 55-tool set with an API key (free at nzxplorer.co.nz/developers):
Client | Install |
Cursor | Add to Cursor (deeplink) |
VS Code | Add to VS Code (deeplink) |
Claude Code |
|
Claude Desktop / Windsurf / Goose |
|
Any client (Smithery) |
After install, set NZXPLORER_API_KEY from your NZXplorer Settings → API & Developer page.
Related MCP server: AlphaVantage MCP Server
Quick Install (npm)
npx nzxplorer-mcpOr install globally:
npm install -g nzxplorer-mcpAvailable Tools (58)
Tool | Description |
| List NZX companies with search and sector filters |
| Company detail by ticker — optionally include directors, financials, governance score, latest price |
| Search directors by name or filter by company |
| Director profile with biography, appointments, insider trades, board fees, and executive compensation |
| Daily OHLCV price data with date range and lookback filters |
| Governance Risk Scores (0-100) for all 130 NZX companies across 6 components |
| Full-text search across 64,000+ NZX announcements (2017-2026) |
| Director share transactions — buys, sells, exercises. Filter by ticker, director, date, type |
| Normalized financial statements — income, balance sheet, cash flow, ratios. FY2010-2025 |
| Structured earnings results — revenue, profit, EPS, guidance. Extracted from NZX PDFs |
| Dividend history — DPS, imputation, DRP, payment dates. Plus dividend safety metrics |
| Technical indicators — SMA-50/100/200, RSI-14, golden/death cross, volume ratios |
| Screen stocks using 87+ metrics, 12 smart presets, and custom filters (e.g. PE<15, RSI<30) |
| Stock performance — returns (1D-5Y), alpha vs NZX50, volatility, beta, 52-week range |
| Comprehensive director due diligence report — 8 tables, 11 sections |
| Market Intelligence Feed — 10 signal types, unified event stream across all NZX companies |
| Anomaly detection — 12 types across 5 categories (insider, governance, financial, market, AGM) |
| Proxy advisory voting recommendations — FOR/AGAINST/REFER per AGM resolution with 34 rules, 8 policy presets |
| M&A and takeover activity — 313 deals, 51 issuers, 11 deal types (2017-2026) |
| Board changes — appointments, resignations, retirements. 1,242 changes across 105 issuers |
| Board composition analytics — independence, diversity, tenure, skills, succession risk, peer comparison |
| Accounting quality scores — Beneish M-score, Piotroski F-score, Altman Z-score, interest coverage, current ratio, overall rating |
| Credit ratings from S&P, Moody's, Fitch, AM Best — rating, outlook, action, history |
| Risk language scoring — 8 categories (going concern, covenant, litigation, etc.) across 64K+ announcements |
| Keyword frequency trends across NZX announcements — like Google Trends for corporate filings |
| List FMA-compliant stewardship/voting-record reports (Enterprise) |
| Full stewardship report detail with per-company resolution analysis (Enterprise) |
| List custom voting policies for the proxy advisory engine (Enterprise/Institutional) |
| Revenue segment breakdown — IFRS 8 operating, geographic, product segments |
| List alert subscriptions — 11 signal types, 6 anomaly categories, HMAC-SHA256 webhooks (Enterprise) |
| Capital raise history — 11,088 events across 130 issuers (placements, rights, SPPs, buybacks, DRPs) |
| AI semantic search across 64K+ announcements — hybrid keyword+vector+reranking |
| IoD designated directors — CFInstD, CMInstD, CDir, MInstD credentials on NZX boards |
| Board skills matrix — 12 IoD NZ/ASX categories, gap analysis, diversity score |
| Investment research briefing — 15+ data sources, AI narrative, 4 templates (general/thesis/DD/board) |
| Fund manager voting records — Harbour, Devon, Mint, Fisher, NZ Super Fund. FOR/AGAINST/ABSTAIN per resolution |
| Deal advisers — law firms, investment banks, valuers who advised on capital raises and takeovers |
| Full directorship history from NZ Companies Register — NZX + private companies, status, failure rate |
| Workload analysis — NZX board seats, Companies Office roles, overboarding risk, attendance, tenure |
| Cross-directorship and board interlock analysis — company, director, or NZX-wide mode |
| Directors who recently freed up capacity — resignations, retirements, available talent for recruitment |
| Machine-readable iXBRL income/balance/cash-flow with IFRS taxonomy tags. 116 companies, FY2010-2025 |
| Machine-readable NZ CS 1-3 tagged ESG/climate disclosure — Scope 1/2/3 emissions, diversity, safety, GRI/TCFD/SBTi/SDG |
| AI-scored sentiment (-1 to +1) for NZX announcements with confidence, hedging, buried risks, guidance direction |
| IR disclosure quality score (0-100) — 5 dimensions: Timeliness, Completeness, Readability, Frequency, Governance Transparency |
| Cross-company references extracted from 62,000+ NZX announcements — who mentions whom, with context snippets |
| MP interests, political donors, and party donations linked to an NZX company or its directors |
| Current C-suite (CEO/CFO/COO/CTO/etc.) with roles, tenure, biographies. 127 issuers, 508 executives |
| See through custodian nominees to fund managers behind NZX shareholdings. 56 fund managers, KiwiSaver/ETF/sovereign |
| Classified SPH notices with extracted holders, %, direction (increase/decrease/initial/ceased). 9,700+ notices |
| Corporate donations, sponsorships, community investment — recipients, amounts, types, charity cross-links |
| REIT/property-company portfolios — addresses, book values, cap rate, WALE, occupancy, tenants, dev pipeline |
| Estimated fair value per share via DCF + Dividend Discount + EV/EBITDA models. Estimate, not a target price |
| Per-company governance scorecard — 15 NZSA/NZX-aligned policy areas with RAG ratings and overall 0-100 score |
| MBIE Insolvency Register lookup — bankruptcy, no-asset procedures, summary instalment orders by person slug |
| Full historical officer timeline for a company — every director + executive who ever held a role, with start/end dates, tenure, committees, status |
| P10/P25/P50/P75/P90 compensation percentiles for a role (CEO/CFO/COO/Chair/Director/etc.) across NZX, with sector + market-cap-tier breakdowns |
| Daily NZX market wrap — price moves, breadth (gainers/decliners), announcements, insider trades, upcoming dividends, board changes + AI narrative summary |
Setup
1. Get an API Key
Get your free API key at nzxplorer.co.nz/developers.
2. Configure Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
Using npx (recommended):
{
"mcpServers": {
"nzxplorer": {
"command": "npx",
"args": ["-y", "nzxplorer-mcp"],
"env": {
"NZXPLORER_API_KEY": "your_api_key_here"
}
}
}
}Using local install:
{
"mcpServers": {
"nzxplorer": {
"command": "node",
"args": ["/absolute/path/to/nzxplorer-mcp-server/build/index.js"],
"env": {
"NZXPLORER_API_KEY": "your_api_key_here"
}
}
}
}2b. Or Configure Cursor
Add to Cursor's MCP settings (.cursor/mcp.json in your project or global config):
{
"mcpServers": {
"nzxplorer": {
"command": "npx",
"args": ["-y", "nzxplorer-mcp"],
"env": {
"NZXPLORER_API_KEY": "your_api_key_here"
}
}
}
}Example Prompts
Once connected, you can ask Claude things like:
"What are the top governance-rated companies on the NZX?"
"Show me Air New Zealand's board of directors and their backgrounds"
"Get Fisher & Paykel Healthcare's stock price for the last 30 days"
"Search for dividend announcements from Spark in 2025"
"Which NZX companies have a governance score below 50?"
"Show me the biggest insider trades on the NZX this month"
"Who is buying shares in Ryman Healthcare?"
"What is the CEO of FPH paid? Show their executive compensation"
"Screen for undervalued stocks: PE under 15 with dividend yield above 4%"
"Find oversold NZX stocks with RSI below 30"
"Which stocks have a golden cross signal right now?"
"Show me Air New Zealand's financial performance over the last 5 years"
"Are there any red flags or anomalies on the NZX right now?"
"What market events happened this week?"
"Any insider trading clusters or governance concerns for Fletcher Building?"
"How should I vote at the Air New Zealand AGM?"
"Get the proxy advisory report for Mercury NZ"
"What are the voting recommendations for Spark's resolutions?"
"Analyze the board composition of Fisher & Paykel Healthcare"
"What is the succession risk for Air New Zealand's board?"
"Who recently joined or left the board at Fletcher Building?"
Environment Variables
Variable | Required | Description |
| Yes | Your API key from nzxplorer.co.nz/developers |
| No | Override API base URL (default: |
Data Coverage
Data | Records | Coverage |
Companies | 130 | All NZX-listed issuers |
Directors | 1,300+ | Current and historical board members |
Stock Prices | 162,000+ | Daily OHLCV, updated daily |
Governance Scores | 130 | GRS v2.0 — 6 components, 0-100 scale |
Announcements | 64,000+ | Full NZX archive 2017-2026 |
Insider Trades | 4,100+ | Director share transactions |
Executive Compensation | 491 | CEO/CFO pay packages with STI/LTI |
Shareholders | 2,400+ | Top 20 + substantial holders |
Dividends | 1,184 | Per-dividend records with imputation data |
Earnings | 389 | Structured results from NZX PDFs |
Financial Metrics | 367 | 41 ratios across 116 companies |
Technical Signals | 127 | SMA, RSI, golden/death cross, updated daily |
Screener | 87+ columns | 12 presets, custom filters, all companies |
Rate Limits
Tier | Requests/min |
Free | 10 |
Pro | 100 |
Enterprise | 500 |
License
MIT
Available Tools
58 toolscheck_insolvency_statusAInspect
Check insolvency/bankruptcy history for any person in the NZXplorer database. Queries the MBIE Insolvency Register for bankruptcy, no-asset procedures, and summary instalment orders. Returns TTL-filtered records per MBIE Agreement cl 4.5-4.6. Use when asked about a person's insolvency history, bankruptcy status, financial fitness to serve as director, or due diligence screening.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Person slug from NZXplorer (e.g. 'john-smith') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that records are 'TTL-filtered per MBIE Agreement cl 4.5-4.6', adding behavioral context beyond a simple read query. It does not mention auth requirements or error handling, but for a read-only check, this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is 3 sentences, front-loaded with purpose, each sentence adds value: purpose, source/details, TTL filtering, usage guidance. No redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given it's a single-parameter tool with no output schema, the description covers purpose, source, filtering, and usage. It lacks details on return structure or error cases, but is complete enough for an agent to understand when to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single 'slug' parameter well-described. The description adds 'for any person in the NZXplorer database,' which aligns but does not provide additional syntax or format details beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks insolvency/bankruptcy history for any person in the NZXplorer database, specifying the data source (MBIE Insolvency Register) and types (bankruptcy, no-asset procedures, summary instalment orders). It distinguishes itself from siblings by focusing on insolvency, a specific domain not covered by other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists use cases: 'when asked about a person's insolvency history, bankruptcy status, financial fitness to serve as director, or due diligence screening.' However, it does not mention when not to use the tool or provide explicit alternatives among the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_accounting_qualityAInspect
Get accounting quality scores for an NZX company. Shows Beneish M-score (earnings manipulation probability, >-1.78 suggests manipulation), Piotroski F-score (financial strength 0-9, higher is better), Altman Z-score (bankruptcy risk: >2.99 safe, 1.81-2.99 grey zone, <1.81 distress), plus interest coverage, current ratio, and overall composite score (0-100). 128 issuers scored. Use for 'is [company] at risk of manipulation?', 'financial health of [company]', 'bankruptcy risk', 'accounting quality'.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Filter by year: single year (e.g. '2024') or range (e.g. '2020-2024') | |
| limit | No | Number of results (default 50) | |
| ticker | Yes | NZX ticker symbol (e.g. 'AIR', 'FPH', 'MEL') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It explains the scores and their thresholds (e.g., M-score >-1.78 suggests manipulation). However, it does not disclose behavioral traits like read-only nature, required permissions, rate limits, or side effects. The description is adequate but lacks extra context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured, starting with purpose, then detailing scores, and ending with use cases. It is concise but informative, with every sentence adding value. Could be slightly more concise, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so description should clarify return format. It lists scores but not how they are structured. Parameters for year and limit are explained in schema but not how they interact (e.g., if year is omitted, does it return all years?). The description is complete for explaining scores but lacks structural details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters are described in the schema. The description adds no significant new meaning beyond the schema, aside from providing example tickers. Baseline 3 is appropriate as the description does not compensate beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves accounting quality scores for NZX companies and lists the specific scores (Beneish M-score, Piotroski F-score, etc.). It distinguishes from sibling tools like get_credit_ratings or get_governance_scores by focusing on accounting quality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases: 'is [company] at risk of manipulation?', 'financial health', 'bankruptcy risk', etc. It doesn't explicitly say when not to use or compare to alternatives, but the use cases are clear and helpful for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_announcement_sentimentAInspect
Get AI-scored sentiment analysis of NZX company announcements. Returns per-announcement sentiment scores (-1 to +1), confidence levels, hedging analysis, buried risks, key topics, and guidance direction. Includes company-level summary with average score, sentiment breakdown, and overall rating. Use for 'sentiment on [company] announcements', 'what is the tone of [ticker] filings', 'buried risks in [company] announcements', 'announcement sentiment', 'hedging language'.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| limit | No | Max results (default 20) | |
| ticker | Yes | NZX ticker symbol (e.g. 'AIR', 'FPH') | |
| hedging | No | Filter by hedging level: none, low, moderate, heavy | |
| sentiment | No | Filter by sentiment: positive, negative, neutral, mixed |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It details the output (per-announcement scores, confidence, hedging, topics) and company-level summary. It also explains the score range (-1 to +1). It does not disclose potential limitations like data freshness or authentication, but the core behavior is well-covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (three sentences) and front-loaded: first sentence states what it does, second lists outputs, third gives example queries. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (6 parameters, no output schema), the description covers the main output categories and use cases. It could be more explicit about the data source (NZX announcements) and note that it only applies to NZX companies, but the ticker parameter description clarifies the scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds context by explaining the output and linking parameters (e.g., ticker, hedging, sentiment) to the analysis, but does not elaborate on parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the tool returns AI-scored sentiment analysis of NZX company announcements, with concrete outputs like sentiment scores, hedging analysis, and guidance direction. It distinguishes itself from sibling tools (e.g., get_governance_scorecard, get_accounting_quality) by focusing on announcement sentiment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit example queries ('sentiment on [company] announcements', 'buried risks') indicating when to use the tool. It does not explicitly state when not to use it or mention alternatives, but the sibling tools cover distinct domains, making usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_anomaliesAInspect
Detect unusual patterns and red flags across NZX companies. Scans 12 anomaly types across 5 categories: insider trading (clusters, exodus, conviction shifts), governance (GRS deterioration, director exodus, audit changes), financial (dividend cut risk, capital raise patterns, earnings concerns), market (technical breakdowns/breakouts), and AGM (shareholder revolts). Returns anomalies sorted by severity. Use for 'any red flags?', 'governance concerns for [company]?', 'insider trading anomalies'.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Days to look back (default 180) | |
| sector | No | Filter by sector (e.g. 'Energy', 'Healthcare') | |
| ticker | No | Filter by company ticker (e.g. 'AIR', 'MEL') | |
| category | No | Filter by category: insider, governance, financial, market, agm | |
| severity | No | Filter by severity: critical, warning, watch |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description effectively discloses the tool's behavior: it scans 12 anomaly types across 5 categories and returns results sorted by severity. It does not mention read-only nature, rate limits, or resource consumption, but covers the key behavioral traits of what the tool checks and orders.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is front-loaded with the main purpose, then details categories, and ends with usage examples. It is concise and well-structured, though the list of categories could be slightly trimmed without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 parameters, no output schema), the description covers the input semantics and usage scenarios well. However, it omits details about the output format (e.g., what fields each anomaly includes), which would help the agent understand the return value. Without output schema, this gap reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 5 parameters. The description adds context only by grouping anomaly types into categories and giving the default value for 'days' (180). This is moderate added value; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly identifies the tool as detecting unusual patterns across NZX companies, lists 12 anomaly types across 5 categories, and distinguishes it from sibling tools that retrieve specific data points (e.g., get_insider_trades, get_governance_scores). It includes specific use case queries, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides explicit usage guidance with example queries like 'any red flags?' and 'insider trading anomalies'. It states 'Use for...' which directly indicates when to use. However, it does not contrast with alternative tools or mention when not to use, missing some exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_beneficial_ownershipAInspect
Get beneficial ownership intelligence for an NZX company. Sees through custodian nominees (HSBC, BNP Paribas, Citibank) to identify actual fund managers behind NZX shareholdings. Returns fund manager positions, custodian mappings, and fund holdings from factsheet data. 56 fund managers tracked, covering ETF providers, KiwiSaver managers, sovereign wealth funds, and international institutional investors. Use for 'who owns [company]?', 'beneficial ownership', 'which fund managers hold [ticker]?', 'institutional ownership', 'custodian nominees'.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | NZX ticker symbol (e.g. 'FPH', 'AIR', 'SPK') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It explains the tool reveals fund manager positions, custodian mappings, and fund holdings, and mentions tracking 56 fund managers. Lacks details on latency, pagination, or data freshness, but adequately describes what the tool does.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences with front-loaded purpose. Each sentence adds unique value: purpose, mechanism, return data, coverage, and example queries. No unnecessary text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description outlines return data types and examples. It covers key operational details but omits data source recency and limitations. Adequate for a simple-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers the single parameter (ticker) with a description. The tool description does not add further meaning to the ticker parameter beyond the schema, resulting in a baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it provides beneficial ownership intelligence for NZX companies, with specific details on identifying fund managers behind custodian nominees. It distinguishes itself from sibling tools like get_substantial_holder_notices by focusing on beneficial ownership.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit example use cases (e.g., 'who owns [company]?') that guide appropriate invocation. Does not mention when not to use or suggest alternatives, but the specificity makes usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_board_changesAInspect
Get board changes (director appointments, resignations, retirements, removals) for an NZX company. 1,242 changes across 105 issuers (2017-2026). Shows director name, action, role, effective date, who they replaced, reason for departure, and linked director profile. Use for 'who joined/left the board?', 'recent director changes at [company]', 'board turnover history'.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date in YYYY-MM-DD format | |
| from | No | Start date in YYYY-MM-DD format | |
| limit | No | Number of results (default 50, max 100) | |
| action | No | Filter by action type: appointed, resigned, retired, removed, elected, re-elected. Comma-separated for multiple (e.g. 'resigned,retired'). | |
| ticker | Yes | NZX ticker symbol (e.g. 'AIR', 'FPH', 'MEL') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavior. It states what data is returned (director name, action, role, etc.) and provides statistics (1,242 changes). However, it does not disclose whether the tool is read-only or has side effects, which is a gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (3 sentences), front-loaded with the main action, and includes key details and usage examples without extraneous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no output schema, and no annotations, the description adequately covers the purpose, data fields, and example queries. It could mention pagination or date range handling, but is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 5 parameters are described in the input schema with 100% coverage. The description adds little beyond the schema, such as mentioning 'NZX ticker' and action examples, but overall does not significantly enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves board changes for NZX companies, specifying types (appointments, resignations, etc.) and data fields. This differentiates it from sibling tools like 'get_board_composition_report' or 'get_director_changes'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides three example query intents ('who joined/left the board?', 'recent director changes', 'board turnover history'), guiding appropriate use. It does not explicitly state when not to use or alternatives, but the examples are clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_board_composition_reportAInspect
Get a comprehensive board composition analytics report for an NZX company. Analyzes board independence vs NZX Code requirements, gender diversity vs 30% target, tenure distribution with 9-year limit flags, skills matrix with gap identification, meeting attendance, director fee benchmarking, CEO pay ratio, succession risk scoring (low/medium/high/critical), board turnover rates, and peer comparison against sector averages. Returns automated risk flags across 10 categories. Use for 'board composition for [company]', 'governance quality analysis', 'succession risk', 'board diversity metrics', or 'nomination committee report'.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | NZX ticker symbol (e.g. 'AIR', 'FPH', 'MEL') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses the tool's behavior by detailing the analysis performed: independence vs NZX Code, gender diversity, tenure distribution, skills matrix, etc., and mentions 'Returns automated risk flags across 10 categories.' This gives a comprehensive understanding of what the tool delivers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, with the first sentence front-loading the purpose and listing major report components. Every sentence is informative and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description thoroughly explains return values (e.g., tenure distribution with 9-year limit flags, succession risk scoring). It covers the main analytical outputs but could be more precise about the format or structure of the results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the only parameter (ticker) with 100% description coverage. The description adds value by providing examples ('e.g. AIR, FPH, MEL') and context (NZX company), reinforcing the parameter's meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Get a comprehensive board composition analytics report for an NZX company.' It specifies the verb, resource, and scope, and differentiates from sibling tools like get_board_skills_matrix and get_governance_scorecard by indicating it's a comprehensive report covering many aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists example use cases: 'board composition for [company]', 'governance quality analysis', 'succession risk', etc. While it does not mention when not to use it or provide alternatives, the context suggests it's suitable for broad board analytics queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_board_pipelineAInspect
Directors who have recently freed up board capacity — resignations, retirements, and reduced workloads in the last 12 months. Returns departed directors with their remaining board count, skills, qualifications, and departure details. Use for board recruitment, candidate identification, or talent pipeline analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 20, max 200) | |
| skill | No | Filter by skill category (e.g. 'governance', 'financial') | |
| sector | No | Filter by sector (e.g. 'Energy', 'Healthcare') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It clearly explains the tool's output (departed directors with specific fields) and its nature (read-only lookup). It does not mention side effects or permissions, but given the tool's apparent safety, this is adequate. No contradiction with missing annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first defines the output source and content, the second states usage. Every word adds value, no redundancy. Front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains what the tool returns and its use cases. It mentions the 12-month time frame and the kind of details provided. No output schema exists, but the description sufficiently covers the output's nature. Missing details like pagination, but limit parameter covers max results. Almost complete for this tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (all parameters have descriptions). The description mentions 'skills, qualifications' aligning with the 'skill' parameter but does not elaborate on parameter usage. It adds no extra meaning beyond the schema; baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns departed directors with details like remaining board count, skills, qualifications, and departure dates. It specifies the scope (last 12 months) and explicit use cases (board recruitment, candidate identification, talent pipeline analysis), distinguishing it from siblings like get_directors or get_board_changes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description directly states when to use the tool (for board recruitment, candidate identification, talent pipeline analysis). However, it does not mention when not to use it or contrast it with alternatives like get_directors (active directors) or get_board_changes (broad changes), which would strengthen guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_board_skills_matrixAInspect
Get the board skills matrix for an NZX company. Shows per-director skills across 12 IoD NZ/ASX CGC categories (finance, legal, technology, industry, governance, risk, strategy, HR, sustainability, digital, international, marketing), board-level gap analysis (critical/single_point/depth_gap/adequate), and diversity score. Use for 'board skills at [company]', 'skills matrix', 'board gaps', 'director competencies', 'governance capability'.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | NZX ticker symbol (e.g. 'FPH', 'AIR') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden and adequately discloses the tool's read-only nature and its three main outputs. However, it omits details like data freshness or authentication requirements, which are minor given the simplicity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, with the first sentence front-loading the purpose and details, and the second listing use cases. Every word is necessary and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a board skills matrix (multiple dimensions), the description comprehensively covers the outputs (per-director skills, gaps, diversity) and target companies. No output schema exists, but the description sets clear expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully describes the ticker parameter (100% coverage). The description adds value by contextualizing its usage with example queries, though it does not introduce new parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the board skills matrix for an NZX company, listing specific outputs (per-director skills, gap analysis, diversity score) and example queries, making it highly distinct from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit example use cases like 'board skills at [company]', which gives clear context, but does not mention when to avoid using this tool or compare to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_capital_raisesAInspect
Get capital raise history for an NZX company. 11,088 events across 130 issuers. Includes placements, rights issues, SPPs, IPOs, bonds, buybacks, DRPs, options exercises, employee schemes, and conversions. Returns shares issued, price, total amount (NZD), discount %, dilution %, purpose. Use for 'capital raises for [company]', 'how much has [company] raised?', 'buyback history', 'dilution risk'.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Comma-separated raise types: placement, rights_issue, spp, ipo, bond, buyback, drp, options_exercise, employee_scheme, conversion | |
| year | No | Filter by year (e.g. '2025') or range (e.g. '2020-2025') | |
| limit | No | Number of results (default 50) | |
| ticker | Yes | NZX ticker symbol (e.g. 'AIR', 'FBU', 'RYM') | |
| buybacks | No | Set to 'true' to only show buybacks |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral aspects. It discloses the dataset size (11,088 events, 130 issuers), types of events, and return fields. It implies a read-only operation with no side effects, but does not mention authentication or rate limits. Still, it provides sufficient transparency for a data retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences followed by a list of event types and example use cases. It is well-structured, front-loaded with the main purpose, and every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters, no output schema, and no annotations, the description provides a comprehensive overview: data scope, event types, return fields, and usage examples. It equips the agent to understand the tool's capabilities and constraints without needing further context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already documented. The description adds context by listing event types that match the 'type' parameter values and providing example tickers. It enhances understanding beyond bare schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it retrieves capital raise history for an NZX company, enumerates event types, and provides example queries. It is specific and distinct from siblings like 'get_stock_prices' or 'get_dividends'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit use case phrases like 'capital raises for [company]' and 'buyback history', which help the agent decide when to use it. However, it does not explicitly state when not to use it or mention alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_companiesAInspect
List NZX-listed companies. Returns ticker, name, sector, market cap for 130 companies on the New Zealand Stock Exchange.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results (default 50, max 100) | |
| search | No | Search by company name or ticker symbol | |
| sector | No | Filter by sector (e.g. 'Energy', 'Healthcare', 'Property') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explicitly states the return fields and count (130 companies), which is transparent, but lacks details on auth needs, rate limits, or data freshness. Adequate but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main purpose. Every word contributes value; no redundancy. Highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with three optional parameters and no output schema, the description covers the key return fields (ticker, name, sector, market cap) and the total count (130). It is complete enough for an agent to understand the tool's output and use case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the input schema already describes the three parameters (limit, search, sector) in detail. The description adds no additional meaning beyond the schema, earning a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List', the resource 'NZX-listed companies', and specifies what is returned (ticker, name, sector, market cap). It effectively distinguishes from sibling tools by focusing on a specific exchange and general listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a clear use case: listing all NZX companies. While it does not explicitly state when not to use or provide alternatives, the specificity and context of sibling tools make the usage context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_companyAInspect
Get detailed information about a specific NZX company by ticker symbol. Optionally include directors, financials, governance score, and latest stock price.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | NZX ticker symbol (e.g. 'AIR', 'SPK', 'FPH', 'RYM') | |
| include | No | Comma-separated additional data to include: directors, financials, governance, price, or 'all' for everything |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description carries full burden. It mentions optional inclusions but lacks details on error behavior, data freshness, or auth. Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single concise sentence that front-loads the primary purpose. No redundant words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema; description lists what can be included but not the structure of the response. For a tool with many siblings, more detail on default fields would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters have schema descriptions (100% coverage). The description adds context by listing example tickers and clarifying 'include' as comma-separated options, but mostly mirrors schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets detailed info about a specific NZX company by ticker, with optional data. This distinguishes it from siblings like get_companies (list) and other specific tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While the description implies using this for a broad overview, it does not explicitly differentiate from siblings like get_directors or get_financials, nor does it state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_company_directorshipsAInspect
Get full directorship history for any person from the NZ Companies Register. Shows all company roles (NZX-listed + private companies), current and historical, with company status (active/struck off/liquidating) and failure rate analysis. Use when asked about a person's full board network, private company roles, directorship workload, or company failure history.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Person slug from shared.people (e.g. 'rob-campbell', 'joan-withers') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It indicates a read operation ('Get... Shows...') and describes the output scope (status, failure analysis). However, it does not mention authentication needs, rate limits, or whether data is paginated, leaving some gaps for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states purpose and scope, second provides usage guidance. No redundant information, and the key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (one required param, no output schema), the description covers what the tool does, what data it shows, and when to use it. It lacks explicit mention of return format or pagination, but for a simple lookup tool, this is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'slug' is already described in the schema (100% coverage). The description adds no extra meaning beyond the schema example, so it meets the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('Get full directorship history') and clearly identifies the resource ('any person from the NZ Companies Register'), including scope ('all company roles, current and historical') and unique value ('failure rate analysis'). This distinguishes it from sibling tools like get_director or get_director_workload.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use: 'when asked about a person's full board network, private company roles, directorship workload, or company failure history.' It does not explicitly mention when not to use or alternatives, but the provided use cases are clear and relevant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_compensation_benchmarkAInspect
Get compensation percentile benchmarking for a specific executive or board role across all NZX companies. Returns P10/P25/P50/P75/P90 percentiles, mean, min, max, plus breakdowns by sector and market-cap tier (micro/small/mid/large). Use for questions about market pay rates, peer-comparison benchmarks, whether a company overpays or underpays for a role, or due-diligence on remuneration committee decisions.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | Role to benchmark — one of: 'ceo', 'cfo', 'coo', 'chair', 'director', 'cto', 'cio', 'cro', 'general-counsel', 'company-secretary' | |
| year | No | Financial year filter (default: latest available per company) | |
| sector | No | Filter by sector (e.g. 'Healthcare', 'Energy') | |
| market_cap | No | Filter by market-cap tier: 'micro', 'small', 'mid', or 'large' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses return values (percentiles, mean, min, max, breakdowns by sector and market-cap tier) and implies read-only behavior. No mention of side effects, auth needs, or rate limits, but the output specification is sufficient for a benchmarking tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is a single long sentence that efficiently conveys purpose, output, and use cases without wasted words. Could be split into two for better readability, but front-loads the main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 parameters and no output schema, the description explains the output structure and primary use cases. It lacks details on data frequency (annual/quarterly) and year parameter behavior, but overall covers the essential context for a benchmark tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for each parameter. The description repeats the allowed role values from the schema without adding new meaning or format details. Thus, it does not significantly supplement the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Get' and resource 'compensation percentile benchmarking' for executive or board roles across NZX companies. Lists specific percentiles and breakdowns, and provides use cases like market pay rates and peer benchmarks, distinguishing it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description explicitly says 'Use for questions about...' providing clear context for when to use the tool. However, it does not specify when not to use it or mention alternative tools among the many siblings, missing some exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_corporate_givingAInspect
Get corporate donations, sponsorships, and community investment for an NZX company. Shows recipients, amounts, donation types (cash/sponsorship/community_investment/grant/in-kind), foundation name, and total community investment. Cross-linked to registered charities where possible. Use for 'what charities does [company] support?', 'corporate giving', 'community investment', 'sponsorship', 'donations by [ticker]'.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | NZX ticker symbol (e.g. 'SPK', 'AIR', 'GMT') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions cross-linking to charities and describes output fields, but does not explicitly state that the tool is read-only or disclose any behavioral traits like rate limits or authorization requirements. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is two sentences with no wasted words. Main purpose is front-loaded, and additional details are concisely listed. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple parameter schema and lack of output schema, the description covers the main output (recipients, amounts, types, foundation name, total community investment) and cross-references. Could be improved by mentioning time period or data freshness, but still good.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter 'ticker', which already has a clear description. The tool description does not add extra meaning beyond what the schema provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it retrieves corporate donations, sponsorships, and community investment for an NZX company. It lists specific data points (recipients, amounts, donation types) and example queries, making the tool's purpose unambiguous and distinct from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit usage examples like 'what charities does [company] support?' and queries for corporate giving, community investment, sponsorship, and donations by ticker provide clear context for when to use this tool. However, it does not explicitly exclude cases where it should not be used or mention alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_credit_ratingsAInspect
Get credit rating history for an NZX company. Shows S&P, Moody's, Fitch, AM Best, Equifax ratings with upgrades, downgrades, outlook changes, and rating actions. ~80 ratings across ~20 NZX issuers (mainly banks, utilities, large caps). Use for 'credit rating for [company]', 'has [company] been downgraded?', 'investment grade NZX companies'.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Filter by year: single year (e.g. '2024') or range (e.g. '2020-2024') | |
| limit | No | Number of results (default 50) | |
| action | No | Filter by action: affirmed, upgraded, downgraded, assigned, withdrawn, revised | |
| agency | No | Filter by rating agency: 'S&P', 'Moodys', 'Fitch', 'AM Best', 'Equifax' | |
| ticker | Yes | NZX ticker symbol (e.g. 'ANZ', 'WBC', 'MEL', 'SPK') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It mentions the approximate scale (~80 ratings across ~20 issuers) and that it covers mainly banks, utilities, and large caps. However, it does not disclose the response format, pagination, error handling for unknown tickers, or any rate limits. It is adequate but leaves room for improvement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences plus a usage line. Every sentence adds value—scope, agencies, actions, and example queries. No redundant information. Perfectly front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description should provide more detail about the response structure, pagination limits (though limit parameter is described), and behavior for missing tickers. It mentions coverage scope but omits the format of ratings history. It is partially complete but not fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all five parameters. The description adds context about the types of agencies and actions but does not significantly enhance understanding beyond the schema. The baseline for high coverage is 3, and the description meets that without adding substantial new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves credit rating history for NZX companies, listing specific agencies (S&P, Moody's, Fitch, AM Best, Equifax) and types of actions (upgrades, downgrades, outlook changes). It also provides the scope (~80 ratings across ~20 NZX issuers). This distinguishes it from sibling tools which cover different financial data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes explicit example queries like 'credit rating for [company]', 'has [company] been downgraded?', and 'investment grade NZX companies' which guide the agent on when to use this tool. However, it does not mention when not to use it or suggest alternative tools for non-NZX or non-covered agencies, though the context of sibling tools implies NZX-focus.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_daily_market_wrapAInspect
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 an AI-generated narrative summary. Use for questions about today's NZX market, overall market conditions, what happened across the NZX, or weekly market summary.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Lookback window in days (1-7, default 7). Use 1 for last trading day. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It discloses that the tool returns a broad range of data including an AI-generated narrative summary. It implies read-only behavior (no mutations). Could mention rate limits or auth, but for a data retrieval tool, the description is sufficiently transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first specifies purpose and contents, second gives usage context. No redundancy, front-loaded with key information. Every sentence is necessary and well-placed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description explains return values comprehensively (price moves, breadth, announcements, insider trades, dividends, board changes, narrative summary). Covers daily and weekly contexts. Adequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%. The parameter 'days' has a description in the schema. The description adds extra guidance: 'Use 1 for last trading day.' This adds value beyond the schema, meriting a score above baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'Get' and resource 'daily NZX market wrap'. Describes specific contents (price moves, breadth, etc.) and explicitly distinguishes from siblings by being a comprehensive digest, unlike sibling tools that focus on individual aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage guidance: 'Use for questions about today's NZX market, overall market conditions, what happened across the NZX, or weekly market summary.' This clarifies when to use this tool over more specific sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_deal_advisersAInspect
Get professional advisers (law firms, investment banks, valuers) who advised on capital raises and takeovers for an NZX company. Shows which firms acted as legal counsel, underwriter, lead manager, independent adviser, or valuer on each deal. Includes deal details (amount, type, date) and adviser roles. Use for deal intelligence, adviser league tables, or capital markets analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | Filter by adviser role: legal_issuer, underwriter, lead_manager, financial_adviser, independent_adviser, valuer, etc. | |
| ticker | Yes | NZX ticker symbol (e.g. 'CEN', 'FPH') | |
| deal_type | No | Filter: 'capital_raise' or 'takeover' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It implies a read-only operation by stating it 'Shows' and 'Includes' data. However, it does not disclose any potential side effects, authorization requirements, or rate limits. It is adequate but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (three sentences) and front-loaded with the tool's purpose. Every sentence adds meaningful information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three parameters, no output schema, and no annotations, the description sufficiently explains what the tool returns (adviser roles, deal details, amounts, types, dates). It gives a complete picture of the tool's functionality and output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all three parameters with descriptions. The description adds value by listing example roles ('legal_issuer, underwriter, lead_manager...') and deal types ('capital_raise' or 'takeover'), providing context beyond the schema's dictionary-like descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves professional advisers for capital raises and takeovers for NZX companies, specifying types of advisers (law firms, investment banks, valuers) and roles (legal counsel, underwriter, etc.). It also notes that deal details are included, making it distinct from sibling tools that focus on other aspects like capital raises alone or takeovers alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases: 'deal intelligence, adviser league tables, or capital markets analysis'. However, it does not specify when not to use this tool or mention alternative sibling tools (e.g., get_capital_raises, get_takeovers) that might be more appropriate for other contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_directorAInspect
Get a detailed profile of a specific NZX director by their URL slug. Includes biography, board appointments, and optionally insider trades and remuneration history.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Director URL slug (e.g. 'john-smith'). Find slugs via get_directors. | |
| include | No | Comma-separated additional data: trades (insider share transactions), remuneration (board fees), exec_comp (executive pay packages with STI/LTI), or 'all' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that the tool includes biography, board appointments, and optional additional data. It does not mention side effects, rate limits, or response format, but for a read-only tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the core purpose. Every word is informative, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only 2 parameters, no output schema, and no annotations, the description covers the essential aspects: what it does, required input, and output contents. It could be more complete by specifying the output format, but it is sufficient for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters. The description adds value by explaining what the include parameter can request ('insider trades, remuneration, exec_comp') and that slug is obtained via get_directors. This enriches the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get a detailed profile'), the resource ('a specific NZX director'), and the identifier ('by their URL slug'). It lists included data (biography, board appointments) and optional extras, distinguishing it from sibling get_directors which likely returns a list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly directs users to find slugs via get_directors, which is referenced in the schema description. However, the main description does not explicitly state when to use this tool versus alternatives like get_directors or other get_* tools. The hint is useful but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_director_due_diligenceAInspect
Get a comprehensive due diligence report for any NZX director. Aggregates all board positions (with GRS scores), overboarding assessment, remuneration across all boards with peer percentile, executive compensation, insider trading activity summary, AGM election voting record, governance contribution analysis, stock performance during tenure, and automated risk flags. Designed for executive search firms, law firms, and nominating committees assessing board candidates.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Director URL slug (e.g. 'joan-withers', 'mark-cross'). Find slugs via get_directors. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It details many report components and implies a read-only retrieval operation. It could be more explicit about idempotency or side effects, but the level of detail is high.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that is informative but slightly lengthy. It is front-loaded with the main purpose and efficiently lists components. Could be more structured but remains effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description thoroughly lists all report components (board positions, overboarding, remuneration, etc.). For a single-parameter tool with comprehensive output, the description is complete enough for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter 'slug' is described with examples ('joan-withers') and guidance on how to find slugs ('via get_directors'). This adds value beyond the schema, which only states the need for a string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get a comprehensive due diligence report for any NZX director' and enumerates specific report components. This distinguishes it from sibling tools like get_director or get_director_network.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly targets 'executive search firms, law firms, and nominating committees assessing board candidates'. While it does not state when not to use it, the target audience provides clear usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_director_networkAInspect
Cross-directorship and board interlock analysis with 3 modes: (1) company mode (?ticker=AIR) — shows all directors' external boards and shared entities, (2) director mode (?director=joan-withers) — person-centric 1-hop network, (3) network mode (no params) — NZX-wide cross-directorship map. Returns nodes, edges, and interlock metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | No | NZX ticker for company mode (e.g. 'AIR') | |
| director | No | Director slug for person mode (e.g. 'joan-withers') | |
| include_historical | No | Include historical positions (default false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool 'Returns nodes, edges, and interlock metrics' which implies a read operation, but does not mention any side effects, authentication requirements, or performance implications. This is adequate but not exceptional.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with critical information front-loaded. Every element (three modes, parameter examples, return type) adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema, the description appropriately summarizes return structure ('nodes, edges, and interlock metrics'). For a tool with three optional parameters and three modes, this provides sufficient context for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter schema coverage is 100%, yet the description adds significant meaning by mapping each parameter to a specific mode (ticker→company mode, director→person mode, no params→network mode). This goes beyond the schema's individual parameter descriptions and clarifies the tool's polymorphic behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is for 'cross-directorship and board interlock analysis' and enumerates three distinct modes (company, director, network), making its purpose highly specific and distinguishable from siblings like get_board_composition_report or get_company_directorships.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use each mode via parameter examples (e.g., '?ticker=AIR' for company mode, '?director=joan-withers' for director mode, 'no params' for network mode). It does not explicitly exclude scenarios or mention alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_directorsBInspect
List directors of NZX-listed companies. Search by name or filter by company ticker. Returns name, roles, appointment dates.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results (default 50) | |
| search | No | Search by director name | |
| company | No | Filter by company ticker (e.g. 'AIR' to get Air New Zealand directors) | |
| current | No | If true, only return currently-serving directors |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It only states returns name, roles, appointment dates, but does not mention read-only nature, auth needs, or pagination. The implicit 'List' suggests a safe read, but fails to provide explicit transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, 18 words, immediately states purpose and usage. Every sentence adds value. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description covers search and company filter but omits mention of limit and current params. Since there's no output schema, the description should at least list returned fields (which it does for name, roles, appointment dates) but it fails to inform about pagination or boolean filter. Incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with detailed descriptions. The description adds usage context for search and company params, but does not reveal new constraints or types beyond what schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List directors of NZX-listed companies' with a specific verb and resource. It differentiates from sibling tools like get_director (single director) and get_company_directorships (directorships by company).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by listing search and filter options, but does not provide explicit guidance on when to choose this tool over siblings like get_director or get_company_directorships. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_director_workloadAInspect
Get workload analysis for a director — current NZX board seats, active Companies Office directorships, overboarding risk level (low/average/elevated/high), board meeting attendance rate, tenure at each board, and chair/committee roles. Use for overboarding checks, governance due diligence, or board capacity assessment.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Person slug from shared.people (e.g. 'rob-campbell') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It comprehensively describes what the tool returns (board seats, directorships, risk level, attendance, tenure, roles) with no mention of side effects or destructive actions, which is appropriate for a read-only analysis tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first lists outputs, the second states use cases. It is front-loaded with key information, and every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple single-parameter input and no output schema, the description fully covers what the tool does and why to use it. It lists all expected output fields and appropriate use cases, leaving no critical gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage for the single parameter 'slug' with description 'Person slug from shared.people (e.g. 'rob-campbell')'. The description adds no additional semantic context beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Get workload analysis for a director' and enumerates specific data points (NZX board seats, directorships, overboarding risk, attendance, tenure, roles). This clearly distinguishes it from sibling tools like get_director or get_director_due_diligence by focusing on workload and overboarding metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states 'Use for overboarding checks, governance due diligence, or board capacity assessment', providing clear use cases. However, it does not mention when not to use this tool or suggest alternative tools for related but different tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dividendsAInspect
Get dividend history for an NZX company. Returns ex-date, record date, payment date, DPS (cents), imputation %, supplementary dividends, DRP availability, and dividend safety metrics. 1,184 records across 102 companies.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Filter by dividend type: 'final', 'interim', or 'special'. Comma-separated for multiple. | |
| year | No | Filter by year: single year (e.g. '2024') or range (e.g. '2020-2024') | |
| limit | No | Number of results (default 50) | |
| ticker | Yes | NZX ticker symbol (e.g. 'AIR', 'FPH', 'SPK') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the return fields and data volume (1,184 records, 102 companies), but does not mention whether the operation is read-only, prerequisites, rate limits, or any side effects. Partial transparency is achieved through field listing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences. The first sentence immediately states the purpose and key return fields. The second provides context on data scale. No wasted words, front-loaded with essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a moderate-complexity tool (4 parameters, no output schema), the description covers the core purpose, return fields, and data volume. However, it does not explain output format expectations or parameter interactions (e.g., combining year and type). Slightly incomplete for a fully self-contained description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters are documented in the input schema with descriptions (100% coverage). The tool description does not add further semantic detail about parameter usage or relationships, so it meets the baseline without enhancement.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves dividend history for NZX companies, listing specific fields returned (ex-date, record date, etc.). It is unambiguous and distinct from sibling tools like get_earnings or get_financials.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as get_earnings or get_financials. The description lacks any when-to-use or when-not-to-use context, leaving the agent to infer from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_earningsAInspect
Get structured earnings results for an NZX company. Extracted from full-year (FLLYR) and half-year (HALFYR) announcement PDFs. Returns revenue, net profit, EBITDA, EBIT, EPS, dividends per share, guidance, and prior period comparisons. All monetary values in NZD thousands.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Filter by year: single year (e.g. '2024') or range (e.g. '2020-2024') | |
| limit | No | Number of results (default 50) | |
| period | No | Filter by period type: 'annual' for full-year, 'interim' for half-year | |
| ticker | Yes | NZX ticker symbol (e.g. 'AIR', 'FPH', 'SPK') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description discloses the source documents and the metrics returned, which is transparent. It does not mention any destructive behavior (none expected) or limitations like rate limits, but for a read-only retrieval tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loading the main purpose and listing key outputs. There is no extraneous information; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description explains what metrics are returned and the unit (NZD thousands). It also mentions the source documents. For a tool with 4 parameters and no output schema, this provides sufficient context for an agent to understand what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage and each parameter has a brief description. The tool description adds value by specifying that monetary values are in NZD thousands, which is not in the schema. This additional semantic information enhances parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it gets structured earnings results for an NZX company, extracted from full-year and half-year announcement PDFs, and lists the specific metrics returned (revenue, net profit, etc.). This clearly distinguishes it from sibling tools like get_financials or get_dividends.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies that data is sourced from full-year and half-year announcement PDFs, implying when to use the tool (for NZX company earnings reports). However, it does not provide explicit guidance on when not to use it or mention alternative tools for similar data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_esg_xbrlAInspect
Get machine-readable NZ Climate Standards (NZ CS 1-3) tagged ESG/climate disclosure for an NZX company. Returns XRB Aotearoa taxonomy-tagged emissions (Scope 1/2/3 GHG), diversity metrics (board/SLT/employee gender), workplace safety (LTIFR/TRIFR), and reporting framework compliance (GRI, TCFD, SBTi, SDG). Use when the user wants ESG data, climate disclosures, emissions, diversity stats, or sustainability data in structured format.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Fiscal year (e.g. '2024'). Default: latest available year. | |
| ticker | Yes | NZX ticker symbol (e.g. 'MEL', 'CEN', 'GNE') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It only states what data is returned, omitting behavioral traits like read-only nature, authentication needs, rate limits, or handling of missing data. For a tool with no annotation coverage, more transparency is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences. The first sentence specifies the main function, and the second lists returned data and usage context. No redundant words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description enumerates the categories of returned data (emissions, diversity, safety, compliance). It is sufficient for a 2-parameter tool, though a brief note on error conditions or example would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters (ticker and year) already described. The description adds no new parameter details beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves NZ Climate Standards (NZ CS 1-3) tagged ESG/climate disclosure for NZX companies. It lists specific data types: emissions, diversity, safety, framework compliance. Distinguishes from siblings like get_financials_xbrl, which focus on financial data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes 'Use when the user wants ESG data...' providing clear context for use. However, it does not explicitly exclude alternative tools or mention when not to use it, though the sibling list includes potentially related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fair_valueAInspect
Get estimated fair value for an NZX company using 3 valuation models: DCF (discounted cash flow), Dividend Discount Model (Gordon Growth), and EV/EBITDA relative valuation. Returns composite fair value per share, price-to-fair-value ratio, individual model outputs, confidence level, assumptions used, and methodology notes. NOTE: This is an automated estimate using standard financial models, NOT a target price or investment recommendation.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | NZX ticker symbol (e.g. 'FPH', 'AIR') | |
| discount_rate | No | Discount rate / WACC (default 0.10 = 10%) | |
| terminal_growth | No | Terminal growth rate (default 0.025 = 2.5%) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that the estimate is automated and not a target price or recommendation, which is important behavioral context. However, it does not mention data freshness, update frequency, or limitations of the models.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with the main purpose in the first sentence followed by output details and a note. It is front-loaded and contains no redundant information, though it could be slightly more structured (e.g., bullet points).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description adequately explains the return values (composite fair value, price-to-fair-value ratio, model outputs, confidence, assumptions, notes). It also warns about the non-investment-recommendation nature. Slightly missing details on input validation or error cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameter descriptions in the schema are complete. The description does not add significant meaning beyond the schema; it mentions the models used but does not explicitly link them to parameters like discount_rate or terminal_growth.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get estimated fair value for an NZX company using 3 valuation models.' It specifies the specific verb (get), resource (fair value), and scope (NZX company, three models). The tool is distinct from siblings, which are other financial analysis tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide guidance on when to use this tool versus alternatives. It only notes the output and that it's an automated estimate, but no explicit 'use this when you need fair value' or comparison to similar tools like get_stock_prices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_financialsAInspect
Get normalized financial statements for an NZX company. Returns income statements, balance sheets, cash flow statements, and financial ratios. All monetary values in NZD thousands. 367 records across 116 companies, FY2010-2025.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Filter by year: single year (e.g. '2024') or range (e.g. '2020-2024') | |
| limit | No | Number of results per statement (default 50) | |
| ticker | Yes | NZX ticker symbol (e.g. 'AIR', 'FPH', 'SPK') | |
| statement | No | Which financial statement to return. If omitted, returns all four. income = revenue/profit/EPS/dividends. balance = assets/liabilities/equity. cashflow = operating/investing/financing/free. ratios = margins/ROE/ROA/debt-to-equity. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that monetary values are in NZD thousands, the date range (FY2010-2025), and the count of records. However, it does not mention that the tool is read-only, any authentication requirements, rate limits, or what happens if the ticker is invalid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no redundancy. The first sentence clearly states the purpose, and the second adds key contextual details (currency, data range, record count). Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters and no output schema, the description adequately describes what is returned and the scope. It includes the data range and currency. Minor gap: does not explicitly mention pagination behavior for the 'limit' parameter, but this is inferred from its description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so baseline is 3. The description adds value by summarizing the values of the 'statement' parameter (e.g., 'income = revenue/profit/EPS/dividends') and indicating that omitting it returns all four statements. This clarifies parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', the resource 'normalized financial statements for an NZX company', and specifies the types of statements returned (income, balance, cash flow, ratios). It also provides context on data range and currency, making it distinct from sibling tools like get_financials_xbrl.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for NZX company financial data but does not explicitly state when to use this tool versus alternatives such as get_earnings or get_dividends. No exclusions or when-not-to-use guidance is provided, leaving the agent to infer context from the tool's purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_financials_xbrlAInspect
Get machine-readable iXBRL (Inline XBRL) financial statements for an NZX company. Returns IFRS taxonomy-tagged income statements, balance sheets, cash flows, and financial ratios. Each data point is tagged with its XBRL concept (e.g. ifrs-full:Revenue), period context, and unit. 116 companies, FY2010-2025. Use when the user wants structured/machine-readable financial data, XBRL output, or data for programmatic consumption.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Fiscal year (e.g. '2024'). Default: latest available year. | |
| ticker | Yes | NZX ticker symbol (e.g. 'AIR', 'FPH', 'MEL') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool returns IFRS taxonomy-tagged data with period context and unit, and mentions scope (116 companies, FY2010-2025). However, it does not mention auth needs, rate limits, side effects, or whether the tool is read-only (implied by 'get' but not explicit).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two main sentences plus a concise scope sentence, totaling 65 words. It is front-loaded with the core purpose and then provides specifics. No filler or redundancy, though it could be slightly more structured with bullet points.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains return format (tagged financial statements with XBRL concepts, period, unit) and scope. However, it lacks details on pagination, error handling, rate limits, or how to handle multiple years. For a data retrieval tool, this is acceptable but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (ticker and year). The description adds little beyond the schema: it gives example tickers (AIR, FPH, MEL) and clarifies 'fiscal year' for the year parameter. No additional constraints or semantics provided, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns machine-readable iXBRL financial statements for NZX companies, specifying income statements, balance sheets, etc. It distinguishes from siblings like get_financials by emphasizing structured XBRL format, but does not explicitly call out when to use this over similar tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use: 'when the user wants structured/machine-readable financial data, XBRL output, or data for programmatic consumption.' It provides clear context but does not mention when not to use or list alternative tools like get_financials for human-readable output.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fund_votesAInspect
Get actual voting records from NZ fund managers (Harbour, Devon, Mint, Fisher, NZ Super Fund) for an NZX company. Shows how institutional investors voted on AGM resolutions — FOR, AGAINST, or ABSTAIN. Includes ISS recommendations and management recommendations. Use for 'how did funds vote on [company]', 'fund voting records', 'institutional votes', 'AGM voting', 'proxy votes'.
| Name | Required | Description | Default |
|---|---|---|---|
| vote | No | Filter by vote cast (FOR, AGAINST, ABSTAIN) | |
| year | No | Filter by year (e.g. '2024') or range (e.g. '2023-2025') | |
| ticker | Yes | NZX ticker symbol (e.g. 'AIR', 'FPH') | |
| fund_manager | No | Filter by fund manager name (e.g. 'Harbour', 'Devon', 'NZ Super') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that results include ISS recommendations and management recommendations, but does not mention data freshness, pagination, rate limits, or what happens if ticker is missing or invalid. This is adequate but not comprehensive for behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences followed by a list of use-case phrases. Each sentence adds crucial info: first defines core action and scope, second details output fields and sources. No wasted words; the structure front-loads the most important information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, one required, and no output schema, the description covers the output structure well (votes, recommendations). It does not discuss pagination, limits, or error handling, but the context is sufficient for common use cases. Slightly above average completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The description adds value beyond the schema by listing specific fund managers, explaining the output content (FOR, AGAINST, ABSTAIN, ISS and management recommendations), and providing usage examples. It enriches understanding without being redundant.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb and resource: 'Get actual voting records from NZ fund managers... for an NZX company.' It lists the exact fund managers and types of votes. The appending use-case phrases clearly distinguish this from sibling tools like get_proxy_report or list_voting_policies by focusing on actual vote records.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit query phrases in the last sentence, such as 'how did funds vote on [company]', which gives agents clear usage signals. However, it does not specify when not to use this tool or mention alternatives among siblings, leaving room for potential confusion in edge cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_governance_scorecardAInspect
Get a per-company governance scorecard with RAG (red/amber/green) ratings across 15 policy areas aligned with NZSA governance policies and the NZX Corporate Governance Code v1.7. Covers: remuneration disclosure, CEO rem structure, board independence, audit independence (non-audit >25% flag), director tenure (9yr threshold), board diversity (30% target), shareholder voting dissent (<75% threshold), ESG profile, capital management, takeover vulnerability, management credibility, succession readiness, audit firm tenure, director share ownership, whistleblowing. Returns overall score 0-100, individual policy assessments with scores and data. Use for 'governance scorecard for [company]', 'governance assessment', 'board governance quality', 'NZSA-aligned governance report'.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | NZX ticker symbol (e.g. 'FPH', 'AIR', 'SPK') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral aspects. It mentions return structure (overall score and individual assessments) but omits any mention of side effects, authentication needs, rate limits, or whether it is read-only. The description focuses on output content rather than behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: main purpose first, then detailed list of policy areas, return format, and usage examples. It is informative without being verbose. Minor improvement could be shortening the policy list, but each item adds context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (15 policy areas, 0-100 score, no output schema), the description provides sufficient detail: lists all covered areas, explains the RAG rating system, and describes return structure. Usage examples further complete the picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the single parameter (ticker) with a clear description. The tool description reinforces the per-company nature but adds no additional semantic detail beyond the schema. With 100% schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a per-company governance scorecard with RAG ratings across 15 specific policy areas. It distinguishes itself from siblings like get_governance_scores by providing an exhaustive list of covered topics and aligning with NZSA/NZX standards.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists example queries ('governance scorecard for [company]', 'governance assessment', etc.) and gives clear use cases. While it does not state when not to use, the examples effectively guide appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_governance_scoresBInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results (default 50) | |
| rating | No | Filter by rating tier | |
| sector | No | Filter by sector | |
| max_score | No | Maximum total GRS score | |
| min_score | No | Minimum total GRS score |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes the output format but does not disclose any behavioral traits such as data freshness, update frequency, or side effects. It is a read operation but not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with two information-dense sentences. It is front-loaded with the main purpose and efficiently covers components and ratings.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains return values and rating tiers, covering scope (130 companies). However, it lacks usage guidelines and behavioral transparency, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters. The description adds minimal extra meaning beyond the schema, providing context on rating tiers but not on parameter usage. Baseline is 3 due to full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets Governance Risk Scores for NZX companies with specifics on components and rating scale. It is clear but does not explicitly differentiate from the similar sibling tool 'get_governance_scorecard'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not provide context for selecting this tool over other governance-related tools like 'get_governance_scorecard'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_insider_tradesAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date in YYYY-MM-DD format | |
| from | No | Start date in YYYY-MM-DD format | |
| type | No | Filter by transaction type (e.g. 'Buy', 'Sell', 'Exercise') | |
| limit | No | Number of results (default 50, max 100) | |
| ticker | No | Filter by company ticker (e.g. 'AIR', 'FPH') | |
| director | No | Filter by director slug (e.g. 'john-smith') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full behavioral disclosure. It only states that it 'Shows who is buying and selling' without detailing authentication needs, rate limits, pagination, or response format. This leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loading the purpose and then adding data volume and filter options. Every sentence is informative with no repetition or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers core functionality and filter options, and implies output fields (who, amount, price). However, without an output schema, it does not specify exact response structure or pagination, leaving some incompleteness for a tool with 6 parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter described. The tool description adds context about filter types (e.g., Buy/Sell/Exercise) but does not cover all parameters (e.g., limit is omitted). The added value is minimal beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'insider (director) share transactions for NZX companies', specifying the dataset (4,100+ trades, buy/sell/exercise). It distinguishes from sibling tools by its focus on insider trades, which is not covered by other get_* tools like get_director or get_company.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists filter options (ticker, type, date range, director) that indicate when to use the tool, but it does not explicitly contrast with alternatives or state when not to use it. The purpose is self-contained, so an agent can infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_iod_designationsAInspect
Get Institute of Directors (IoD) designated directors serving on NZX boards. Shows CFInstD (Chartered Fellow — highest designation), CMInstD (Chartered Member), CDir (Chartered Director), and MInstD (Member). Returns current board seats, chair status, gender, and summary statistics. Use for 'IoD directors at [company]', 'chartered directors', 'governance credentials', 'CFInstD directors', 'professional director qualifications'.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Search by director name | |
| limit | No | Number of results (default 50) | |
| ticker | No | Filter by NZX ticker to see IoD directors at a specific company (e.g. 'FPH') | |
| designation | No | Filter by IoD designation: 'CFInstD', 'CMInstD', 'CDir', 'MInstD' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It lists the return data but does not disclose any behavioral traits such as rate limits, authentication requirements, or whether the data is cached or live. For a read-only retrieval tool, this is moderate but could be improved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that front-loads the main action and lists key details. It is reasonably concise with no unnecessary repetition, though it could be slightly tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains what the tool returns (board seats, chair status, gender, statistics), which is helpful given no output schema. It covers the main aspects needed for an agent to understand the tool's output, though it omits details like pagination or result ordering.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so each parameter is already documented. The description adds some context by mentioning example designations and a company ticker example, but it does not provide significant additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the tool's function: retrieving IoD designated directors on NZX boards. It lists the specific designations (CFInstD, CMInstD, CDir, MInstD) and the data returned (current board seats, chair status, gender, summary statistics). This makes it distinct from sibling tools that focus on other financial or governance data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides example queries like 'IoD directors at [company]' but does not explicitly state when to use this tool versus sibling tools or when not to use it. The context of sibling tools suggests differentiation, but no direct guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ir_qualityAInspect
Get the IR (Investor Relations) disclosure quality score for an NZX company. Scores 5 dimensions: Timeliness (OECD/NZX Rule 10.4.1), Completeness (CFA DQI/S&P T&D), Readability (Loughran-McDonald proxy), Frequency (NIRI Standards), Governance Transparency (S&P T&D/GRS v2). Composite score 0-100, rating A+ to D, trajectory improving/stable/declining. 131 issuers scored. Use for 'how good is [company] at disclosure?', 'IR quality for [company]', 'disclosure quality', 'transparency score'.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | NZX ticker symbol (e.g. 'AIR', 'FPH', 'MEL') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It correctly implies a read-only query ('Get...') and describes the output components (composite score, rating, trajectory). However, it lacks details such as error handling for invalid tickers, data freshness, or any potential side effects, which are important for safe agent execution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized: it begins with the core purpose, then lists dimensions, then summarizes the output, and ends with example queries. Every sentence is informative and contributes to understanding. It is concise enough for quick scanning while providing substantial detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 parameter, no output schema), the description provides sufficient context: it explains what the score measures, how it is composed, and example outputs. However, it omits error behavior (e.g., what happens if the ticker is not found) and does not specify the exact response structure, which would help an agent parse results reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for the only parameter (ticker). The tool description does not add any additional meaning beyond what the schema already provides (e.g., it doesn't explain ticker format beyond examples). Since the schema already documents the parameter adequately, the description adds minimal value here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description immediately states the tool's action: 'Get the IR disclosure quality score for an NZX company.' It specifies the resource (IR disclosure quality score), the target (NZX company), and even enumerates the five dimensions and output format. This level of detail leaves no ambiguity about the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes example user intents ('Use for...'), which helps an agent recognize when to invoke this tool. However, it does not explicitly state when not to use it or contrast it with siblings like get_governance_scorecard or get_accounting_quality, leaving some room for ambiguity in complex scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_management_teamAInspect
Get the management team (C-suite executives) for an NZX company. Returns current CEO, CFO, COO, CTO, and other senior executives with roles, tenure, biographies, and profile links. 127 issuers covered, 508 current executives across 15 normalized roles (CEO, CFO, COO, CTO, CIO, CLO, CPO, CMO, CRO, CDO, CS, GM, VP, MD, Other). Use for 'who is the CEO of [company]?', 'management team for [ticker]', 'C-suite at [company]', 'executive leadership'.
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | Filter by normalized role (e.g. 'CEO', 'CFO', 'COO', 'CTO') | |
| ticker | Yes | NZX ticker symbol (e.g. 'FPH', 'AIR', 'SPK') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It mentions data coverage (127 issuers, 508 executives) and return fields (roles, tenure, biographies, profile links). However, it lacks details on data freshness, authentication, rate limits, or error handling, leaving some transparency gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph with no wasted words. It front-loads the main purpose and includes relevant stats and examples. Slight improvement possible with bullet points, but overall concise and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple data retrieval tool with two parameters and no output schema, the description covers the main aspects: what is returned, coverage, and example queries. Missing details on sorting, pagination, and error cases, but adequate for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds value by listing all 15 normalized roles (beyond schema examples) and clarifying the role filter's purpose, enhancing parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the management team (C-suite executives) for an NZX company. It specifies the verb 'Get' and resource 'management team', and provides example queries that differentiate it from sibling tools like get_directors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists concrete use cases (e.g., 'who is the CEO of [company]?') which guides when to use this tool. However, it does not explicitly exclude alternative tools or mention scenarios where it should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_signalsAInspect
Get the Market Intelligence Feed — a unified stream of all NZX market events: 10 signal types including insider trades, capital raises, dividends, earnings releases, AGM results, director changes, governance score changes, technical signals (golden/death cross, RSI extremes), credit rating changes, and auditor changes. Sorted by date descending. Use for 'what happened on the NZX today/this week?', 'any golden crosses?', 'credit rating changes?', or 'market activity for [company]'.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Days to look back (default 180). Use 7 for 'this week', 1 for 'today'. | |
| type | No | Comma-separated signal types: insider_trade, capital_raise, dividend, earnings, agm_result, director_change, grs_change, technical_signal, credit_rating, audit_change | |
| limit | No | Max results (default 50) | |
| sector | No | Filter by sector (e.g. 'Energy', 'Healthcare') | |
| ticker | No | Filter by company ticker (e.g. 'AIR', 'MEL') | |
| significance | No | Filter by significance: high, medium, low |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the output is sorted by date descending and lists the types, but does not explicitly declare whether the tool is read-only, has side effects, rate limits, or authorization needs. The description is adequate but could be more transparent about safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, with the first sentence defining the tool and the second providing usage examples. It is front-loaded, has zero unnecessary words, and earns every sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 optional parameters, no output schema, and no annotations, the description covers the tool's purpose, usage examples, and parameter hints. It lists all signal types and common queries. However, it could improve by briefly describing the output structure (e.g., each result has a type, date, company) since there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds practical usage hints for the 'days' parameter (e.g., 'Use 7 for this week') and lists the possible values for 'type', but most parameter descriptions in the schema are already self-explanatory. The description adds marginal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a clear verb ('Get') and specific resource ('Market Intelligence Feed'), listing 10 exact signal types. It distinguishes from sibling tools by offering a unified stream of multiple event types, which is unique among the many tool names for individual signals like get_insider_trades or get_technical_signals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit example queries ('what happened on the NZX today/this week?', 'any golden crosses?') and parameter hints ('Use 7 for 'this week', 1 for 'today''). It implies when to use (broad overview) vs. individual sibling tools, but lacks explicit when-not guidance or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_officer_historyAInspect
Get the full historical officer timeline for an NZX company — every director and executive who has ever held a role, with start/end dates, tenure, status, and committees. Includes both board members (from director_appointments) and C-suite executives (from management_team). Each officer carries a stable permanent_id (NZX-P-NNNNNN) for cross-referencing across NZXplorer. Use for questions about past leadership, board turnover, executive churn, board refreshment, or who used to run a company.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Only appointments effective on/before this date (YYYY-MM-DD) | |
| from | No | Only appointments effective on/after this date (YYYY-MM-DD) | |
| role | No | Filter by role keyword (comma-separated): 'chair,ceo,cfo,director' | |
| type | No | Filter by officer type: 'board', 'executive', or 'all' (default 'all') | |
| status | No | Filter by status (comma-separated): 'current,resigned,retired' | |
| ticker | Yes | NZX ticker symbol (e.g. 'FPH', 'AIR', 'SPK') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool returns both board and executive roles, includes tenure, status, committees, and a stable permanent_id for cross-referencing. It implies a read-only operation but does not mention pagination or rate limits. Overall, it provides good behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with three sentences that directly state the tool's purpose, scope, and usage. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description thoroughly explains what is returned (every director and executive with start/end dates, tenure, status, committees, permanent_id). This is sufficient for an agent to understand the tool's output without needing an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (all 6 parameters have descriptions in the input schema). The description does not add significant meaning beyond the schema; it reiterates the 'from','to','role','type','status' filters without much elaboration. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the full historical officer timeline for an NZX company, specifying it includes both directors and executives. It distinguishes from siblings like get_management_team and get_directors by emphasizing historical data and cross-referencing with permanent_id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists use cases such as 'past leadership, board turnover, executive churn, board refreshment, or who used to run a company.' It does not explicitly mention when NOT to use it or point to alternatives, but the provided use cases are sufficient guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_peer_mentionsAInspect
Get peer mentions for an NZX company — cross-company references extracted from 62,000+ NZX announcements. Shows which companies mention this ticker and which companies it references, with context snippets and network summary. Use for 'who mentions [company]?', 'business relationships for [company]', 'competitive peers', 'peer network'.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | NZX ticker symbol (e.g. 'AIR', 'FPH', 'SPK') | |
| direction | No | Filter: 'mentions' (who this company references), 'mentioned_by' (who references it), or 'both' (default) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It mentions the data source (62,000+ NZX announcements) and output (context snippets, network summary), but lacks details on data freshness, error handling, or limitations. This is adequate but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (3 sentences) and front-loaded: the first sentence states the main purpose. There is no unnecessary information, and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only 2 parameters and no output schema, the description is sufficiently complete. It explains what the tool does, provides example queries, and mentions the output format (context snippets, network summary). No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description adds example usage and context (e.g., 'NZX ticker symbol') but does not significantly enhance understanding beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets peer mentions for an NZX company, specifying the resource (NZX announcements) and scope (cross-company references). It distinguishes itself from sibling tools by focusing specifically on peer networks, which no other sibling does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit example queries ('who mentions [company]?', 'business relationships', etc.) that indicate when to use. However, it does not explicitly state when not to use or mention sibling alternatives, which would improve guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_performanceAInspect
Get stock performance metrics for an NZX company. Returns price returns (1D, 1W, 1M, 3M, 6M, 1Y, 3Y, 5Y), alpha vs NZX50 benchmark, sector alpha, volatility, beta, 52-week high/low, and market capitalization. Updated daily.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | NZX ticker symbol (e.g. 'AIR', 'FPH', 'MEL') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations were provided, so the description carries the full burden. It states 'Updated daily', which implies timeliness, but does not mention authentication needs, rate limits, or side effects. For a read-only tool, this is adequate but could be more explicit about read-only nature or data coverage limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence followed by a concise list of metrics. Every word contributes value, with no redundancy or fluff. Information is front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one parameter and no output schema, the description lists all returned metrics, which provides substantial contextual completeness. However, it does not describe the return structure (e.g., JSON format, keys), which would be helpful for agents to parse the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for the single parameter 'ticker' with examples. The description adds no further semantics beyond affirming that it is for NZX companies. At high schema coverage, a score of 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool retrieves stock performance metrics for NZX companies and lists the specific metrics returned. This clearly distinguishes it from sibling tools like 'get_stock_prices' or 'get_market_signals' by focusing on performance ratios and benchmarks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for NZX stock analysis by listing NZX-specific metrics, but it does not provide explicit guidance on when to use this tool versus alternatives such as 'get_stock_prices' or 'get_technical_signals'. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_political_connectionsAInspect
Get political connections for an NZX company. Returns MP interests (gifts, hospitality, shareholdings, travel mentioning this company from the NZ Parliamentary Register of Interests), political donors linked to the company or its directors, and party donation records from the Electoral Commission (2019-2024). Use for 'political connections for [company]', 'which MPs are connected to [company]?', 'do any directors donate to political parties?', 'political exposure'.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | NZX ticker symbol (e.g. 'SKC', 'AIR', 'SAN') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It transparently outlines the types of data returned (MP interests, donors, donation records) and the time range. It omits potential details like pagination or rate limits, but for a simple read-only query, it is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three sentences, front-loading the purpose and providing examples. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter, no annotations, and no output schema, the description provides sufficient context about the data returned and example use cases. It could mention result structure or limits but is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (ticker parameter is well-described). The description does not add additional parameter semantics, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves political connections for an NZX company, listing specific data sources (MP interests, political donors, party donation records). This distinguishes it from sibling tools focusing on financials or governance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit example queries ('political connections for [company]', 'which MPs are connected to [company]?') and specifies the donation date range (2019-2024). It lacks explicit when-not-to-use guidance but is clear enough for the intended use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_property_portfolioAInspect
Get property portfolio data for an NZX-listed REIT or property company. Returns individual properties with addresses, book values, cap rates, WALE, occupancy, major tenants, geocoded locations, plus summary stats (total value, avg cap rate, avg WALE, avg occupancy), type/regional breakdowns, top tenants, and development pipeline. Covers ~10 property companies (KPG, ARG, PFI, VHP, IPL, SPG, CDI, GMT, PCT, APL). Use for 'property portfolio', 'REIT assets', 'commercial property', 'cap rate', 'WALE', 'occupancy', 'tenant exposure'.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | NZX ticker symbol (e.g. 'KPG', 'GMT', 'PFI', 'ARG') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It details the data returned but lacks information on permissions, rate limits, data freshness, or any side effects. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two well-structured sentences: first states purpose, second elaborates on returned data and use cases. No unnecessary words; all sentences are informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool returns many fields (individual properties, summaries, breakdowns) and there is no output schema, the description covers key aspects thoroughly. However, it omits details like data freshness or potential error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the only parameter 'ticker'. The description adds value by providing example tickers and clarifying the ticker is an NZX symbol, going beyond the schema's basic description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves property portfolio data for NZX-listed REITs, listing specific outputs and covered companies. It uses a specific verb and resource, and distinguishes from siblings by its focus on property portfolios.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage context by listing example queries ('REIT assets', 'cap rate', etc.), but does not mention when not to use or suggest alternative tools among the many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_proxy_reportAInspect
Get automated proxy advisory voting recommendations for a company's AGM resolutions. Analyses board composition, remuneration, auditor independence, capital management, constitution changes, related-party transactions, and shareholder proposals against configurable voting policies (8 presets including NZ Super Fund, ISS NZ Benchmark, Russell Investments NZ, Vanguard AU/NZ). Returns FOR/AGAINST/REFER per resolution with severity, reasoning, and data points. Use for 'how should I vote at [company] AGM?', 'proxy report for AIR', 'voting recommendations for MEL'.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Meeting year to filter resolutions (e.g. '2025'). Default: latest | |
| ticker | Yes | Company ticker (e.g. 'AIR', 'MEL', 'FPH') | |
| meeting_id | No | Specific meeting ID if known |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description adequately discloses behavior: it is a read operation returning FOR/AGAINST/REFER with reasoning. It mentions configurable voting policies and presets. However, it does not explicitly state that it is non-destructive or discuss rate limits, but the 'Get' verb implies read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured paragraph that front-loads the main purpose, then details analyses, policies, return format, and example usage. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the return format (FOR/AGAINST/REFER with severity, reasoning, data points) and mentions configurable policies, which compensates for the lack of an output schema. It is complete enough for an agent to understand inputs, outputs, and usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for each parameter (ticker, year, meeting_id). The tool description adds context like example tickers and the default for year, but does not significantly enhance the schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Get automated proxy advisory voting recommendations for a company's AGM resolutions.' It also lists the analyses performed and the return format, clearly distinguishing this tool from sibling tools like list_voting_policies or get_governance_scores.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases such as 'how should I vote at [company] AGM?' and example queries like 'proxy report for AIR'. It does not specify when not to use or give alternatives, but the context is clear enough for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_research_briefingAInspect
Get a comprehensive investment research briefing for an NZX company. Assembles data from 15+ sources (governance, financials, insider activity, dividends, board, earnings, credit, performance, capital raises, announcements) with AI narrative synthesis. Supports 4 templates: 'general' (default), 'investment_thesis', 'due_diligence', 'board_meeting'. Use for 'research report on [company]', 'investment thesis for [ticker]', 'due diligence on [company]', 'company research briefing'.
| Name | Required | Description | Default |
|---|---|---|---|
| focus | No | Comma-separated focus areas (e.g. 'dividends,governance,insider activity') | |
| ticker | Yes | NZX ticker symbol (e.g. 'FPH', 'AIR') | |
| template | No | Research template (default: 'general') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool assembles data from 15+ sources and performs AI narrative synthesis, indicating a read operation. However, it does not mention auth requirements, rate limits, or potential side effects, making it adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences plus a usage line, front-loading the purpose. Every sentence adds value, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three parameters and no output schema, the description covers the tool's purpose, data sources, templates, and usage examples. It could detail the output structure, but the name and description imply a briefing, which is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all three params described). The description adds context on templates and focus areas but does not significantly enhance meaning beyond the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get a comprehensive investment research briefing for an NZX company.' It lists data sources (governance, financials, etc.) and mentions AI narrative synthesis. This distinguishes it from the many specific sibling tools (e.g., get_financials, get_governance_scorecard).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage examples ('Use for 'research report on [company]', ...') and lists four templates with contexts. It does not explicitly exclude use cases or compare to siblings, but the examples effectively guide the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_revenue_segmentsAInspect
Get revenue segment breakdown for an NZX company. Returns IFRS 8 operating, geographic, or product segment data including segment revenue, operating profit, assets (all in NZD thousands), and revenue percentage. Extracted from annual report PDFs. Use for 'revenue breakdown for [company]', 'business segments', 'divisions', 'product groups', 'geographic revenue split', 'segment analysis'. Multi-segment companies like FPH (Hospital/Homecare), MEL (Wholesale/Retail), FBU (Building Products/Construction/Distribution).
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Segment type filter: operating, geographic, product | |
| year | No | Filter by year (e.g. '2025') or range (e.g. '2020-2025') | |
| limit | No | Number of results (default 50) | |
| ticker | Yes | NZX ticker symbol (e.g. 'FPH', 'SKC', 'MEL', 'FBU') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses data source (annual report PDFs) and currency (NZD thousands), but lacks details on limitations (e.g., year range, company eligibility, error behavior). The transparency is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, with the first sentence stating the core purpose. Subsequent sentences detail return data, usage prompts, and examples. It is front-loaded and efficient, with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description should clarify the response structure. It mentions data fields but not whether the response is an array or how segments are organized. The description is sufficient for basic use but leaves ambiguity about the exact return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds context by providing example tickers (FPH, MEL, FBU) and explaining that type can be operating, geographic, or product. It does not add significant new meaning beyond the schema, but reinforces the parameter purposes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns revenue segment breakdown for NZX companies, lists the types of segments (operating, geographic, product) and data fields (revenue, profit, assets, percentage). It differentiates from sibling tools like get_earnings or get_financials by focusing specifically on segment data, though it does not explicitly name siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides example user queries ('revenue breakdown for [company]', 'business segments') that guide when to use this tool. It does not explicitly state when not to use it or compare to alternatives, but the examples give clear context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_risk_languageAInspect
Get pre-computed risk language scores for an NZX company. Scans 64,000+ announcements for 8 risk categories: going_concern, covenant, impairment, litigation, restructuring, liquidity, regulatory, force_majeure. Returns total mentions, 12-month trend, category breakdown, critical flags, first-time detections, and yearly trend. Use when asked about risk factors, going concern warnings, covenant issues, litigation exposure, or regulatory risk.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | NZX ticker symbol (e.g. 'FBU', 'AIR', 'MEL') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. However, it only describes what the tool returns, not its behavior (e.g., destructive actions, authentication needs, rate limits, or side effects). It implies a read-only operation but does not explicitly state it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of three sentences that front-load the purpose, then detail the categories and return metrics, and end with usage guidance. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description adequately explains what is returned (total mentions, trend, category breakdown, critical flags, etc.). However, it lacks specifics on the output format or structure, which would be helpful for an agent. Given the single-parameter simplicity, it is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter 'ticker', with a clear description of NZX ticker examples. The description does not add any additional meaning beyond what the schema already provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets pre-computed risk language scores for NZX companies, enumerating 8 risk categories. It is specific about the resource (NZX company) and actions (scan announcements, return metrics). However, it does not explicitly differentiate from sibling tools like get_announcement_sentiment or check_insolvency_status, though the focus on risk language categories is distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use when asked about risk factors, going concern warnings, covenant issues, litigation exposure, or regulatory risk,' providing clear context for when to invoke this tool. It does not mention when not to use it or suggest alternatives, which would improve the score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_semantic_searchAInspect
Search 64,000+ NZX announcements using AI semantic search. Uses text-embedding-3-small vectors with hybrid keyword+semantic+reranking for best results. Finds conceptual matches that keyword search misses (e.g. 'climate risk' finds 'environmental exposure'). Returns relevance-ranked results with similarity scores and text snippets.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query (e.g. 'climate risk disclosure', 'CEO succession planning', 'covenant breach') | |
| to | No | End date in YYYY-MM-DD format | |
| from | No | Start date in YYYY-MM-DD format | |
| type | No | Filter by announcement type (e.g. 'GENERAL', 'FLLYR') | |
| limit | No | Number of results (default 10) | |
| ticker | No | Filter by company ticker (e.g. 'AIR') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the use of text-embedding-3-small vectors, hybrid keyword+semantic+reranking, and return format (relevance-ranked results with similarity scores and text snippets). It does not mention rate limits or authentication, but the core behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences with no waste. The first sentence states the purpose, the second explains the technology, and the third gives a concrete example. Every sentence is essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (semantic search with 6 parameters) and no output schema, the description covers return format and provides parameter context. It is complete enough for an agent to understand and use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions, and the tool description adds extra context beyond the schema. For example, it provides example queries for 'q' and states the default limit (10) which the schema only defines as min/max. This adds meaningful value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Search 64,000+ NZX announcements using AI semantic search', providing a specific verb and resource. It differentiates from sibling tools like search_announcements by highlighting conceptual matching that keyword search misses, as shown in the example.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Finds conceptual matches that keyword search misses' with an example, indicating when to use this tool over keyword search. However, it does not explicitly list alternatives or state when not to use it, leaving some room for interpretation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stewardship_reportAInspect
Get full detail for a specific stewardship report by ID, including per-company resolution analysis, vote recommendations, and the policy used. Enterprise tier required.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Stewardship report ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the enterprise tier requirement, which is a behavioral constraint, but does not mention error handling, idempotency, or other side effects. For a read-only operation, this is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main verb and resource. Every sentence provides essential information with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single parameter and no output schema, the description covers the tool's action, key output fields, and a usage requirement. It lacks details on error responses or exact output structure, but is sufficient for a simple retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a basic description for the 'id' parameter. The description adds context by specifying what the returned detail includes, but does not add new semantic constraints or formats beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('get full detail'), the resource ('specific stewardship report by ID'), and the contents (resolution analysis, vote recommendations, policy). It distinguishes from siblings like 'list_stewardship_reports' and 'get_proxy_report'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies using when full detail of a specific report is needed, and mentions 'Enterprise tier required' as a usage constraint. However, it does not explicitly compare to alternatives like 'list_stewardship_reports'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stock_pricesAInspect
Get historical daily stock prices for an NZX company. Returns OHLCV data (open, high, low, close, volume) in NZD.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date in YYYY-MM-DD format | |
| days | No | Number of trailing days of data (default 365) | |
| from | No | Start date in YYYY-MM-DD format | |
| limit | No | Maximum data points to return (default 365, max 2000) | |
| ticker | Yes | NZX ticker symbol (e.g. 'AIR', 'FPH') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the return type (OHLCV in NZD) and frequency (daily), but omits details such as data source, timezone, handling of missing data, interaction between parameters (e.g., from vs days), pagination, or rate limits. The description adds some value but is not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the action and resource, and includes key details about the return data. It is concise and efficient, though could benefit from a second sentence clarifying parameter usage. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters and no output schema, the description is moderately complete. It states the market and return format, but does not explain how to specify date ranges or the behavior of parameters like 'from' vs 'days'. The 100% schema coverage mitigates some gaps, but the description alone is insufficient for full understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add any meaning beyond the schema; it only implies the ticker parameter via 'for an NZX company'. No additional context on parameter usage or relationships is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', the resource 'historical daily stock prices', and the scope 'for an NZX company'. It also specifies the return format (OHLCV in NZD), making it unambiguous and distinguishing it from siblings like 'get_daily_market_wrap' which likely provides a summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates usage for historical price data of NZX companies, but does not explicitly state when to use this tool versus alternatives (e.g., 'get_daily_market_wrap' for summaries or 'get_fair_value' for valuations). No when-not-to-use or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_substantial_holder_noticesAInspect
Get classified substantial holder notices (SPH) for an NZX company. Returns all substantial product holder notices with extracted holder names, percentage holdings, direction (increase/decrease/initial/ceased), and fund manager matching. 9,700+ notices classified from NZX SHINTR announcements. Use for 'substantial holders of [ticker]', 'SPH notices', 'who increased holdings in [company]?', 'recent ownership changes', 'substantial product holder movements'.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 50) | |
| ticker | Yes | NZX ticker symbol (e.g. 'FPH', 'AIR', 'SPK') | |
| direction | No | Filter by direction of holding change |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description adequately discloses that the tool is read-only and returns extracted data with details like holder names, percentages, and direction. It mentions the data source (NZX SHINTR announcements) and scale (9,700+ notices), but does not address authentication or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise with a clear purpose statement upfront, but contains a minor inconsistency by repeatedly referring to 'substantial product holder notices' instead of 'substantial holder notices'. This could cause confusion.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description adequately explains the return data (holder names, percentages, direction, fund manager matching). It mentions the scale and input parameters. However, it does not specify pagination behavior or whether results are limited to recent notices.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters have schema descriptions, achieving 100% coverage. The tool description adds context through example values and use cases, but does not significantly enhance understanding beyond the schema definitions. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves classified substantial holder notices for an NZX company, listing specific output fields. It distinguishes from sibling tools by focusing on a niche financial data type (SPH notices) not covered by other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit example queries (e.g., 'substantial holders of [ticker]', 'who increased holdings') indicating when to use the tool. However, it lacks negative guidance or comparisons to alternative tools, which could improve clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_takeoversAInspect
Get M&A and takeover activity for NZX companies. 313 deals across 51 issuers (2017-2026). 11 deal types: takeover_offer, acquisition, scheme_of_arrangement, merger, asset_acquisition, property_acquisition, compulsory_acquisition, and more. Returns acquirer, target, deal type, offer price, premium, status, acceptance %, key dates, and conditions. Use for 'any takeover activity for [company]?', 'recent M&A deals', 'scheme of arrangement history'.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Filter by year (e.g. '2025') or range (e.g. '2020-2025') | |
| status | No | Filter by deal status (e.g. 'completed', 'active', 'lapsed', 'withdrawn') | |
| ticker | Yes | NZX ticker symbol of the target company (e.g. 'THL', 'NZM', 'TRA') | |
| deal_type | No | Filter by deal type: takeover_offer, acquisition, scheme_of_arrangement, merger, asset_acquisition, property_acquisition, compulsory_acquisition |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It describes the tool as read-only (getting data) and lists returned fields, but does not disclose potential restrictions, authentication needs, rate limits, or data freshness. This adds context but has gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise yet informative, front-loaded with purpose, followed by supporting details and examples. Every sentence adds value, and the structure is logical and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, no output schema, no annotations), the description is remarkably complete. It explains the data scope, fields returned, and provides usage examples, adequately covering the agent's needs for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value by listing deal types explicitly and providing example usage that implies parameter combinations. It goes beyond the schema by giving context (e.g., year can be range).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get M&A and takeover activity for NZX companies', specifying the resource and action. It includes specific statistics (313 deals, 51 issuers, time range) and lists deal types, distinguishing it from sibling tools that focus on other data like insolvency or accounting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides example queries ('any takeover activity for [company]?', 'recent M&A deals', 'scheme of arrangement history'), indicating when to use the tool. However, it does not explicitly state when not to use it or mention alternative tools, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_technical_signalsAInspect
Get technical analysis indicators for an NZX company. Returns SMA-50/100/200 moving averages, RSI-14 momentum, golden/death cross signals, distance from 52-week high/low, and volume ratios. Updated daily. 127/130 companies covered.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | NZX ticker symbol (e.g. 'AIR', 'FPH', 'MEL') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool is a read operation, returns specific indicators, is updated daily, and covers 127 out of 130 companies. However, it does not mention authentication requirements or potential rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences: the first states the purpose, the second lists the outputs, and the third provides update frequency and coverage. No extraneous text. Information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description adequately covers what the tool returns by listing indicators, along with coverage and update frequency. It could briefly mention the response format, but the list of indicators suffices.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the single 'ticker' parameter with a clear description, and the description adds example ticker symbols (AIR, FPH, MEL), enhancing understanding. No additional parameter details are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns technical analysis indicators for NZX companies, listing specific indicators (SMA-50/100/200, RSI-14, golden/death cross, etc.). It is distinct from sibling tools like get_accounting_quality or get_market_signals, which focus on different aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for obtaining technical signals but does not explicitly state when to use it versus alternatives or when not to use it. No exclusions or prerequisite conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_alert_subscriptionsAInspect
List all alert subscriptions for the authenticated user. Each subscription filters market signals and anomalies by tickers, sectors, signal types (insider_trade, capital_raise, dividend, earnings, agm_result, director_change, grs_change, technical_signal, credit_rating, audit_change, takeover), anomaly categories (insider, governance, financial, market, agm, corporate), and severity levels — then delivers via webhook with HMAC-SHA256 signing. Enterprise tier required.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool reads authenticated user's subscriptions, describes the filtering parameters and delivery details, and indicates safe read-only behavior. However, it omits potential pagination, rate limits, or result ordering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two well-structured sentences. The first sentence delivers the core purpose immediately. The second sentence packs relevant details without redundancy. Every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description covers the tool's function (listing subscriptions), filtering capabilities, and delivery format. It mentions the Enterprise tier requirement. It lacks information on return format or pagination, but is largely complete for a listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters and schema coverage 100%. Per guidelines, 0 params baseline is 4. The description adds context about what the tool lists, but no parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all alert subscriptions for the authenticated user, specifying the verb 'list' and resource 'alert subscriptions'. It provides extensive details on filtering criteria (tickers, sectors, signal types, anomaly categories, severity) and delivery method (webhook with HMAC-SHA256), which distinguishes it from sibling tools that retrieve individual data items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives, such as create or modify subscription tools. It mentions 'Enterprise tier required' as a prerequisite but lacks context on when not to use or comparisons to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_stewardship_reportsAInspect
List FMA-compliant stewardship/voting-record reports for the authenticated user. Returns report summaries with vote counts, compliance rates, and period dates. Enterprise tier required.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states it lists reports and requires Enterprise tier, but does not disclose consequences of non-enterprise access, rate limits, pagination, or whether any data is mutated. Basic transparency but leaves gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no extra words, front-loaded with key information: action, resource, constraints, and output details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with no parameters and no output schema, description covers purpose, output fields, user scope, and tier requirement. Could mention pagination or ordering, but generally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, schema coverage 100%. Description adds value by specifying return content (vote counts, compliance rates, period dates) beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'List FMA-compliant stewardship/voting-record reports' with output specifics (summaries, vote counts, compliance rates, period dates) and distinguishes from sibling 'get_stewardship_report' by being a list operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'for the authenticated user' and 'Enterprise tier required', giving clear context. Does not mention when not to use or explicitly name alternatives, but sibling name implies that for a single report use get_stewardship_report.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_voting_policiesAInspect
List all custom voting policies for the authenticated user. Each policy defines threshold overrides for the proxy advisory engine (board independence, remuneration caps, tenure limits, gender diversity, etc.). Enterprise or Institutional tier required.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description bears full burden. It specifies the scope ('for the authenticated user') and the tier requirement, which are behavioral constraints. For a read-only list operation, this is adequate but lacks details like rate limits or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficiently written sentences with no fluff. First sentence states action and scope, second adds meaningful context about policy contents and tier requirement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description covers all essential aspects: purpose, scope, content of policies (threshold overrides), and access tier. No gaps are apparent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist (schema coverage 100%), and the description does not attempt to document any, which is appropriate. Baseline score of 4 applies as per guidelines for 0-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'List all custom voting policies' with a specific verb and resource. The description distinguishes this tool from siblings like 'list_stewardship_reports' or 'get_proxy_report' by focusing on custom policies for the authenticated user.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Indicates the required tier ('Enterprise or Institutional'), providing context for when the tool is accessible. However, it does not explicitly state when not to use this tool or suggest alternatives, but the tier requirement serves as a clear usage gate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screen_stocksAInspect
Screen NZX stocks using 87+ financial, governance, and technical metrics. Supports 12 smart presets (value, growth, quality, dividend_at_risk, insider_buying, capital_raise_likely, ceo_pay_for_failure, governance_laggards, oversold, overbought, golden_cross, below_200ma) and custom metric filters. Returns matching companies with selected columns, sorted by any metric. Use this to find stocks matching specific criteria like 'PE under 15 with dividend yield above 5%' or 'RSI below 30'.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search by company name or ticker | |
| sort | No | Sort by any column name (e.g. 'pe_ratio', 'market_cap', 'dividend_yield', 'rsi_14', 'grs_score') | |
| limit | No | Number of results (default 50, max 130) | |
| order | No | Sort order (default 'asc') | |
| filter | No | Custom metric filters as comma-separated conditions. Format: metric>value,metric<value. Examples: 'pe_ratio<15,dividend_yield>3', 'rsi_14<30', 'roe>15,debt_to_equity<1'. Operators: >, <, >=, <=, =. Available metrics include: pe_ratio, pb_ratio, dividend_yield, roe, roa, net_margin, revenue_growth_yoy, debt_to_equity, current_ratio, rsi_14, price_vs_sma200_pct, grs_score, insider_conviction_score, dividend_safety_score, and 70+ more. | |
| preset | No | Smart preset filter. Each preset applies specific metric filters and shows relevant columns. | |
| sector | No | Filter by sector (e.g. 'Energy', 'Healthcare', 'Property') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It states the tool returns matching companies with selected columns and sorted, but does not disclose default columns, pagination behavior, rate limits, or error handling, leaving gaps in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences that are front-loaded with the main action, includes a list of presets, and ends with usage examples. It is concise with no fluff, but could be slightly more structured for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (87 metrics, 7 optional parameters, no output schema), the description lacks details on output format, default columns, and parameter interactions (e.g., combining presets with custom filters). The limit parameter is mentioned but not how pagination works.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter already described; the description adds value by listing the 12 presets and giving usage examples, but does not detail preset meanings or how filters interact with presets, so it adds moderate additional meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Screen NZX stocks' with specific verb and resource, and distinguishes from sibling tools by focusing on a 87+ metric screening capability with 12 unique smart presets, which no other sibling tool provides.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises 'Use this to find stocks matching specific criteria' with examples, but does not specify when not to use this tool or mention alternative tools like get_fair_value or get_technical_signals for similar screening tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_announcementsAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date in YYYY-MM-DD format | |
| from | No | Start date in YYYY-MM-DD format | |
| type | No | Filter by announcement type (e.g. 'SHINTR', 'GENERAL', 'MEETING', 'DIVCASH', 'MKTUPDTE') | |
| limit | No | Number of results (default 20, max 100) | |
| search | No | Full-text search query (e.g. 'dividend', 'CEO appointment', 'capital raise') | |
| ticker | No | Filter by company ticker (e.g. 'AIR') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits like read-only nature, auth needs, or rate limits. It only mentions the data range and types but does not state whether it is a safe read operation or any side effects. The description lacks behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences: the first states the scope and search capability, the second lists types. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 6 parameters, no output schema, and no annotations, the description covers purpose and scope but lacks usage guidelines and behavioral transparency. It does not explain result format or the meaning of the limit parameter. Adequate but with gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds marginal value. It provides context about the data range (2017-2026) and lists example types, which gives meaning beyond the schema's parameter descriptions. However, the schema already documents parameters well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches NZX company announcements from 2017-2026, provides full-text search across titles, and lists example types. It effectively distinguishes itself from sibling tools like get_announcement_sentiment or get_companies by being a general search tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for searching announcements but does not explicitly state when to use this tool versus alternatives like get_announcement_sentiment or get_companies. No guidance is provided on when not to use it or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_keyword_trendsAInspect
Search any keyword or phrase across 64,000+ NZX company announcements and see how often it appears over time. Returns frequency by year, sector, and top companies. Like Google Trends for corporate filings. Use for 'when did companies start talking about AI?', 'which sector mentions climate risk most?', 'how often does restructuring appear in filings?'.
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | Keyword or phrase to search (e.g. 'artificial intelligence', 'restructuring', 'net zero', 'covenant breach') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It explains the output (frequency by year, sector, top companies) but does not disclose authentication needs, rate limits, data recency, or whether it is read-only. While not misleading, more behavioral context would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core action and results. Every sentence adds value: purpose, output format, analogy, and usage examples. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and no output schema. The description explains the return structure (frequency by year, sector, top companies) adequately. It does not mention limits or error conditions, but for a search tool, this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the single parameter 'keyword' with examples. The description adds context by specifying the scope (64,000+ NZX announcements) and providing usage examples, which adds value beyond the schema's description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: searching keywords across NZX announcements and returning frequency trends by year, sector, and top companies. It uses a Google Trends analogy and provides example queries, effectively distinguishing it from sibling tools like search_announcements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage examples ('when did companies start talking about AI?', 'which sector mentions climate risk most?'), guiding when to use. It does not explicitly state when not to use or mention alternatives, but the context of sibling tools implies differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool targets a specific resource or analysis dimension (e.g., get_board_changes vs get_board_skills_matrix), and descriptions clearly differentiate overlapping domains like director profiles, network, and workload. No two tools appear to serve the same purpose.
The vast majority of tools follow a 'get_noun' pattern, but there are a few outliers like 'check_insolvency_status', 'screen_stocks', and 'list_*' tools, breaking strict uniformity. The pattern is still predictable and readable.
With 58 tools, the server is extremely heavy for an MCP server. While each tool appears justified for deep NZX analysis, the count far exceeds typical scoping (3-15), placing a high burden on agent selection and user understanding.
The tool surface is remarkably comprehensive, covering company profiles, financials, governance, market data, announcements, sentiment, anomalies, and more. No obvious lifecycle gaps are apparent for the stated domain of NZX company analysis.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server giving AI agents one-connection access to China A-share market intelligence: financials,
Hosted MCP server for live public-data APIs and Skills for AI agents.
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
Related MCP Servers
- AlicenseBqualityCmaintenanceMCP server that provides AI assistants access to stock market data including financial statements, stock prices, and market news through a Model Context Protocol interface.112,282MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that integrates with the AlphaVantage financial data API, providing access to stock market data, technical indicators, and fundamental financial information.MIT
- AlicenseAqualityCmaintenanceProvides structured financial market data (stocks, ETFs, mutual funds, fundamentals, market indicators) to AI systems via MCP, enabling natural language access to financial datasets with both hosted and local deployment options.3120ISC
- AlicenseAqualityCmaintenanceAn MCP server that gives AI assistants direct, structured access to China A-share market data.3Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mambaventures/nzxplorer-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server