Skip to main content
Glama
mambaventures

NZXplorer MCP Server

NZXplorer MCP Server

Install in Cursor Install in VS Code Smithery npm version

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 mcp add nzxplorer -- npx -y nzxplorer-mcp

Claude Desktop / Windsurf / Goose

npx -y @smithery/cli@latest install @mambaventures/nzxplorer-mcp --client claude (replace claude with windsurf / goose)

Any client (Smithery)

Install via 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-mcp

Or install globally:

npm install -g nzxplorer-mcp

Available Tools (58)

Tool

Description

get_companies

List NZX companies with search and sector filters

get_company

Company detail by ticker — optionally include directors, financials, governance score, latest price

get_directors

Search directors by name or filter by company

get_director

Director profile with biography, appointments, insider trades, board fees, and executive compensation

get_stock_prices

Daily OHLCV price data with date range and lookback filters

get_governance_scores

Governance Risk Scores (0-100) for all 130 NZX companies across 6 components

search_announcements

Full-text search across 64,000+ NZX announcements (2017-2026)

get_insider_trades

Director share transactions — buys, sells, exercises. Filter by ticker, director, date, type

get_financials

Normalized financial statements — income, balance sheet, cash flow, ratios. FY2010-2025

get_earnings

Structured earnings results — revenue, profit, EPS, guidance. Extracted from NZX PDFs

get_dividends

Dividend history — DPS, imputation, DRP, payment dates. Plus dividend safety metrics

get_technical_signals

Technical indicators — SMA-50/100/200, RSI-14, golden/death cross, volume ratios

screen_stocks

Screen stocks using 87+ metrics, 12 smart presets, and custom filters (e.g. PE<15, RSI<30)

get_performance

Stock performance — returns (1D-5Y), alpha vs NZX50, volatility, beta, 52-week range

get_director_due_diligence

Comprehensive director due diligence report — 8 tables, 11 sections

get_market_signals

Market Intelligence Feed — 10 signal types, unified event stream across all NZX companies

get_anomalies

Anomaly detection — 12 types across 5 categories (insider, governance, financial, market, AGM)

get_proxy_report

Proxy advisory voting recommendations — FOR/AGAINST/REFER per AGM resolution with 34 rules, 8 policy presets

get_takeovers

M&A and takeover activity — 313 deals, 51 issuers, 11 deal types (2017-2026)

get_board_changes

Board changes — appointments, resignations, retirements. 1,242 changes across 105 issuers

get_board_composition_report

Board composition analytics — independence, diversity, tenure, skills, succession risk, peer comparison

get_accounting_quality

Accounting quality scores — Beneish M-score, Piotroski F-score, Altman Z-score, interest coverage, current ratio, overall rating

get_credit_ratings

Credit ratings from S&P, Moody's, Fitch, AM Best — rating, outlook, action, history

get_risk_language

Risk language scoring — 8 categories (going concern, covenant, litigation, etc.) across 64K+ announcements

search_keyword_trends

Keyword frequency trends across NZX announcements — like Google Trends for corporate filings

list_stewardship_reports

List FMA-compliant stewardship/voting-record reports (Enterprise)

get_stewardship_report

Full stewardship report detail with per-company resolution analysis (Enterprise)

list_voting_policies

List custom voting policies for the proxy advisory engine (Enterprise/Institutional)

get_revenue_segments

Revenue segment breakdown — IFRS 8 operating, geographic, product segments

list_alert_subscriptions

List alert subscriptions — 11 signal types, 6 anomaly categories, HMAC-SHA256 webhooks (Enterprise)

get_capital_raises

Capital raise history — 11,088 events across 130 issuers (placements, rights, SPPs, buybacks, DRPs)

get_semantic_search

AI semantic search across 64K+ announcements — hybrid keyword+vector+reranking

get_iod_designations

IoD designated directors — CFInstD, CMInstD, CDir, MInstD credentials on NZX boards

get_board_skills_matrix

Board skills matrix — 12 IoD NZ/ASX categories, gap analysis, diversity score

get_research_briefing

Investment research briefing — 15+ data sources, AI narrative, 4 templates (general/thesis/DD/board)

get_fund_votes

Fund manager voting records — Harbour, Devon, Mint, Fisher, NZ Super Fund. FOR/AGAINST/ABSTAIN per resolution

get_deal_advisers

Deal advisers — law firms, investment banks, valuers who advised on capital raises and takeovers

get_company_directorships

Full directorship history from NZ Companies Register — NZX + private companies, status, failure rate

get_director_workload

Workload analysis — NZX board seats, Companies Office roles, overboarding risk, attendance, tenure

get_director_network

Cross-directorship and board interlock analysis — company, director, or NZX-wide mode

get_board_pipeline

Directors who recently freed up capacity — resignations, retirements, available talent for recruitment

get_financials_xbrl

Machine-readable iXBRL income/balance/cash-flow with IFRS taxonomy tags. 116 companies, FY2010-2025

get_esg_xbrl

Machine-readable NZ CS 1-3 tagged ESG/climate disclosure — Scope 1/2/3 emissions, diversity, safety, GRI/TCFD/SBTi/SDG

get_announcement_sentiment

AI-scored sentiment (-1 to +1) for NZX announcements with confidence, hedging, buried risks, guidance direction

get_ir_quality

IR disclosure quality score (0-100) — 5 dimensions: Timeliness, Completeness, Readability, Frequency, Governance Transparency

get_peer_mentions

Cross-company references extracted from 62,000+ NZX announcements — who mentions whom, with context snippets

get_political_connections

MP interests, political donors, and party donations linked to an NZX company or its directors

get_management_team

Current C-suite (CEO/CFO/COO/CTO/etc.) with roles, tenure, biographies. 127 issuers, 508 executives

get_beneficial_ownership

See through custodian nominees to fund managers behind NZX shareholdings. 56 fund managers, KiwiSaver/ETF/sovereign

get_substantial_holder_notices

Classified SPH notices with extracted holders, %, direction (increase/decrease/initial/ceased). 9,700+ notices

get_corporate_giving

Corporate donations, sponsorships, community investment — recipients, amounts, types, charity cross-links

get_property_portfolio

REIT/property-company portfolios — addresses, book values, cap rate, WALE, occupancy, tenants, dev pipeline

get_fair_value

Estimated fair value per share via DCF + Dividend Discount + EV/EBITDA models. Estimate, not a target price

get_governance_scorecard

Per-company governance scorecard — 15 NZSA/NZX-aligned policy areas with RAG ratings and overall 0-100 score

check_insolvency_status

MBIE Insolvency Register lookup — bankruptcy, no-asset procedures, summary instalment orders by person slug

get_officer_history

Full historical officer timeline for a company — every director + executive who ever held a role, with start/end dates, tenure, committees, status

get_compensation_benchmark

P10/P25/P50/P75/P90 compensation percentiles for a role (CEO/CFO/COO/Chair/Director/etc.) across NZX, with sector + market-cap-tier breakdowns

get_daily_market_wrap

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

NZXPLORER_API_KEY

Yes

Your API key from nzxplorer.co.nz/developers

NZXPLORER_API_URL

No

Override API base URL (default: https://nzxplorer.co.nz)

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 tools
check_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesPerson slug from NZXplorer (e.g. 'john-smith')

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoFilter by year: single year (e.g. '2024') or range (e.g. '2020-2024')
limitNoNumber of results (default 50)
tickerYesNZX ticker symbol (e.g. 'AIR', 'FPH', 'MEL')

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoEnd date (YYYY-MM-DD)
fromNoStart date (YYYY-MM-DD)
limitNoMax results (default 20)
tickerYesNZX ticker symbol (e.g. 'AIR', 'FPH')
hedgingNoFilter by hedging level: none, low, moderate, heavy
sentimentNoFilter by sentiment: positive, negative, neutral, mixed

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoDays to look back (default 180)
sectorNoFilter by sector (e.g. 'Energy', 'Healthcare')
tickerNoFilter by company ticker (e.g. 'AIR', 'MEL')
categoryNoFilter by category: insider, governance, financial, market, agm
severityNoFilter by severity: critical, warning, watch

TDQS

A4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesNZX ticker symbol (e.g. 'FPH', 'AIR', 'SPK')

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoEnd date in YYYY-MM-DD format
fromNoStart date in YYYY-MM-DD format
limitNoNumber of results (default 50, max 100)
actionNoFilter by action type: appointed, resigned, retired, removed, elected, re-elected. Comma-separated for multiple (e.g. 'resigned,retired').
tickerYesNZX ticker symbol (e.g. 'AIR', 'FPH', 'MEL')

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesNZX ticker symbol (e.g. 'AIR', 'FPH', 'MEL')

TDQS

A4.6/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 20, max 200)
skillNoFilter by skill category (e.g. 'governance', 'financial')
sectorNoFilter by sector (e.g. 'Energy', 'Healthcare')

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesNZX ticker symbol (e.g. 'FPH', 'AIR')

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoComma-separated raise types: placement, rights_issue, spp, ipo, bond, buyback, drp, options_exercise, employee_scheme, conversion
yearNoFilter by year (e.g. '2025') or range (e.g. '2020-2025')
limitNoNumber of results (default 50)
tickerYesNZX ticker symbol (e.g. 'AIR', 'FBU', 'RYM')
buybacksNoSet to 'true' to only show buybacks

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results (default 50, max 100)
searchNoSearch by company name or ticker symbol
sectorNoFilter by sector (e.g. 'Energy', 'Healthcare', 'Property')

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesNZX ticker symbol (e.g. 'AIR', 'SPK', 'FPH', 'RYM')
includeNoComma-separated additional data to include: directors, financials, governance, price, or 'all' for everything

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesPerson slug from shared.people (e.g. 'rob-campbell', 'joan-withers')

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleYesRole to benchmark — one of: 'ceo', 'cfo', 'coo', 'chair', 'director', 'cto', 'cio', 'cro', 'general-counsel', 'company-secretary'
yearNoFinancial year filter (default: latest available per company)
sectorNoFilter by sector (e.g. 'Healthcare', 'Energy')
market_capNoFilter by market-cap tier: 'micro', 'small', 'mid', or 'large'

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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]'.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesNZX ticker symbol (e.g. 'SPK', 'AIR', 'GMT')

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoFilter by year: single year (e.g. '2024') or range (e.g. '2020-2024')
limitNoNumber of results (default 50)
actionNoFilter by action: affirmed, upgraded, downgraded, assigned, withdrawn, revised
agencyNoFilter by rating agency: 'S&P', 'Moodys', 'Fitch', 'AM Best', 'Equifax'
tickerYesNZX ticker symbol (e.g. 'ANZ', 'WBC', 'MEL', 'SPK')

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoLookback window in days (1-7, default 7). Use 1 for last trading day.

TDQS

A4.7/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoFilter by adviser role: legal_issuer, underwriter, lead_manager, financial_adviser, independent_adviser, valuer, etc.
tickerYesNZX ticker symbol (e.g. 'CEN', 'FPH')
deal_typeNoFilter: 'capital_raise' or 'takeover'

TDQS

A4.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesDirector URL slug (e.g. 'john-smith'). Find slugs via get_directors.
includeNoComma-separated additional data: trades (insider share transactions), remuneration (board fees), exec_comp (executive pay packages with STI/LTI), or 'all'

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesDirector URL slug (e.g. 'joan-withers', 'mark-cross'). Find slugs via get_directors.

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerNoNZX ticker for company mode (e.g. 'AIR')
directorNoDirector slug for person mode (e.g. 'joan-withers')
include_historicalNoInclude historical positions (default false)

TDQS

