Skip to main content
Glama

Pensiata - Bulgarian Pension Fund Analytics

Server Details

Bulgarian pension fund analytics — NAV data, metrics, rankings, and benchmarks.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
nvasilevv/pensiata-mcp
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsC

Average 3.3/5 across 26 of 26 tools scored. Lowest: 2.4/5.

Server CoherenceC
Disambiguation2/5

Many tools have identical aliases (e.g., list_funds and get_bulgarian_pension_funds, list_benchmarks and get_bulgarian_pension_benchmarks), creating ambiguity. An agent would struggle to choose between them. Additionally, cache_stats is unrelated to the core domain, adding confusion.

Naming Consistency2/5

Naming patterns are inconsistent: some tools use short verb_noun (list_funds, compute_metric), while aliases are long and verbose (get_bulgarian_pension_fund_managers). Mixing both styles without clear distinction harms predictability.

Tool Count3/5

26 tools is on the high side, but many are aliases; the unique tool count is around 16-17, which is reasonable for a comprehensive analytics server. However, the alias redundancy makes the list feel bloated.

Completeness4/5

The tool set covers discovery (list_funds, list_managers, list_benchmarks), data retrieval (get_nav_series, get_holdings_reports_index), computation (compute_metric, rank), simulation (simulate_saver_outcome), and legal documents (search_pension_law). Missing are tools for updating or creating data, which is acceptable for an analytics server. A minor gap is the lack of a direct fund detail tool besides NAV.

Available Tools

26 tools
cache_statsAInspect

Return MCP cache telemetry for diagnostics and performance debugging.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. The term 'telemetry' implies a read-only, observational operation, but the description does not explicitly state that the tool has no side effects, whether it resets counters, or any other behavioral nuances. It provides basic clarity but lacks richer 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 a single, well-structured sentence that front-loads the primary verb 'Return' and immediately conveys the tool's purpose. Every word contributes value, with no redundancy or filler.

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 parameters and an output schema is present, the description is complete. It clearly states what the tool returns and why it would be used. The output schema handles return value details, so the description doesn't need to elaborate further.

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 zero parameters, so the schema is trivially complete (100% coverage). The description doesn't need to add parameter details. Per the rubric, the baseline for 0-parameter tools is 4, and the description does not detract from that.

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 'Return' with a clear resource 'MCP cache telemetry' and a distinct purpose ('diagnostics and performance debugging'). This clearly distinguishes it from all sibling tools, which focus on pension data operations.

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 clear context for when to use the tool: for diagnostics and performance debugging. While it doesn't explicitly state when not to use it or name alternatives, none of the sibling tools overlap with this functionality, so the usage context is sufficient.

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

compute_metricBInspect

Compute a metric for Bulgarian pension funds or benchmark targets.

Supports returns, drawdown, volatility, Sharpe/Sortino/Calmar, correlation, and benchmark-aware metrics over configurable period and frequency. Data freshness: computed from latest ingested FSC NAV and benchmark data.

ParametersJSON Schema
NameRequiredDescriptionDefault
metricYes
periodYes
windowNo
fund_idNo
frequencyNodaily
scheme_codeNo
manager_slugNo
benchmark_slugNo
risk_free_rateNo
risk_free_slugNo
benchmark_target_slugNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With no annotations, the description carries the full burden for behavioral disclosure. It adds a useful data freshness note ('computed from latest ingested FSC NAV and benchmark data') and clarifies that it supports a variety of metrics. However, it does not disclose whether the operation is read-only, potential failure modes, or any side effects, 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.

Conciseness5/5

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

The description is concise and well-structured, with the main purpose stated in the first sentence and additional details about supported metrics and data freshness in the following sentences. Every sentence adds value without redundancy or excessive length.

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?

Given the tool's complexity (11 parameters, no annotations), the description is under-specified. It provides domain context and metric types but lacks parameter explanations, usage scenarios, and behavioral caveats. Although an output schema exists to cover return values, the overall context is insufficient for an agent to select and invoke this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, and the description provides minimal parameter guidance. It mentions the types of metrics supported (e.g., returns, Sharpe), giving some meaning to the 'metric' parameter, but it does not explain other parameters like 'period', 'fund_id', 'manager_slug', or 'scheme_code'. With 11 parameters, this is inadequate for effective use.

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 computes a metric for Bulgarian pension funds or benchmark targets, using a specific verb (compute) and identifying the resource. It also lists supported metric types (returns, drawdown, volatility, Sharpe/Sortino/Calmar, correlation). However, it does not explicitly distinguish itself from sibling tools like get_bulgarian_pension_fund_metric, which may serve a similar purpose.

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 any guidance on when to use this tool versus alternatives. It implies usage by stating what it computes and mentioning data freshness, but it lacks explicit context, prerequisites, or exclusions. Sibling tools like get_bulgarian_pension_fund_metric might be more appropriate in certain situations, but no 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_benchmark_seriesBInspect

Get historical benchmark series for pension-fund comparison workflows.

Use with compute/rank tools to compare Bulgarian pension funds against inflation or market proxies over aligned periods. Data freshness: updated as new benchmark source observations become available.

ParametersJSON Schema
NameRequiredDescriptionDefault
date_toNo
date_fromNo
frequencyNodaily
benchmark_slugYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

No annotations provided, so description carries the transparency burden. It adds one behavioral detail: 'Data freshness: updated as new benchmark source observations become available.' This is useful but doesn't disclose more about the series structure, alignment behavior, or potential errors. For a read-only get tool, this is moderate 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?

Three short sentences front-load the purpose and usage, with a closing note on data freshness. No wasteful content, every sentence earns its place.

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 description provides a clear purpose, usage, and data freshness note. However, with a 0% parameter coverage and a very similar sibling tool, the agent may not know when to choose this generic version over `get_bulgarian_pension_benchmark_series`. The output schema exists but is not described in text, which is acceptable, but the overall guidance for selection among siblings is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% – the description does not explain any of the four parameters (benchmark_slug, date_from, date_to, frequency). It only hints at 'aligned periods' but gives no details on formats, defaults, or required parameters. This fails to compensate for the schema's lack of descriptions.

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 'Get historical benchmark series' with a specific purpose for pension-fund comparison workflows. It references Bulgarian pension funds and market proxies, giving resource and scope. However, it doesn't explicitly distinguish itself from the similarly named sibling `get_bulgarian_pension_benchmark_series`, so it's not a perfect 5.

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: 'Use with compute/rank tools to compare Bulgarian pension funds against inflation or market proxies over aligned periods.' This tells the agent when to use it in comparative workflows, but doesn't mention any exclusions or alternative tools.

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

get_bulgarian_pension_benchmarksAInspect

Alias for list_benchmarks with Bulgarian pension comparison context.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 only states that it is an alias, disclosing inheritance but not the actual behavior (e.g., what list_benchmarks returns, data freshness, side effects). This is minimal.

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 with no waste. It front-loads the alias identity and adds the contextual scope efficiently.

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 zero-parameter tool with an output schema, the description is nearly sufficient. However, it relies on knowledge of `list_benchmarks` and does not explain what 'Bulgarian pension comparison context' actually entails, leaving a small gap.

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 zero parameters, and the schema fully documents that. The description adds no parameter semantics, which is acceptable since there are none. Baseline for zero params is 4.

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 identifies this as an alias for `list_benchmarks` scoped to Bulgarian pension comparison, which is specific and distinguishes it from the generic sibling tool. The name reinforces the purpose.

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 phrasing 'with Bulgarian pension comparison context' implies when to use it—when you need Bulgarian pension benchmarks—but it doesn't explicitly state when not to use it or contrast it with alternatives beyond the alias reference.

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

get_bulgarian_pension_benchmark_seriesCInspect

Alias for get_benchmark_series to retrieve inflation/market comparators for UPF/PPF/VPF.

ParametersJSON Schema
NameRequiredDescriptionDefault
date_toNo
date_fromNo
frequencyNodaily
benchmark_slugYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It only says 'retrieve', implying a read-only operation, but provides no details on return format, potential errors, rate limits, or inherited behavior from the aliased tool. The alias reference gives some context but is insufficient without further elaboration.

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, concise sentence with no fluff. It is well-structured and immediately communicates the core purpose without unnecessary detail.

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?

Given the tool has 4 parameters, no annotations, and only a minimal description, it is insufficiently complete for reliable autonomous use. The alias reference and domain context help, but the description omits critical operational details such as how to find valid benchmark slugs, default date ranges, or the meaning of frequency options. The presence of an output schema partially compensates, but the overall completeness is low.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds minimal context about what benchmark_slug represents (inflation/market comparators), but it does not explain the date_from, date_to, or frequency parameters. With schema coverage at 0%, the description fails to compensate for parameter ambiguity, leaving agents to guess at valid input formats and slug values.

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 this is an alias for get_benchmark_series and clarifies the purpose: retrieving inflation/market comparators for UPF/PPF/VPF. It identifies the resource type (benchmark series) and the Bulgarian pension context, distinguishing it from the more general sibling tool.

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 explicit guidance on when to use this tool versus alternatives. It mentions being an alias for get_benchmark_series but does not explain when to prefer this over the general tool or other benchmark-related siblings. The usage context is implied (Bulgarian pension benchmarks) but not explicitly stated.

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

get_bulgarian_pension_fund_managersBInspect

Alias for list_managers with explicit Bulgarian pension context for agent discovery.

ParametersJSON Schema
NameRequiredDescriptionDefault
scheme_codeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/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 only states it is an alias, providing no detail on side effects, permissions, data scope, or behavior. Since the alias target's behavior isn't described here, the agent gets minimal 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 a single, concise sentence that directly states the tool's nature as an alias. It is front-loaded and contains no unnecessary words, earning its place.

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?

As a simple alias with one optional parameter and an output schema, the description is minimal but reasonably complete for an alias note. However, it assumes knowledge of `list_managers` and does not explain the parameter or any behavior beyond the alias relationship, leaving gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description does not mention the `scheme_code` parameter, and the schema itself has no descriptions (0% coverage). The enum values (upf, ppf, dpf) and default null offer some semantic clues, but the description adds no meaning, leaving the parameter's purpose ambiguous.

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 identifies the tool as an alias for `list_managers` with a Bulgarian pension context, making the resource and scope clear. It distinguishes from sibling tools by explicitly targeting Bulgarian pension fund managers, though it lacks a direct verb like 'lists'.

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 phrase 'with explicit Bulgarian pension context for agent discovery' implies use for Bulgarian pension scenarios, but it does not explicitly say when to use this over the generic `list_managers` or other alternatives. No clear exclusions or alternative suggestions are given.

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

get_bulgarian_pension_fund_metricCInspect

Alias for compute_metric with explicit Bulgarian pension metric intent.

ParametersJSON Schema
NameRequiredDescriptionDefault
metricYes
periodYes
windowNo
fund_idNo
frequencyNodaily
scheme_codeNo
manager_slugNo
benchmark_slugNo
risk_free_rateNo
risk_free_slugNo
benchmark_target_slugNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only states that this is an alias for `compute_metric`, which implies identical behavior but does not disclose any actual behavioral traits such as side effects, permissions, or return format. For a tool with 11 parameters and no annotations, this is a significant gap.

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 with no wasted words, making it concise and easy to process. However, it is under-specified for the tool's complexity, which slightly detracts from its effectiveness. It still earns a high score for brevity and clear front-loading of the alias relationship.

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?

Given the tool has 11 parameters, no annotations, and a simple alias statement, the description is incomplete for practical use. It does not explain how parameters relate to Bulgarian pension metrics, what kind of output to expect (beyond the existence of an output schema), or how this differs from `get_bulgarian_pension_metrics_catalog` and sibling ranking tools. An agent would be under-informed when selecting and invoking this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must compensate for explaining the parameters, but it does not. The only hint is the name and the phrase 'Bulgarian pension metric intent,' suggesting that the `metric` parameter is Bulgaria-specific, but no explicit semantics are provided for any of the 11 parameters. This adds minimal value beyond the raw schema.

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 this is an alias for `compute_metric` with specific Bulgarian pension metric intent, making the tool's purpose evident. It distinguishes itself from the generic `compute_metric` by focusing on Bulgarian pension funds, and from other Bulgarian-specific tools by referencing the compute_metric function directly. However, it doesn't explicitly define what 'metric' means in this context, relying on the name and reference.

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 provides minimal guidance on when to use this tool versus alternatives like `compute_metric` or other Bulgarian-specific ranking tools. It implies a Bulgarian pension metric use case but does not explicitly state when to prefer this alias over `compute_metric` directly, nor does it mention excluded scenarios or prerequisites. This leaves the agent without clear selection criteria.

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

get_bulgarian_pension_fund_nav_seriesDInspect

Alias for get_nav_series with explicit pension NAV semantics for tool-RAG routing.

ParametersJSON Schema
NameRequiredDescriptionDefault
date_toNo
fund_idNo
date_fromNo
frequencyNodaily
scheme_codeNo
manager_slugNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior1/5

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

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It mentions nothing about side effects, permissions, return behavior, or safety (read-only vs. mutating). The description is purely a routing alias note and provides zero 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.

Conciseness2/5

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

The description is one sentence, so it is short, but it is under-specified to the point of being nearly unhelpful. It provides a routing hint but not a proper tool explanation. This is under-specification, not effective conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 6 parameters, an output schema, and a clear domain (pension fund NAV series), the description is extremely incomplete. It only says it's an alias for routing, missing what the function does, how to use it, what the output represents, or any parameter context. The output schema exists but doesn't compensate for the lack of description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no meaning to any of the six parameters. None of the parameters (date_to, fund_id, date_from, frequency, scheme_code, manager_slug) are explained. The description fails entirely to compensate for the missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The name indicates 'get Bulgarian pension fund NAV series', and the description says it's an alias for get_nav_series with pension semantics. This conveys it retrieves NAV data, but the description itself doesn't explicitly state the verb or resource; it's meta about routing. It distinguishes minimally from get_nav_series via 'pension NAV semantics' but lacks concrete detail.

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 only states it's an alias for get_nav_series with routing semantics, not when a user/agent should prefer it over get_nav_series or other sibling tools. There are no explicit conditions or exclusions.

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

get_bulgarian_pension_fundsBInspect

Alias for list_funds to discover UPF/PPF/VPF fund IDs for FSC-based analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
active_onlyNo
scheme_codeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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. It only states that the tool is an alias and describes the purpose, without mentioning that it is a read-only operation, any side effects, or the exact return format.

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 with no filler words. It front-loads the alias relationship and the purpose, making it maximally concise for the information it conveys.

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?

While the tool is a simple alias, the description is too thin to be complete: it does not explain the parameters, the read-only nature, or how it differs from `list_funds`. The presence of an output schema helps, but the description should at least reference the full documentation for `list_funds`.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has two parameters (`active_only` and `scheme_code`) with 0% coverage from the description. The description does not explain these parameters, though the mention of fund types gives a slight hint about `scheme_code`. It fails to compensate for the schema's lack of descriptions.

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 identifies the tool as an alias for `list_funds` and states its purpose: discovering UPF/PPF/VPF fund IDs for FSC-based analysis. This provides a specific verb and resource, though the mention of VPF may conflict with the schema's `dpf` option, slightly reducing clarity.

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 a clear context: use this tool to discover fund IDs for FSC-based analysis. It mentions it is an alias for `list_funds`, which implies equivalence, but does not explicitly state when to prefer one over the other.

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

get_bulgarian_pension_metrics_catalogAInspect

Alias for list_metrics so agents can semantically find available pension metrics.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/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 only states it is an alias, giving no detail about side effects, return behavior, or any safety characteristics. The phrase 'find available pension metrics' suggests a read-only listing, but the description does not confirm this or mention any other 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.

Conciseness5/5

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

The description is a single sentence that is concise and front-loaded with the key fact that it is an alias for `list_metrics`. Every word serves a purpose, and the structure is optimal for a trivial alias tool.

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 is an alias with no parameters and an output schema is present, the description is mostly complete. It points to `list_metrics` for further context, which is helpful but slightly indirect. It does not explain what `list_metrics` does, but for an alias, this is acceptable as long as the target tool is well-documented.

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 zero parameters, so the baseline is 4 per the rubric. The description does not need to explain parameter semantics since there are none. It adds no parameter information, but none is required.

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 is an alias for `list_metrics`, implying its purpose is to list available pension metrics. It distinguishes itself from siblings by explicitly naming the canonical tool it aliases, though it does not describe what `list_metrics` does. The verb 'find' and resource 'pension metrics' are present, making the purpose reasonably clear.

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 when an agent wants to semantically find pension metrics, but it provides no explicit when-to-use vs alternatives or exclusions. It only references `list_metrics` as the alias target, which indirectly tells the agent that either tool can be used, but it does not elaborate on scenarios or prerequisites.

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

get_holdings_reports_indexAInspect

Get a lightweight summary index of pension fund holdings reports.

Returns allocation metadata (equity %, domestic %, funds %) and top holdings for each report without loading full content. Use this for quick discovery to decide which reports to load in full with read_holdings_report.

ParametersJSON Schema
NameRequiredDescriptionDefault
date_toNo
date_fromNo
fund_typeNo
manager_slugNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description carries the burden. It discloses that this is a lightweight read operation returning summary metadata and top holdings, and does not load full content. This communicates low-cost, non-destructive behavior, though it omits details like pagination or whether filters are required.

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 tightly written sentences: main purpose, return content, and recommended usage. Every sentence earns its place with no repetition or filler.

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 output schema covers return structure, and the description explains what the index contains and when to use it. The main gap is parameter guidance, but for a simple, all-optional-filter index tool, the description is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain any of the four parameters (date_to, date_from, fund_type, manager_slug). While names imply filters, there is no mention of accepted formats, semantics, or defaults, so the agent gets no added value beyond the raw 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 opens with a specific verb+resource: 'Get a lightweight summary index of pension fund holdings reports.' It clearly distinguishes itself from siblings by specifying it returns allocation metadata and top holdings 'without loading full content', and explicitly directs full-content needs to `read_holdings_report`.

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?

States an explicit use case: 'Use this for quick discovery to decide which reports to load in full with `read_holdings_report`.' This also names the alternative tool for full reports, providing clear when-to-use vs. when-not-to-use guidance.

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

get_nav_seriesAInspect

Get official NAV time series for a Bulgarian pension fund (UPF/PPF/VPF).

Accepts either fund_id or (manager_slug, scheme_code) and returns normalized NAV points for return/risk calculations and charting. Data freshness: updated as new source NAV observations are ingested.

ParametersJSON Schema
NameRequiredDescriptionDefault
date_toNo
fund_idNo
date_fromNo
frequencyNodaily
scheme_codeNo
manager_slugNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 adds value by mentioning 'returns normalized NAV points' and 'Data freshness: updated as new source NAV observations are ingested,' which go beyond the schema. However, it does not disclose default behavior when no parameters are supplied, what happens if both fund_id and manager_slug are provided, or any pagination/rate limits. This is adequate but leaves important 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 three sentences long, each serving a distinct purpose: what it does, how to call it, and data freshness. It is front-loaded with the core purpose and contains no filler or redundant information. Every sentence earns its place.

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 has 6 parameters and no required ones, the description should clarify default behavior and edge cases. It explains the primary parameter grouping and output purpose but omits what happens when no identifiers are provided, frequency semantics, and date range defaults. The presence of an output schema reduces the need to describe return structure, but these missing behavioral details make the description incomplete for safe invocation.

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 0%, so the description must compensate. It clarifies the relationship between fund_id and the manager_slug+scheme_code pair, which is crucial and not obvious from the schema alone. However, it does not explain date_from, date_to, or frequency parameters, leaving their semantics undocumented. Since only half the parameters are semantically described, the description provides partial compensation but not full coverage.

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 ('Get') and explicitly identifies the resource ('official NAV time series for a Bulgarian pension fund (UPF/PPF/VPF)'). It clearly distinguishes this tool from siblings like get_benchmark_series by naming the exact asset type and fund categories. The mention of 'return/risk calculations and charting' further clarifies its intended use case.

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 clear context on how to use the tool by specifying the two accepted parameter combinations: 'either fund_id or (manager_slug, scheme_code)'. It also indicates the purpose ('for return/risk calculations and charting'), implying when this tool is appropriate. However, it does not explicitly state when not to use it or mention alternatives like get_bulgarian_pension_fund_nav_series, so it lacks explicit exclusions.

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

list_benchmarksAInspect

List benchmark assets for Bulgarian pension comparisons.

Includes inflation and market references used to evaluate relative performance of UPF, PPF, and VPF/DPF funds. Data freshness: benchmark metadata is stable; prices are updated as new source data arrives.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It provides valuable information about data freshness (metadata stable, prices updated as new source data arrives), which explains the update behavior. However, it does not disclose other behavioral traits such as authentication, rate limits, or the exact structure of the returned list (though output schema partially covers that).

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 and front-loaded with the primary purpose, followed by a separate sentence for data freshness. Every sentence adds value: the first defines the tool's function and scope, the second clarifies data volatility. No unnecessary words or repetition.

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 (zero parameters) and the presence of an output schema, the description is fairly complete. It provides the domain, scope, and data freshness expectations. It could be slightly richer by explicitly noting whether the list includes all benchmarks or what specific fields are returned, but the output schema likely covers those details, so this is adequate.

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 zero parameters, so the description correctly includes no parameter details. The schema coverage is 100% (vacuously), and the description's mention of scope (benchmark assets for Bulgarian pensions) provides context for what the list contains, satisfying the baseline for zero-parameter tools.

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 uses a specific verb ('list') and resource ('benchmark assets') with a clear domain (Bulgarian pension comparisons). It adds context about including inflation and market references and specific fund types (UPF, PPF, VPF/DPF), which clarifies its scope. However, it does not explicitly distinguish itself from similar sibling tools like get_bulgarian_pension_benchmarks or get_benchmark_series.

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 stating it lists benchmark assets and includes institutional fund types, but it does not explicitly state when to use this tool over its siblings or provide any exclusions/alternatives. The context of Bulgarian pension comparisons is useful but the guidance is not explicit.

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

list_fundsAInspect

List Bulgarian private pension funds and canonical fund IDs.

Returns fund_id in manager_slug:scheme_code format for UPF, PPF, and VPF/DPF. Use this as discovery before calling NAV, metric, and ranking tools. Data freshness: fund metadata follows latest FSC-tracked manager/scheme dataset.

ParametersJSON Schema
NameRequiredDescriptionDefault
active_onlyNo
scheme_codeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

No annotations are provided, so the description bears the full burden. It discloses the return format of `fund_id` and data freshness, which is useful context. However, it does not mention filtering behavior (e.g., active_only default) or potential side effects, though as a read-only list tool, side effects are minimal. The description adds some value but lacks comprehensive behavioral detail.

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 three sentences, each providing essential value: the core purpose, usage guidance, and data freshness. No redundant or filler content; it is tightly written 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?

With an output schema present, return-value details are not needed. The description covers the tool's purpose, usage, and data freshness, which is sufficient for a list/discovery tool. It could mention how parameters affect the result, but the schema defaults and enums provide partial clarity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain the two parameters. It mentions UPF, PPF, and VPF/DPF, which implicitly relate to `scheme_code`, but it does not clarify that `scheme_code` filters by fund type or explain `active_only`. The description fails to compensate for the schema's lack of parameter documentation.

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 Bulgarian private pension funds and canonical fund IDs, using a specific verb and resource. It distinguishes itself from sibling tools by highlighting the `fund_id` format and its role as a discovery tool before NAV, metric, and ranking 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 says 'Use this as discovery before calling NAV, metric, and ranking tools,' providing clear when-to-use guidance. It does not explicitly mention alternatives or exclusions, but the discovery role is well-defined and sufficient for guiding the agent.

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

list_holdings_reportsAInspect

List available markdown holdings reports for Bulgarian pension funds.

Reports contain detailed portfolio holdings data extracted from official PDF filings and converted to structured markdown with metadata (allocation %, exposure, top holdings).

Use this tool to discover what reports are available before loading specific ones with read_holdings_report. Filter by manager, fund type, or date range.

ParametersJSON Schema
NameRequiredDescriptionDefault
date_toNo
date_fromNo
fund_typeNo
manager_slugNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 adds meaningful context by explaining that reports are derived from PDF filings, converted to markdown, and include metadata like allocation %, exposure, and top holdings. It does not explicitly state the tool is read-only, but the list/discovery framing makes that behavior apparent, and the added provenance details go beyond basic semantics.

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 three sentences, each earning its place: the first states the core action, the second explains the content and provenance of the reports, and the third gives usage guidance. There is no fluff or repetition; the structure is front-loaded and efficient.

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 simple list/discovery tool with all optional parameters and an output schema, the description is fully sufficient. It covers what the tool lists, what the reports contain, how to use it in relation to `read_holdings_report`, and the available filters. The output schema handles return details, so no further exposition is needed.

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 0%, so the description must compensate. It mentions filtering by 'manager, fund type, or date range,' which loosely maps to all four parameters (manager_slug, fund_type, date_from, date_to), but it does not provide exact value formats (e.g., date syntax, slug format). This is a partial compensation, leaving some ambiguity about how to fill the parameters.

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 opens with a specific verb and resource: 'List available markdown holdings reports for Bulgarian pension funds.' It clearly distinguishes this discovery tool from the sibling `read_holdings_report` by stating it is for listing before loading specific reports. The scope is precise.

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?

Explicit guidance is provided: 'Use this tool to discover what reports are available before loading specific ones with read_holdings_report.' It also names the filter dimensions (manager, fund type, date range), giving clear context for when to use the tool and what it is for.

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

list_managersAInspect

Retrieve Bulgarian pension manager metadata for UPF, PPF, and VPF/DPF schemes.

Use this to discover licensed managers and their supported scheme types before running rankings or metric calculations over FSC-tracked pension data. Data freshness: reflects latest ingested official FSC manager/scheme coverage.

ParametersJSON Schema
NameRequiredDescriptionDefault
scheme_codeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 adds useful context about data freshness ('reflects latest ingested official FSC manager/scheme coverage') and implies a read-only operation via 'Retrieve'. However, it does not disclose potential exclusions, error behavior, or limitations, leaving a moderate transparency 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 and front-loaded. It consists of a one-sentence purpose, a usage tip, and a data-freshness note—no filler or redundant content. Every sentence earns its place.

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?

For a simple list tool with a single optional parameter and an output schema, the description adequately conveys purpose and usage context. However, the lack of parameter semantics explanation and the 'VPF' vs enum mismatch prevent the description from being fully complete for correct invocation. It does not explain what the output contains beyond 'metadata', but the output schema presumably covers that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter (scheme_code) with 0% description coverage, and the description never explicitly explains how the parameter filters results. It mentions scheme types in the purpose, but does not define valid values or the meaning of null/default. This is a significant gap for the only input parameter.

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 retrieves Bulgarian pension manager metadata for UPF, PPF, and VPF/DPF schemes, using a specific verb and resource. However, it mentions 'VPF/DPF' while the input schema only supports 'upf', 'ppf', and 'dpf', creating slight ambiguity about the exact scheme scope. It does not explicitly distinguish itself from the sibling tool get_bulgarian_pension_fund_managers, but the core purpose is 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?

The description provides explicit when-to-use guidance: 'Use this to discover licensed managers and their supported scheme types before running rankings or metric calculations over FSC-tracked pension data.' It does not mention when not to use it or name alternative tools, but the intended context is clear and actionable.

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

list_metricsAInspect

List all supported financial metric identifiers for MCP analytics tools.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 clearly implies a read-only operation by using 'List' and specifies the scope ('for MCP analytics tools'). However, it doesn't disclose potential size of the list, whether it includes all metrics across datasets, or if any special considerations apply.

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?

A single sentence that front-loads the action ('List') and immediately states the resource. Every word is informative, with no verbosity or 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?

The tool is simple (no parameters, output schema present). The description fully conveys what the tool does and its scope. Given the presence of an output schema, there is no need to explain return values. This is complete for an agent to select and 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 tool has zero parameters, so the schema provides no parameter semantics. The description adds value by clarifying that the output will be metric identifiers, which is exactly the type of information an agent needs. With 0 params, baseline is 4, and the description earns it.

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 the specific verb 'List' with a clear resource: 'all supported financial metric identifiers for MCP analytics tools'. It clearly distinguishes from sibling list_* tools (list_benchmarks, list_funds, list_managers) by focusing on metrics, and from get_bulgarian_pension_metrics_catalog by being general rather than Bulgarian-specific.

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 explicit guidance on when to use this tool versus alternatives. It doesn't mention that this might be used to discover valid metric identifiers before calling compute_metric or other metric-consuming tools, nor does it clarify the distinction from get_bulgarian_pension_metrics_catalog.

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

rankAInspect

Rank funds within UPF/PPF/VPF schemes by a selected metric and period.

Supports optional extra columns via include_metrics for agent-friendly table outputs. Data freshness: rankings are computed from the latest ingested FSC-aligned NAV dataset.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
orderNodesc
metricYes
offsetNo
periodYes
windowNo
frequencyNodaily
scheme_codeYes
benchmark_slugNo
risk_free_rateNo
include_metricsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description discloses useful behavioral context: rankings are computed from the latest FSC-aligned NAV dataset, and include_metrics affects output columns. This goes beyond basic functionality, though it does not mention read-only behavior or pagination details.

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-loaded with the core purpose and followed by useful optional details. No unnecessary words or repetition.

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?

Given the tool's complexity (11 parameters) and the absence of parameter documentation, the description leaves many usage aspects unexplained, such as the meaning and purpose of benchmark_slug and risk_free_rate. While an output schema exists, the description would benefit from mentioning advanced metric options or parameter dependencies.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It explicitly explains include_metrics and implies metric and period, but it does not clarify many parameters like window, frequency, benchmark_slug, or risk_free_rate, leaving significant ambiguity for the agent.

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 ranks funds within UPF/PPF/VPF schemes by a selected metric and period, using a specific verb and resource. This distinguishes it from sibling tools like rank_benchmarks, which rank benchmarks rather than funds.

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 clear context: it ranks funds within specific schemes, implying its use for fund rankings. Although no explicit alternatives or exclusions are mentioned, the scope is clear enough to guide an agent away from benchmark-ranking tools.

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

rank_benchmarksCInspect

Rank benchmark assets by metric and period for market-context comparison.

Data freshness: rankings reflect latest ingested benchmark observations.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
orderNodesc
metricYes
offsetNo
periodYes
windowNo
frequencyNodaily
benchmark_slugNo
risk_free_rateNo
include_metricsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

The description adds a useful data freshness caveat ('rankings reflect latest ingested benchmark observations'), which gives insight into data update behavior. However, with no annotations, it does not disclose whether this is read-only, any authentication requirements, or potential side effects, 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 concise, with two clear sentences. The main purpose is front-loaded, and the data freshness note is a useful secondary detail. It is not verbose, though it could benefit from a structured parameter overview given the tool's complexity.

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?

For a tool with 10 parameters and no annotations, the description is insufficient. It does not clarify what 'benchmark assets' are, what valid metrics are, or how 'period' should be formatted. While an output schema exists, the input semantics and tool behavior are under-specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions only 'metric' and 'period' by name, mapping to the two required parameters. With 10 parameters total and 0% schema coverage, it fails to explain the meaning of limit, order, offset, window, frequency, benchmark_slug, risk_free_rate, and include_metrics, providing minimal semantic value.

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 ranks benchmark assets by metric and period for market-context comparison. It uses a specific verb (rank) and resource (benchmark assets), distinguishing it from pension-specific ranking tools, though a generic sibling 'rank' exists.

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 explicit guidance is given on when to use this tool vs alternatives like 'rank_bulgarian_pension_benchmarks_by_metric' or 'rank'. The purpose phrase 'for market-context comparison' implies a context but does not state exclusions or preferred scenarios.

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

rank_bulgarian_pension_benchmarks_by_metricDInspect

Alias for rank_benchmarks for semantically rich benchmark ranking discovery.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
orderNodesc
metricYes
offsetNo
periodYes
windowNo
frequencyNodaily
scheme_codeNoupf
benchmark_slugNo
risk_free_rateNo
include_metricsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior1/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 does not mention whether this is a read-only operation, how it handles scoping (e.g., scheme_code, benchmark_slug), or any other behavioral characteristics. The description provides zero transparency beyond naming an alias.

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

Conciseness2/5

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

The description is short, but this is under-specification rather than conciseness. It is one sentence with no substantive content—merely an alias reference plus a vague phrase. It does not earn its place by adding meaningful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 11 parameters, 2 required, no schema coverage, and a rich set of sibling tools, the description is completely inadequate. It lacks any context about the parameters, expected behavior, or what distinguishes this ranking tool from similar ones. The presence of an output schema does not compensate for the missing usage and parameter semantics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description adds no meaning to any of the 11 parameters. It does not explain what `metric`, `period`, `window`, `frequency`, `scheme_code`, or other fields represent. With no parameter guidance, the description fails to help an agent use the schema correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description only says 'Alias for `rank_benchmarks` for semantically rich benchmark ranking discovery.' It does not explicitly state that this tool ranks Bulgarian pension benchmarks by metric; it merely references another tool and vaguely mentions 'ranking discovery.' This is closer to restating the name than providing a clear verb+resource definition.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives like `rank_benchmarks`, `rank_bulgarian_pension_funds_by_metric`, or `rank`. The phrase 'semantically rich benchmark ranking discovery' gives no concrete context, exclusions, or alternative recommendations.

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

rank_bulgarian_pension_funds_by_metricBInspect

Alias for rank to semantically target Bulgarian UPF/PPF/VPF leaderboard queries.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
orderNodesc
metricYes
offsetNo
periodYes
windowNo
frequencyNodaily
scheme_codeYes
benchmark_slugNo
risk_free_rateNo
include_metricsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

With no annotations, the description must carry the transparency burden, but it only says it is an alias for `rank`. It does not disclose actual ranking behavior, sorting logic, or any side effects. The alias fact is useful but insufficient for a complex 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 a single, front-loaded sentence with zero waste. Every word contributes: it identifies the alias relation and the semantic targeting. It is appropriately concise for the limited information it conveys.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the tool has 11 parameters, 3 required, and no schema-level descriptions. The one-line alias note does not explain how to construct valid requests, what metrics or periods are acceptable, or how the alias relates to the full behavior of `rank`.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description mentions none of the 11 parameters. It does not add any meaning to `metric`, `period`, `scheme_code`, or the other options. This is a major gap for successful invocation.

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 identifies the tool as an alias for `rank` with a semantic focus on Bulgarian UPF/PPF/VPF leaderboards. This differentiates it from the generic `rank` sibling and the benchmark-specific `rank_bulgarian_pension_benchmarks_by_metric`.

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 phrase 'semantically target Bulgarian UPF/PPF/VPF leaderboard queries' gives clear context for when to use this alias (for Bulgarian pension fund rankings). However, it does not explicitly mention exclusions or alternatives beyond the implicit reference to `rank`.

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

read_holdings_reportAInspect

Read a specific markdown holdings report for a Bulgarian pension fund.

Returns the full markdown content (or just metadata if summary_only=True) for a specific manager, fund type, and date. The report includes detailed portfolio holdings with instrument types, issuers, values, and portfolio shares.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesReport date in YYYY-MM-DD format
fund_typeYesFund type code (e.g., 'upf', 'ppf', 'dpf')
manager_slugYesManager identifier (e.g., 'dskrodina', 'allianz', 'doverie')
summary_onlyNoIf True, return only parsed metadata (allocation, exposure, top holdings)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description carries the full transparency burden. It discloses that the tool returns full markdown content or metadata depending on summary_only, and describes the report contents. It implies a read-only operation via the verb 'read' but does not explicitly state read-only, errors, or permissions. Nonetheless, it adds meaningful behavioral context beyond the bare function name.

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 and front-loaded. The first sentence states the core purpose, and the second paragraph adds necessary detail about return format and report content. Every sentence contributes useful information without 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?

For a read-only tool with four parameters and an output schema, this description is mostly complete. It covers the report's source (Bulgarian pension fund), the identification keys, and the summary_only toggle. It lacks explicit guidance on how to discover available reports, but that is a usage guideline concern, and the tool is otherwise well-specified.

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 baseline is 3. The description adds value by explaining the overall purpose of the parameters (identifying a specific report) and the role of summary_only in controlling output type. It also describes the report's internal content, which helps an agent understand what the retrieved data will look like.

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 begins with a specific verb+resource: 'Read a specific markdown holdings report for a Bulgarian pension fund.' It clearly identifies the scope (specific manager, fund type, date) and distinguishes itself from sibling list/index tools by emphasizing 'specific' and detailing the return behavior.

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?

Usage is implied: use when you need the full markdown content or metadata for a specific holdings report. However, it does not explicitly state when to prefer this over siblings like list_holdings_reports or get_holdings_reports_index, nor does it mention alternatives or exclusions.

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

search_pension_lawBInspect

Search across Bulgarian pension legal framework documents.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch term (e.g., "чл. 175", "equity limits", "инвестиционни ограничения").
documentNoOptional filter to search only one document.
max_resultsNoMaximum number of matching sections to return (default 10).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/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, but it discloses nothing beyond the basic search intent. There is no mention of read-only nature, result snippet behavior, pagination, or any side effects, leaving the agent with significant uncertainty.

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, front-loaded sentence with no redundant wording. Every word contributes to stating the tool's purpose, making it highly concise 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?

