Velarion Company Intelligence
Server Details
Cited exec, director and say-on-pay data for ~3,000 US public companies, 12 industries.
- Status
- Healthy
- Uptime
- 99.0% over 18 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 12 tools
The set is organized around compensation and governance, but several tools occupy adjacent territory: get_company_compensation vs lookup_company_compensation both appear to fetch executive compensation, and benchmark_executive_pay overlaps with compare_companies. The descriptions do clarify distinct outputs (SCT components vs canonical totals; single-CEO peer percentile vs multi-company table), so an agent can disambiguate with careful reading.
All tool names follow a verb_noun snake_case pattern (get_, list_, search_, predict_, compare_, benchmark_, generate_). The pattern is consistent, though get_company_compensation and lookup_company_compensation use near-synonymous verbs for similar operations, and list_skus is a slight abbreviation.
Twelve tools is well within the ideal range for a focused company-intelligence API. Each tool maps to a concrete retrieval, analysis, comparison, or product-listing function, and none feels redundant enough to cut.
The surface covers the core domain well: company search, executive/director compensation, peer groups, say-on-pay history, benchmarking, comparison, risk prediction, and the paid-product path. Minor gaps remain—there is no standalone company-profile or multi-year trend endpoint, and some governance data is only accessible through the capped Alpha Card.
Available Tools
12 toolsbenchmark_executive_payBenchmark executive pay vs peersARead-onlyIdempotentInspect
Benchmark executive pay vs. disclosed peers using Velarion's canonical percentile data.
Returns pay percentile, performance (TSR) percentile, pay-for-performance gap, and an alignment label.
role is CEO-only.
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | Optional executive role to benchmark (default CEO-only). | CEO |
| ticker | Yes | The company's ticker symbol (e.g. "AAPL"). | |
| agent_token | No | Optional Velarion agent token; falls back to the X-Velarion-Agent-Token header. | |
| fiscal_year | No | Optional fiscal year to read (e.g. 2025). Defaults to the latest on file. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| ticker | No | |
| attribution | No | Source citation, dataset DOI, and a ready-made cite_as string. |
| pay_percentile | No | |
| tsr_percentile | No | |
| alignment_label | No | Pay-for-performance alignment label. |
| peer_rank_caveat | No | |
| p4p_gap_percentile_points | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only and idempotent behavior, so the description doesn't need to repeat that. It adds useful behavioral context: the tool is based on canonical percentile data and returns pay and TSR percentiles plus an alignment label. The line 'role is CEO-only' is a meaningful scope constraint, though it could be phrased more clearly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: purpose first, then return values, then the role constraint. Every sentence earns its place and there is no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich output schema, full parameter schema coverage, and strong annotations, the description is nearly complete for invoking the tool. The main missing piece is explicit guidance about how this relates to sibling tools such as get_disclosed_peer_group or lookup_company_compensation, so the agent has to infer the intended routing boundaries.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents ticker, role, agent_token, and fiscal_year. The description adds only the terse 'role is CEO-only' clarification, which is helpful but doesn't substantially extend what the schema already states about parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Benchmark'), a specific resource ('executive pay vs. disclosed peers'), and the data source ('Velarion's canonical percentile data'). It lists concrete outputs, which makes the tool's function unmistakable and distinguishes it from siblings like get_disclosed_peer_group or get_company_compensation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies the usage context: call this when the agent needs a peer-relative pay benchmark with percentile outputs. It does not explicitly name alternative tools or state when not to use it, but the purpose is specific enough that an agent can route to it correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_companiesCompare companies on pay, performance, governanceARead-onlyIdempotentInspect
Compare multiple companies on pay, performance, and governance metrics.
Returns a ranked table drawn from disclosed compensation, performance, and governance data. The summary describes observed patterns in the returned data only. Out-of-coverage tickers are excluded (listed separately). Max 20 tickers.
| Name | Required | Description | Default |
|---|---|---|---|
| tickers | Yes | List of ticker symbols to compare (e.g. ["AAPL", "MSFT"]), max 20. | |
| agent_token | No | Optional Velarion agent token; falls back to the X-Velarion-Agent-Token header. | |
| fiscal_year | No | Optional fiscal year to read (e.g. 2025). Defaults to the latest on file. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| tickers | No | |
| attribution | No | Source citation, dataset DOI, and a ready-made cite_as string. |
| comparisons | No | Ranked pay/performance/governance table. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral context beyond the annotations: it clarifies that the returned table is based on disclosed data, that the summary only describes patterns in the returned data, and that out-of-coverage tickers are excluded but listed separately. These caveats help prevent an agent from over-generalizing results or silently dropping tickers, which is strong transparency for a read-only, idempotent tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four short sentences with no filler. The opening sentence states the core purpose, the second clarifies the output nature, the third prevents over-interpretation of the summary, and the fourth discloses coverage limits and handling. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, annotations cover the safety profile, and the description explains the tool's multi-company scope, ranking output, coverage behavior, and summary limitation, the definition provides everything an agent needs to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds little parameter-specific meaning beyond repeating the 'max 20 tickers' constraint already present in the schema, so it does not exceed the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action ('Compare multiple companies') and the resource domain ('pay, performance, and governance metrics'), and specifies the output as a ranked table. However, it does not explicitly differentiate this tool from closely related siblings such as benchmark_executive_pay, which may also involve comparison, so it falls short of full sibling-level distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the primary use case explicit: comparing multiple companies on relevant metrics, with a hard limit of 20 tickers and a stated behavior for out-of-coverage tickers. It does not explicitly mention when not to use this tool or name a preferred alternative, so it earns a 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_governance_alpha_cardGenerate a governance alpha cardARead-onlyIdempotentInspect
Generate a Governance Alpha Card for a company.
Composite deterministic card: pay alignment (Velarion's own P4P-style estimate, modeled on public peer-advisory methodology concepts — not licensed ISS data), governance scorecard, SoP risk band, peer quality, top risks/strengths. Requires the company to be in Velarion's coverage universe with current-period data.
This is the free sample of the $100 GOVERNANCE-ALPHA-CARD product. Each agent may draw a limited number of cards per UTC day; beyond that the tool returns free_tier_cap_reached together with the purchase path.
Structured errors returned (not raised) for:
not_in_coverage: ticker outside the covered universe
not_deliverable: the company's current-period disclosure does not support a card
free_tier_cap_reached: daily free allowance spent (buy it, or wait for 00:00 UTC)
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Optional fiscal year to read (e.g. 2025). Defaults to the latest on file. | |
| ticker | Yes | The company's ticker symbol (e.g. "AAPL"). | |
| agent_token | No | Optional Velarion agent token; falls back to the X-Velarion-Agent-Token header. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| status | No | e.g. deliverable, free_tier_cap_reached. |
| ticker | No | |
| risk_band | No | |
| attribution | No | Source citation, dataset DOI, and a ready-made cite_as string. |
| governance_scorecard | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing that the card is deterministic, that structured errors are returned rather than raised, and by enumerating the specific error conditions: not_in_coverage, not_deliverable, and free_tier_cap_reached. It also explains the daily limit and purchase path, which is exactly the behavioral context an agent needs beyond the readOnly/idempotent hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded, with the core purpose stated first, followed by component details and then error behavior. It is somewhat long, but every section earns its place given the tool's complexity and free-tier caveats.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers what the tool produces, prerequisites, failure modes, quota behavior, and product context. With an output schema present and full parameter documentation, nothing essential is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents ticker, year, and agent_token thoroughly. The description adds a little context about coverage and current-period data, but it does not need to repeat parameter-level semantics; the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Generate a Governance Alpha Card for a company.' It then enumerates the card's components (pay alignment, governance scorecard, risk band, etc.), making the tool's deliverable explicit and clearly distinguishing it from sibling data-retrieval tools like get_company_compensation or get_say_on_pay_history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: the tool requires the company to be in Velarion's coverage universe with current-period data, and it is the free sample of a paid product with a daily per-agent cap. It does not name a specific alternative tool to use instead, but it gives enough conditional context for an agent to decide when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ceo_pay_ratioCEO pay ratio (free)ARead-onlyIdempotentInspect
Free plan: the most recent disclosed CEO pay ratio.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | The company's ticker symbol (e.g. "AAPL"). | |
| agent_token | No | Optional Velarion agent token; falls back to the X-Velarion-Agent-Token header. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hold | No | |
| error | No | |
| label | No | |
| peers | No | |
| query | No | |
| ratio | No | |
| reason | No | |
| status | No | |
| ticker | No | |
| results | No | |
| citation | No | |
| industry | No | |
| directors | No | |
| truncated | No | |
| data_as_of | No | |
| executives | No | |
| attribution | Yes | |
| fiscal_year | No | |
| company_name | No | |
| company_page | No | |
| fee_schedule | No | |
| ceo_total_comp | No | |
| unpaid_directors | No | |
| say_on_pay_exempt | No | |
| median_employee_comp | No | |
| fiscal_years_available | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds useful context beyond those annotations: it is limited to the free plan and returns only the most recent disclosed ratio, which helps the agent understand data recency and access constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence with no filler. It front-loads the access constraint and clearly states the exact data item returned, making every word valuable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value details are covered elsewhere. The description sufficiently covers what data is returned and the access tier, though it could briefly clarify that 'CEO pay ratio' refers to the CEO-to-median-employee pay ratio for agents unfamiliar with the term.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the ticker and agent_token parameters are already fully documented in the schema. The description adds no additional parameter-level meaning, which is acceptable given the complete schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource ('CEO pay ratio') and the specific verb implied by the tool name ('get'), plus the exact scope: the most recent disclosed ratio. This is specific enough to distinguish it from sibling compensation tools, which target different metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Free plan:' prefix suggests an access-tier context, and the resource is self-explanatory, but the description does not explicitly say when to prefer this over alternatives like get_company_compensation or get_say_on_pay_history. Usage is implied rather than directly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_company_compensationExecutive compensation (free)ARead-onlyIdempotentInspect
Free plan: executive compensation for a company in Velarion's covered universe.
Returns Summary Compensation Table components for named executive officers, fiscal year 2022 forward, with a citation for each figure. No benchmark context, no percentiles, no narrative analysis; those are in the paid product.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | The company's ticker symbol (e.g. "AAPL"). | |
| agent_token | No | Optional Velarion agent token; falls back to the X-Velarion-Agent-Token header. | |
| fiscal_year | No | Optional fiscal year to read (e.g. 2025). Defaults to the latest on file. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hold | No | |
| error | No | |
| label | No | |
| peers | No | |
| query | No | |
| ratio | No | |
| reason | No | |
| status | No | |
| ticker | No | |
| results | No | |
| citation | No | |
| industry | No | |
| directors | No | |
| truncated | No | |
| data_as_of | No | |
| executives | No | |
| attribution | Yes | |
| fiscal_year | No | |
| company_name | No | |
| company_page | No | |
| fee_schedule | No | |
| ceo_total_comp | No | |
| unpaid_directors | No | |
| say_on_pay_exempt | No | |
| median_employee_comp | No | |
| fiscal_years_available | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the data-coverage window (FY2022 forward), the per-figure citation behavior, and the explicit absence of benchmark/percentile/narrative content. This is useful behavioral context beyond the annotations and schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler; the free-plan limitation, exact return contents, and feature exclusions are all front-loaded. Every sentence adds information about scope or behavior. This is an appropriately sized description for a read-only retrieval tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full input schema (100% coverage), an output schema, and safety annotations, the description covers the essential use case and limitations. It does not explicitly differentiate itself from lookup_company_compensation, but the 'free plan' vs 'paid product' contrast plus the specific SCT components make the intent clear. A minor gap is the lack of a named sibling for paid capabilities, but the description is broadly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents ticker, agent_token, and fiscal_year. The description mentions fiscal-year scope but does not add meaning beyond the schema's 'optional fiscal year to read' description. Baseline 3 applies because the schema carries the parameter documentation burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('returns') and a precise resource: Summary Compensation Table components for named executive officers from fiscal year 2022 forward. It explicitly scopes out benchmark context, percentiles, and narrative analysis, which separates it from sibling tools like benchmark_executive_pay and generate_governance_alpha_card. The 'free plan' label clarifies which product tier this belongs to.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the tool is the free-plan version and that benchmark context, percentiles, and narrative analysis are only in the paid product, signaling when not to use this tool. The exclusion is explicit enough to route an agent away from benchmark or analysis tasks, though it does not name a specific sibling alternative. It does not cover when to choose get_company_compensation over lookup_company_compensation or get_director_compensation, but the core usage 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_director_compensationDirector compensation (free)ARead-onlyIdempotentInspect
Free plan: non-employee director compensation and the board fee schedule.
Unpaid directors (executive directors who serve without director fees) are listed separately from the paid table.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | The company's ticker symbol (e.g. "AAPL"). | |
| agent_token | No | Optional Velarion agent token; falls back to the X-Velarion-Agent-Token header. | |
| fiscal_year | No | Optional fiscal year to read (e.g. 2025). Defaults to the latest on file. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hold | No | |
| error | No | |
| label | No | |
| peers | No | |
| query | No | |
| ratio | No | |
| reason | No | |
| status | No | |
| ticker | No | |
| results | No | |
| citation | No | |
| industry | No | |
| directors | No | |
| truncated | No | |
| data_as_of | No | |
| executives | No | |
| attribution | Yes | |
| fiscal_year | No | |
| company_name | No | |
| company_page | No | |
| fee_schedule | No | |
| ceo_total_comp | No | |
| unpaid_directors | No | |
| say_on_pay_exempt | No | |
| median_employee_comp | No | |
| fiscal_years_available | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, idempotent, and non-destructive, so the description does not need to restate those. It adds useful behavioral context: the free-plan scope and the fact that unpaid directors are listed separately from the paid table. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, with the free-plan qualifier front-loaded. The second sentence earns its place by revealing a data-organization quirk that affects how results should be interpreted. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, safety annotations covering behavior, and full parameter documentation, the description is nearly complete for a correct call. The only meaningful gap is routing guidance relative to sibling compensation tools, which keeps it from a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents ticker, agent_token, and fiscal_year. The description adds no parameter-specific meaning, which is acceptable given the schema's clarity. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: non-employee director compensation and the board fee schedule, and the title adds 'free'. It distinguishes from broader siblings like get_company_compensation by scoping to non-employee directors. However, it lacks an explicit verb like 'get' or 'retrieve', relying on the tool name for the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Free plan' prefix gives context about access tier, and the unpaid-directors note clarifies a scoping edge. But it never explicitly tells the agent when to choose this tool over get_company_compensation or lookup_company_compensation, nor states exclusions. 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.
get_disclosed_peer_groupDisclosed peer group (free)BRead-onlyIdempotentInspect
Free plan: the company's own disclosed compensation peer group, most recent fiscal year on file.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | The company's ticker symbol (e.g. "AAPL"). | |
| agent_token | No | Optional Velarion agent token; falls back to the X-Velarion-Agent-Token header. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hold | No | |
| error | No | |
| label | No | |
| peers | No | |
| query | No | |
| ratio | No | |
| reason | No | |
| status | No | |
| ticker | No | |
| results | No | |
| citation | No | |
| industry | No | |
| directors | No | |
| truncated | No | |
| data_as_of | No | |
| executives | No | |
| attribution | Yes | |
| fiscal_year | No | |
| company_name | No | |
| company_page | No | |
| fee_schedule | No | |
| ceo_total_comp | No | |
| unpaid_directors | No | |
| say_on_pay_exempt | No | |
| median_employee_comp | No | |
| fiscal_years_available | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds mild context by noting the data reflects the most recent fiscal year on file, but it does not disclose behavior beyond that, such as response shape or data-source caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that front-loads the 'Free plan' context and immediately defines the returned data. It is efficient and contains no filler, though it is a noun phrase rather than a complete imperative sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple read-only lookup with a high-coverage schema and an output schema, so the description conveys enough to understand the tool's core purpose. It could be more complete by addressing when the free-plan data might differ from paid alternatives or by naming sibling tools, but nothing critical is missing for basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the ticker and agent_token parameters are already well documented. The description does not add any parameter-level meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource: the company's disclosed compensation peer group for the most recent fiscal year. It is clear that this tool returns peer-group data for a single company, but it does not explicitly differentiate itself from siblings like compare_companies or get_company_compensation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given about when to use this tool instead of alternatives. The 'Free plan' prefix hints at plan constraints, but it does not tell the agent when this endpoint is preferable over sibling compensation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_say_on_pay_historySay-on-pay vote history (free)ARead-onlyIdempotentInspect
Free plan: say-on-pay vote history. Support percentages are calculated by Velarion from disclosed vote counts (marked as such in the citation).
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | The company's ticker symbol (e.g. "AAPL"). | |
| agent_token | No | Optional Velarion agent token; falls back to the X-Velarion-Agent-Token header. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hold | No | |
| error | No | |
| label | No | |
| peers | No | |
| query | No | |
| ratio | No | |
| reason | No | |
| status | No | |
| ticker | No | |
| results | No | |
| citation | No | |
| industry | No | |
| directors | No | |
| truncated | No | |
| data_as_of | No | |
| executives | No | |
| attribution | Yes | |
| fiscal_year | No | |
| company_name | No | |
| company_page | No | |
| fee_schedule | No | |
| ceo_total_comp | No | |
| unpaid_directors | No | |
| say_on_pay_exempt | No | |
| median_employee_comp | No | |
| fiscal_years_available | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds non-obvious behavioral context: support percentages are calculated by Velarion from disclosed vote counts and marked as such in the citation. This is valuable beyond the structured annotations, with no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, and the methodology note earns its place. The first sentence largely restates the title, creating minor redundancy, but overall there is no wasted content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple read-only nature, full parameter documentation, and presence of an output schema, the description covers the key caveat about calculated percentages. It is complete enough for correct invocation, though usage guidance is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, with both ticker and agent_token already described. The description does not add parameter-level detail, so baseline 3 is appropriate since the schema carries the full burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as say-on-pay vote history with a specific verb ('get' implied). It is distinguishable from siblings like predict_say_on_pay_risk by the vote-history scope, though it does not explicitly contrast itself with any sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as get_company_compensation, get_ceo_pay_ratio, or predict_say_on_pay_risk. The 'Free plan' label hints at access conditions but does not explain prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_skusList the product catalogARead-onlyIdempotentInspect
List the Velarion product catalog.
Returns every available report with full detail by default (name, price, currency,
delivery type, latency, caveats). Set include_non_sellable=true to also return
products that are not currently on sale, each tagged with its status, so the full
range is visible. A product with no settled price is returned with its status rather
than a billable number.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_token | No | Optional Velarion agent token; falls back to the X-Velarion-Agent-Token header. | |
| include_non_sellable | No | Also return products that are not currently on sale. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| counts | No | |
| sellable | No | Products currently on sale. |
| attribution | No | Source citation, dataset DOI, and a ready-made cite_as string. |
| non_sellable | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, idempotent, and non-destructive. The description adds valuable behavioral detail beyond that: default returns full details, non-sellable products can be included with status tags, and unpriced products return a status rather than a billable number. This is useful edge-case context with no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three tight sentences with no filler. It front-loads the core action and resource, then covers defaults, the optional parameter, and an edge case without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only listing tool with an output schema, the description fully covers the default behavior, the optional flag, and the unpriced-product edge case. Nothing an agent needs to decide whether to call this tool or interpret its results is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful nuance for include_non_sellable by explaining the status tagging and the behavior for products without a settled price, going beyond the schema's short boolean description. The agent_token parameter remains schema-only, which is acceptable since the schema already documents it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'List the Velarion product catalog.' It also enumerates what is returned (name, price, currency, delivery type, latency, caveats), making it clearly distinct from the compensation-focused sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies this tool is for listing catalog products and explicitly explains when to use include_non_sellable=true. It does not explicitly name alternatives or exclusion criteria, but the sibling tools are in a different domain, so the intended usage is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_company_compensationLook up executive compensationARead-onlyIdempotentInspect
Look up executive compensation for a company in Velarion's coverage universe.
Returns CEO/NEO total compensation, pay mix breakdown, and canonical metrics for the requested fiscal year (latest available if omitted). Every figure comes from the company's own disclosure and carries its citation.
Out-of-coverage tickers return a structured error (not_in_coverage).
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | The company's ticker symbol (e.g. "AAPL"). | |
| agent_token | No | Optional Velarion agent token; falls back to the X-Velarion-Agent-Token header. | |
| fiscal_year | No | Optional fiscal year to read (e.g. 2025). Defaults to the latest on file. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| ticker | No | |
| p4p_gap | No | |
| executives | No | Named executive officers with SCT pay components. |
| attribution | No | Source citation, dataset DOI, and a ready-made cite_as string. |
| fiscal_year | No | |
| company_name | No | |
| ceo_percentile | No | |
| tsr_percentile | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive, and the description adds meaningful behavior beyond that: figures come from the company's own disclosure with citations, and out-of-coverage tickers produce a structured not_in_coverage error. This is useful operational context and does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tightly structured: purpose first, return contents second, error behavior third. Every sentence earns its place, with no redundant or vague filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich input schema, annotations, and output schema, the description covers the essential invocation concerns: what is returned, the default fiscal-year behavior, and the error case. The main missing piece is explicit routing among the compensation-related sibling tools, which is a selection concern rather than an invocation blocker.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reiterates the fiscal-year default ('latest available if omitted') but adds no parameter-specific context beyond what the schema already documents. No additional semantics are needed, but none are contributed either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: 'Look up executive compensation for a company in Velarion's coverage universe,' and it spells out the returns (CEO/NEO total comp, pay mix, canonical metrics). It does not explicitly contrast with siblings like get_company_compensation or get_ceo_pay_ratio, so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for looking up executive compensation within Velarion's coverage and gives an important boundary condition: out-of-coverage tickers return a structured error. However, it gives no explicit guidance on when to choose this tool over the compensation-related siblings or 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.
predict_say_on_pay_riskPredict say-on-pay riskARead-onlyIdempotentInspect
Predict Say-on-Pay risk for a company using Velarion's deterministic risk compilers.
Returns trend phrase, peer cohort distribution note, governance friction summary, and overall risk band, computed from disclosed vote results and compensation data.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | The company's ticker symbol (e.g. "AAPL"). | |
| agent_token | No | Optional Velarion agent token; falls back to the X-Velarion-Agent-Token header. | |
| fiscal_year | No | Optional fiscal year to read (e.g. 2025). Defaults to the latest on file. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| trend | No | Trend phrase for the vote history. |
| ticker | No | |
| risk_band | No | Overall say-on-pay risk band. |
| attribution | No | Source citation, dataset DOI, and a ready-made cite_as string. |
| fiscal_year | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), so the bar is lower. The description still adds non-obvious behavioral detail: it is deterministic and produces four named output components derived from vote/compensation data. This communicates what the agent will receive beyond what the annotations state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler; the action and outputs are front-loaded. Every clause adds information, including the data sources and the deterministic nature.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and all parameters documented, the description does not need to restate return structure. It is complete enough to call for a risk prediction, though it could be strengthened by adding selection guidance versus sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the description adds no parameter-specific detail beyond the schema. It does not mention ticker, agent_token, or fiscal_year, but the schema already documents their types and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description leads with a specific verb and resource ('Predict Say-on-Pay risk for a company') and lists concrete outputs, so an agent can tell it is a risk-scoring operation rather than a raw lookup like get_say_on_pay_history. The reference to 'deterministic risk compilers' further differentiates it from sibling tools. This makes the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance appears; the description never names alternatives such as get_say_on_pay_history or benchmark_executive_pay. The context implies this tool is for generated risk predictions ('computed from disclosed vote results'), but exclusions and selection criteria are left to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_companiesSearch companies (free)ARead-onlyIdempotentInspect
Free plan: search Velarion's covered universe by company name or ticker. Requires a query of at least two characters; returns at most 10 results.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Company name or ticker fragment, at least 2 characters (e.g. "apple"). | |
| agent_token | No | Optional Velarion agent token; falls back to the X-Velarion-Agent-Token header. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hold | No | |
| error | No | |
| label | No | |
| peers | No | |
| query | No | |
| ratio | No | |
| reason | No | |
| status | No | |
| ticker | No | |
| results | No | |
| citation | No | |
| industry | No | |
| directors | No | |
| truncated | No | |
| data_as_of | No | |
| executives | No | |
| attribution | Yes | |
| fiscal_year | No | |
| company_name | No | |
| company_page | No | |
| fee_schedule | No | |
| ceo_total_comp | No | |
| unpaid_directors | No | |
| say_on_pay_exempt | No | |
| median_employee_comp | No | |
| fiscal_years_available | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the basic safety profile is covered. The description adds useful behavioral constraints: 'Requires a query of at least two characters' and 'returns at most 10 results,' which go beyond annotations. It does not disclose rate limits or coverage details, but the added constraints earn a 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The first sentence states the core function and scope; the second provides the key constraints. All information is front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a simple search tool with an output schema, the description covers the essential constraints (minimum query, result limit) and the scope ('covered universe'). The optional token authentication is documented in the schema. Nothing critical for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description essentially repeats what the query schema already states (company name or ticker, at least 2 characters). The agent_token parameter is not mentioned in the description, but the schema already fully documents it. No additional parameter meaning is added beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'search Velarion's covered universe by company name or ticker.' It distinguishes itself by emphasizing the free-plan limitation and basic search scope. However, it does not explicitly contrast with any sibling tools, so it falls just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it: when you need a free, basic company search by name or ticker. It provides operational constraints (minimum query length, maximum result count) but does not mention alternatives or explicitly state when not to use it. This is clear context but no exclusions or routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- Changed
benchmark_executive_pay2 fields changed- added
Output schema / anyOfAdded value: +[ + { + "required": [ + "ticker" + ] + }, + { + "required": [ + "error" + ] + } +] - removed
Output schema / requiredRemoved value: -[ - "ticker" -]
- Changed
compare_companies2 fields changed- added
Output schema / anyOfAdded value: +[ + { + "required": [ + "tickers" + ] + }, + { + "required": [ + "error" + ] + } +] - removed
Output schema / requiredRemoved value: -[ - "tickers" -]
- Changed
generate_governance_alpha_card2 fields changed- added
Output schema / anyOfAdded value: +[ + { + "required": [ + "ticker" + ] + }, + { + "required": [ + "error" + ] + } +] - removed
Output schema / requiredRemoved value: -[ - "ticker" -]
- Changed
lookup_company_compensation2 fields changed- added
Output schema / anyOfAdded value: +[ + { + "required": [ + "ticker" + ] + }, + { + "required": [ + "error" + ] + } +] - removed
Output schema / requiredRemoved value: -[ - "ticker" -]
- Changed
predict_say_on_pay_risk2 fields changed- added
Output schema / anyOfAdded value: +[ + { + "required": [ + "ticker" + ] + }, + { + "required": [ + "error" + ] + } +] - removed
Output schema / requiredRemoved value: -[ - "ticker" -]
12 tool updates
- First observed
benchmark_executive_pay - First observed
compare_companies - First observed
generate_governance_alpha_card - First observed
get_ceo_pay_ratio - First observed
get_company_compensation - First observed
get_director_compensation - First observed
get_disclosed_peer_group - First observed
get_say_on_pay_history - First observed
list_skus - First observed
lookup_company_compensation - First observed
predict_say_on_pay_risk - First observed
search_companies
Related MCP Connectors
Federal government contracts and USAspending procurement exposure for SEC-listed companies.
Citable US facts w/ curated query templates: SEC financials, bank call reports, nonprofits. No key.
SEC-signed profiles for 8,000+ US public companies from EDGAR filings. Token-efficient.
SEC filings, financial statements, metrics, insider and institutional holdings as structured data
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAccess ServiceGraph — a structured catalog of 100k+ US professional-services firms (law, marketing, consulting, accounting, IT services, architecture, engineering, HR, PR, design) with filters for industry, services offered, location, size, ratings, and third-party listing presence.62MIT
- AlicenseAqualityCmaintenanceWe sell open source compliance, scientific, and government data.2118 npmMIT
- AlicenseAqualityCmaintenanceStructured financial data for ~3,800 Japanese listed companies from EDINET regulatory filings — financials, major shareholders, segments, executive compensation, and corporate history. Remote MCP over HTTPS with OAuth 2.0, free tier.131MIT

akyla-mcpofficial
AlicenseAqualityBmaintenanceProvides as-reported US equity fundamentals, live quotes, financial statements, valuation comps, and a screener from SEC filings, with per-cell filing provenance for citations.7MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.