A4.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results (default 50)
searchNoSearch by director name
companyNoFilter by company ticker (e.g. 'AIR' to get Air New Zealand directors)
currentNoIf true, only return currently-serving directors

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesPerson slug from shared.people (e.g. 'rob-campbell')

TDQS

A4.5/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFilter by dividend type: 'final', 'interim', or 'special'. Comma-separated for multiple.
yearNoFilter by year: single year (e.g. '2024') or range (e.g. '2020-2024')
limitNoNumber of results (default 50)
tickerYesNZX ticker symbol (e.g. 'AIR', 'FPH', 'SPK')

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoFilter by year: single year (e.g. '2024') or range (e.g. '2020-2024')
limitNoNumber of results (default 50)
periodNoFilter by period type: 'annual' for full-year, 'interim' for half-year
tickerYesNZX ticker symbol (e.g. 'AIR', 'FPH', 'SPK')

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoFiscal year (e.g. '2024'). Default: latest available year.
tickerYesNZX ticker symbol (e.g. 'MEL', 'CEN', 'GNE')

TDQS

A3.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesNZX ticker symbol (e.g. 'FPH', 'AIR')
discount_rateNoDiscount rate / WACC (default 0.10 = 10%)
terminal_growthNoTerminal growth rate (default 0.025 = 2.5%)

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoFilter by year: single year (e.g. '2024') or range (e.g. '2020-2024')
limitNoNumber of results per statement (default 50)
tickerYesNZX ticker symbol (e.g. 'AIR', 'FPH', 'SPK')
statementNoWhich 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

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoFiscal year (e.g. '2024'). Default: latest available year.
tickerYesNZX ticker symbol (e.g. 'AIR', 'FPH', 'MEL')

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
voteNoFilter by vote cast (FOR, AGAINST, ABSTAIN)
yearNoFilter by year (e.g. '2024') or range (e.g. '2023-2025')
tickerYesNZX ticker symbol (e.g. 'AIR', 'FPH')
fund_managerNoFilter by fund manager name (e.g. 'Harbour', 'Devon', 'NZ Super')

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesNZX ticker symbol (e.g. 'FPH', 'AIR', 'SPK')

TDQS

A3.8/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results (default 50)
ratingNoFilter by rating tier
sectorNoFilter by sector
max_scoreNoMaximum total GRS score
min_scoreNoMinimum total GRS score

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoEnd date in YYYY-MM-DD format
fromNoStart date in YYYY-MM-DD format
typeNoFilter by transaction type (e.g. 'Buy', 'Sell', 'Exercise')
limitNoNumber of results (default 50, max 100)
tickerNoFilter by company ticker (e.g. 'AIR', 'FPH')
directorNoFilter by director slug (e.g. 'john-smith')

TDQS

