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.
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.
Tool Definition Quality
Average 3.3/5 across 26 of 26 tools scored. Lowest: 2.4/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 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.
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.
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 toolscache_statsAInspect
Return MCP cache telemetry for diagnostics and performance debugging.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| metric | Yes | ||
| period | Yes | ||
| window | No | ||
| fund_id | No | ||
| frequency | No | daily | |
| scheme_code | No | ||
| manager_slug | No | ||
| benchmark_slug | No | ||
| risk_free_rate | No | ||
| risk_free_slug | No | ||
| benchmark_target_slug | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date_to | No | ||
| date_from | No | ||
| frequency | No | daily | |
| benchmark_slug | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date_to | No | ||
| date_from | No | ||
| frequency | No | daily | |
| benchmark_slug | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| scheme_code | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| metric | Yes | ||
| period | Yes | ||
| window | No | ||
| fund_id | No | ||
| frequency | No | daily | |
| scheme_code | No | ||
| manager_slug | No | ||
| benchmark_slug | No | ||
| risk_free_rate | No | ||
| risk_free_slug | No | ||
| benchmark_target_slug | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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_fundsBInspect
Alias for list_funds to discover UPF/PPF/VPF fund IDs for FSC-based analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| active_only | No | ||
| scheme_code | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date_to | No | ||
| date_from | No | ||
| fund_type | No | ||
| manager_slug | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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_pension_legal_frameworkAInspect
Return the full text of Bulgarian pension legal documents.
| Name | Required | Description | Default |
|---|---|---|---|
| document | No | Optional filter – "ordinance_9", "ordinance_33", or "kso". If omitted, returns all available documents. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of indicating behavior. It states 'Return', implying a read-only operation, but doesn't disclose potential nuances like access restrictions, error behavior, or that it returns all documents unless filtered. Overall, it's basic but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant words. It efficiently communicates the core function without wasting tokens.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one optional parameter), an existing output schema, and clear schema coverage, the description plus schema is largely complete. It lacks a nod to related tools like search_pension_law, but that gap is already handled in the usage dimension.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes the optional 'document' parameter, including allowed values and default behavior. The description adds no parameter-specific information beyond what the schema already covers, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a specific verb ('Return') and resource ('full text of Bulgarian pension legal documents'), which distinguishes it from siblings like search_pension_law. It unambiguously states the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. Although the sibling search_pension_law suggests a differing use case, the description does not mention it or offer any comparative context.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| active_only | No | ||
| scheme_code | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date_to | No | ||
| date_from | No | ||
| fund_type | No | ||
| manager_slug | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| scheme_code | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| order | No | desc | |
| metric | Yes | ||
| offset | No | ||
| period | Yes | ||
| window | No | ||
| frequency | No | daily | |
| scheme_code | Yes | ||
| benchmark_slug | No | ||
| risk_free_rate | No | ||
| include_metrics | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| order | No | desc | |
| metric | Yes | ||
| offset | No | ||
| period | Yes | ||
| window | No | ||
| frequency | No | daily | |
| benchmark_slug | No | ||
| risk_free_rate | No | ||
| include_metrics | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| order | No | desc | |
| metric | Yes | ||
| offset | No | ||
| period | Yes | ||
| window | No | ||
| frequency | No | daily | |
| scheme_code | No | upf | |
| benchmark_slug | No | ||
| risk_free_rate | No | ||
| include_metrics | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| order | No | desc | |
| metric | Yes | ||
| offset | No | ||
| period | Yes | ||
| window | No | ||
| frequency | No | daily | |
| scheme_code | Yes | ||
| benchmark_slug | No | ||
| risk_free_rate | No | ||
| include_metrics | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Report date in YYYY-MM-DD format | |
| fund_type | Yes | Fund type code (e.g., 'upf', 'ppf', 'dpf') | |
| manager_slug | Yes | Manager identifier (e.g., 'dskrodina', 'allianz', 'doverie') | |
| summary_only | No | If True, return only parsed metadata (allocation, exposure, top holdings) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search term (e.g., "чл. 175", "equity limits", "инвестиционни ограничения"). | |
| document | No | Optional filter to search only one document. | |
| max_results | No | Maximum number of matching sections to return (default 10). |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | ||
| date_from | No | ||
| scheme_code | No | upf | |
| manager_slug | No | ||
| monthly_amount | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| fund_id | No | ||
| end_date | No | ||
| start_date | No | 2005-01-01 | |
| scheme_code | Yes | ||
| manager_slug | No | ||
| monthly_contribution | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server for listing, comparing, and analyzing Turkish TEFAS mutual funds, including performance metrics and portfolio breakdowns.6MIT
- AlicenseAqualityBmaintenance63 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.7411MIT
- Alicense-qualityBmaintenanceEnables 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.2MIT
- Alicense-qualityDmaintenanceBrazilian 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