The existence of an output schema reduces the need to explain return values, but the description still lacks critical context such as search behavior (e.g., whether it matches exact phrases or stems), result ordering, or document coverage. It is minimally viable but leaves gaps for an AI agent choosing how to phrase queries.

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 already provides 100% coverage with descriptions for all three parameters, including examples for the query. The description adds no additional semantic value about parameters, so the baseline score of 3 applies.

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 specifies the action ('Search') and the resource ('Bulgarian pension legal framework documents'), which is a distinct verb from sibling tools like 'get_pension_legal_framework'. It does not elaborate on search scope (e.g., full-text vs. metadata), but it is unambiguous about the tool's core function.

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 provides no guidance on when to choose this tool over alternatives. It does not mention when to use a search versus retrieving the full framework (e.g., get_pension_legal_framework), nor does it state any exclusions or prerequisites.

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

simulate_bulgarian_pension_saver_outcomeDInspect

Alias for simulate_saver_outcome with explicit Bulgarian pension savings semantics.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateNo
date_fromNo
scheme_codeNoupf
manager_slugNo
monthly_amountNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior1/5

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

There are no annotations, and the description provides no information about behavior such as whether it is read-only, returns data, has side effects, or requires authentication. The description is purely an alias note with zero behavioral disclosure.

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?

The description is concise at one sentence and is front-loaded with the alias information. However, it is under-specified and doesn't earn its place because it adds little value beyond what the name already conveys.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 5 parameters, no annotations, and an output schema, this description is grossly incomplete. It fails to explain the tool's functionality, parameter meanings, return values, or how it differs from the sibling tool beyond being an alias, leaving the agent without critical context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention any parameters or their meaning. The agent gets no help understanding what `monthly_amount`, `scheme_code`, `date_from`, `end_date`, or `manager_slug` represent or how they affect the simulation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description merely says it is an alias for `simulate_saver_outcome` with Bulgarian semantics. This largely restates the tool's name without explaining what the tool actually does, such as how it simulates pension saver outcomes or what parameters affect the result.

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?

It implies usage for Bulgarian pension savings scenarios by mentioning 'explicit Bulgarian pension savings semantics' and names the alternative `simulate_saver_outcome`. However, it does not explicitly state when to use this over the generic tool or provide any exclusion criteria.

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

simulate_saver_outcomeCInspect

Simulate saver outcomes with periodic contributions into Bulgarian pension funds.

Estimates invested amount, terminal value, and IRR-like performance diagnostics. Data freshness: simulation uses the latest available NAV history in the dataset.

ParametersJSON Schema
NameRequiredDescriptionDefault
fund_idNo
end_dateNo
start_dateNo2005-01-01
scheme_codeYes
manager_slugNo
monthly_contributionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With no annotations, the description carries the burden of disclosing behavior. It mentions that the simulation uses 'the latest available NAV history in the dataset', providing some data freshness context. It also indicates the nature of outputs, but it does not explicitly state that the operation is non-mutating or clarify any side effects. This is adequate but not detailed.

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 highly concise, consisting of two short sentences that front-load the primary purpose and output. The 'Data freshness' clause adds useful behavioral context without unnecessary verbosity. Every sentence earns its place.

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?

Given the complexity of a simulation tool with six parameters, a similar sibling tool, and an output schema, the description is too sparse. It does not explain the meaning of scheme_code (UPF/PPF/DPF), the role of optional filters, or how this tool relates to simulate_bulgarian_pension_saver_outcome. The description leaves critical gaps for an agent 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.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has six parameters with 0% description coverage, and the tool description does not explain any of them. It mentions 'periodic contributions' but does not define required parameters like scheme_code or monthly_contribution, nor optional ones like fund_id, manager_slug, start_date, or end_date. The description fails to compensate for the complete lack of schema parameter documentation.

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 a specific action ('Simulate saver outcomes with periodic contributions into Bulgarian pension funds') and the outputs ('invested amount, terminal value, and IRR-like performance diagnostics'). It distinguishes the tool's core function, though it does not explicitly differentiate from the similarly named sibling 'simulate_bulgarian_pension_saver_outcome', preventing a top score.

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?

There is no guidance on when to use this tool versus alternatives. The description does not mention exclusions, prerequisites, or why one would choose this over the sibling tool. It only provides a generic simulation context, leaving usage entirely implied.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    MCP server for listing, comparing, and analyzing Turkish TEFAS mutual funds, including performance metrics and portfolio breakdowns.
    6
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    63 deterministic quant computation tools for autonomous financial agents. Options pricing, derivatives, risk metrics, portfolio optimization, statistics, crypto/DeFi, macro/FX, time value of money. 1,000 free calls/day, no signup required.
    74
    11
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    Enables comprehensive analysis of Interactive Brokers portfolios through automated data fetching and multi-dimensional analytics. Provides performance, tax, cost, risk, and bond analysis across multiple accounts with rich reporting capabilities.
    2
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    Brazilian investment-fund analytics for AI clients via the Model Context Protocol (MCP). Connect Claude Desktop, Cursor, ChatGPT, or any MCP-compatible client to query 30,000+ Brazilian investment funds: daily NAV, complete holdings (CDA), fund-of-funds look-through, portfolio overlap analysis, and your personal favorites/watchlist.
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.