A3.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoSearch by director name
limitNoNumber of results (default 50)
tickerNoFilter by NZX ticker to see IoD directors at a specific company (e.g. 'FPH')
designationNoFilter by IoD designation: 'CFInstD', 'CMInstD', 'CDir', 'MInstD'

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesNZX ticker symbol (e.g. 'AIR', 'FPH', 'MEL')

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoFilter by normalized role (e.g. 'CEO', 'CFO', 'COO', 'CTO')
tickerYesNZX ticker symbol (e.g. 'FPH', 'AIR', 'SPK')

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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]'.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoDays to look back (default 180). Use 7 for 'this week', 1 for 'today'.
typeNoComma-separated signal types: insider_trade, capital_raise, dividend, earnings, agm_result, director_change, grs_change, technical_signal, credit_rating, audit_change
limitNoMax results (default 50)
sectorNoFilter by sector (e.g. 'Energy', 'Healthcare')
tickerNoFilter by company ticker (e.g. 'AIR', 'MEL')
significanceNoFilter by significance: high, medium, low

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoOnly appointments effective on/before this date (YYYY-MM-DD)
fromNoOnly appointments effective on/after this date (YYYY-MM-DD)
roleNoFilter by role keyword (comma-separated): 'chair,ceo,cfo,director'
typeNoFilter by officer type: 'board', 'executive', or 'all' (default 'all')
statusNoFilter by status (comma-separated): 'current,resigned,retired'
tickerYesNZX ticker symbol (e.g. 'FPH', 'AIR', 'SPK')

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesNZX ticker symbol (e.g. 'AIR', 'FPH', 'SPK')
directionNoFilter: 'mentions' (who this company references), 'mentioned_by' (who references it), or 'both' (default)

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesNZX ticker symbol (e.g. 'AIR', 'FPH', 'MEL')

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesNZX ticker symbol (e.g. 'SKC', 'AIR', 'SAN')

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesNZX ticker symbol (e.g. 'KPG', 'GMT', 'PFI', 'ARG')

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoMeeting year to filter resolutions (e.g. '2025'). Default: latest
tickerYesCompany ticker (e.g. 'AIR', 'MEL', 'FPH')
meeting_idNoSpecific meeting ID if known

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
focusNoComma-separated focus areas (e.g. 'dividends,governance,insider activity')
tickerYesNZX ticker symbol (e.g. 'FPH', 'AIR')
templateNoResearch template (default: 'general')

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoSegment type filter: operating, geographic, product
yearNoFilter by year (e.g. '2025') or range (e.g. '2020-2025')
limitNoNumber of results (default 50)
tickerYesNZX ticker symbol (e.g. 'FPH', 'SKC', 'MEL', 'FBU')

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesNZX ticker symbol (e.g. 'FBU', 'AIR', 'MEL')

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesStewardship report ID

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoEnd date in YYYY-MM-DD format
daysNoNumber of trailing days of data (default 365)
fromNoStart date in YYYY-MM-DD format
limitNoMaximum data points to return (default 365, max 2000)
tickerYesNZX ticker symbol (e.g. 'AIR', 'FPH')

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 50)
tickerYesNZX ticker symbol (e.g. 'FPH', 'AIR', 'SPK')
directionNoFilter by direction of holding change

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoFilter by year (e.g. '2025') or range (e.g. '2020-2025')
statusNoFilter by deal status (e.g. 'completed', 'active', 'lapsed', 'withdrawn')
tickerYesNZX ticker symbol of the target company (e.g. 'THL', 'NZM', 'TRA')
deal_typeNoFilter by deal type: takeover_offer, acquisition, scheme_of_arrangement, merger, asset_acquisition, property_acquisition, compulsory_acquisition

TDQS

A4.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesNZX ticker symbol (e.g. 'AIR', 'FPH', 'MEL')

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoSearch by company name or ticker
sortNoSort by any column name (e.g. 'pe_ratio', 'market_cap', 'dividend_yield', 'rsi_14', 'grs_score')
limitNoNumber of results (default 50, max 130)
orderNoSort order (default 'asc')
filterNoCustom 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.
presetNoSmart preset filter. Each preset applies specific metric filters and shows relevant columns.
sectorNoFilter by sector (e.g. 'Energy', 'Healthcare', 'Property')

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoEnd date in YYYY-MM-DD format
fromNoStart date in YYYY-MM-DD format
typeNoFilter by announcement type (e.g. 'SHINTR', 'GENERAL', 'MEETING', 'DIVCASH', 'MKTUPDTE')
limitNoNumber of results (default 20, max 100)
searchNoFull-text search query (e.g. 'dividend', 'CEO appointment', 'capital raise')
tickerNoFilter by company ticker (e.g. 'AIR')

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

TDQS

A3.7/5.0
Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count2/5

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.

Completeness5/5

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

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    MCP server that provides AI assistants access to stock market data including financial statements, stock prices, and market news through a Model Context Protocol interface.
    11
    2,282
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that integrates with the AlphaVantage financial data API, providing access to stock market data, technical indicators, and fundamental financial information.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Provides 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.
    31
    20
    ISC
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that gives AI assistants direct, structured access to China A-share market data.
    3
    Apache 2.0

Latest Blog Posts

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