Skip to main content
Glama

Kaleidoscope MCP (SEC & financial data)

Manager Proxy Voting (how a manager's funds voted, N-PX)

manager_proxy_voting
Read-onlyIdempotent

How a manager's funds voted their proxies in a proxy year (SEC Form N-PX; Console's Proxy Voting holder report). Input a 13F manager cik (expanded to its adviser family), an adviser crd, or an investor name, plus proxy_year (2024-2026; a proxy year runs July 1 - June 30, so 2026 = Jul 2025 - Jun 2026).

Returns: fund votes cast and the share cast against management (of votes with a known direction); a breakdown by category (shareholder proposals counted separately) with proposals opposed per category; proposals where most of the family's votes opposed management; say-on-pay votes most opposed; shareholder proposals most backed (voted FOR), out of all shareholder proposals voted. A proposal is one issuer + meeting date + side + description, however many funds voted it; counts are fund vote rows.

Coverage: N-PX notice reports (funds that held nothing to vote) are left out and listed as 'notice report: no votes'; a voting report with 0 votes is a coverage gap (coverage_gaps). Funds are linked to advisers through N-PX voter records, so a fund sub-advised by the family counts toward it. Source filings: accessions (top level: the voting N-PX filings counted, newest first, max 10) and on each listed proposal (the N-PX filings whose votes it counts).

Every adviser crd in the output has the adviser's SEC cik beside it (#2287; x_crd -> x_cik, a CRD list -> ..._crd_ciks): the CIK of the 13F filer that reports under that CRD, else the CIK on its own Form ADV; ciks lists both when they differ; null when neither exists. A row that already had its own cik keeps it.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "manager_proxy_voting"
  }
}

Input Schema

NameRequiredDescriptionDefault
cikNo13F manager CIK (e.g. 2012383 BlackRock). Expanded to its adviser family.
crdNoA single adviser CRD. Use instead of cik.
top_nNoProposals listed per section (say-on-pay opposed, shareholder proposals backed, majority opposed). Max 200.
investorNoManager name (resolved through MARS investors). Use instead of cik.
proxy_yearNoProxy year ending June 30 (default: the latest complete year).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, idempotent, closed-world, so the description is free to cover semantics — and it does: notice reports excluded and labeled, zero-vote reports flagged as coverage gaps, sub-advised funds counted toward the family, and 'a proposal is one issuer + meeting date + side + description' defining the counting unit. What's missing is ranking/pagination behavior beyond top_n and how the proposal-level accessions list is ordered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose and a clearly labeled Returns/Coverage structure, which is good. But it is very dense, with long parentheticals and a changelog-style reference (#2287, x_crd -> x_cik) that reads as release notes rather than call guidance, costing the agent attention without improving invocation.

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?

There is no output schema, so the description must carry the return shape — and it does, enumerating votes cast, share against management, per-category breakdowns, majority-opposed proposals, top say-on-pay and shareholder proposals, plus the accessions source filings. Combined with coverage caveats, an agent knows both what it gets back and how far to trust it.

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% and already documents each parameter, so the baseline is 3, but the description adds real meaning the schema lacks: the proxy year runs July 1 – June 30 (2026 = Jul 2025 – Jun 2026) and cik input is expanded to the adviser family. The trailing crd→cik mapping paragraph adds output-shape detail rather than input semantics, diluting the parameter focus slightly.

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?

First sentence states a specific verb and resource: how a manager's funds voted their proxies in a proxy year, sourced from SEC Form N-PX. It is clearly at the manager/fund-family level, which distinguishes it from the issuer-level sibling company_proxy_votes without needing to name it.

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 gives input selection guidance ('Input a 13F manager cik ... an adviser crd, or an investor name') and notes the cik is expanded to the adviser family, which implies when to pick which. It never states when to prefer the alternative sibling company_proxy_votes or what this tool cannot answer, so usage is implied rather than spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources