Pensiata - Bulgarian Pension Fund Analytics

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

Should I use this

Quality & Safety

B
Description quality
94%
Schema completeness
58%
Naming quality
88%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (10)

  • LOWTool 'get_pension_legal_framework' description lacks action verbin get_pension_legal_framework
  • LOWTool 'get_bulgarian_pension_fund_managers' name length outside 3-30 rangein get_bulgarian_pension_fund_managers
  • LOWTool 'get_bulgarian_pension_fund_nav_series' name length outside 3-30 rangein get_bulgarian_pension_fund_nav_series
  • LOWTool 'get_bulgarian_pension_benchmarks' name length outside 3-30 rangein get_bulgarian_pension_benchmarks
  • LOWTool 'get_bulgarian_pension_metrics_catalog' name length outside 3-30 rangein get_bulgarian_pension_metrics_catalog
  • LOWTool 'get_bulgarian_pension_benchmark_series' name length outside 3-30 rangein get_bulgarian_pension_benchmark_series
  • LOWTool 'get_bulgarian_pension_fund_metric' name length outside 3-30 rangein get_bulgarian_pension_fund_metric
  • LOWTool 'rank_bulgarian_pension_funds_by_metric' name length outside 3-30 rangein rank_bulgarian_pension_funds_by_metric
  • LOWTool 'rank_bulgarian_pension_benchmarks_by_metric' name length outside 3-30 rangein rank_bulgarian_pension_benchmarks_by_metric
  • LOWTool 'simulate_bulgarian_pension_saver_outcome' name length outside 3-30 rangein simulate_bulgarian_pension_saver_outcome

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~4,407Tokens (tool definitions)
~1.4 KBTypical response size
Significant attention impact (3.44% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "pensiata": {
      "url": "https://mcp.pensiata.me/mcp"
    }
  }
}

Remote endpoints

https://mcp.pensiata.me/mcpstreamable-http

What it can do

Tool inventory

Tools (26)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_managers(scheme_code)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "scheme_code": {
      "anyOf": [
        {
          "enum": [
            "upf",
            "ppf",
            "dpf"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢list_funds(scheme_code, active_only)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "scheme_code": {
      "anyOf": [
        {
          "enum": [
            "upf",
            "ppf",
            "dpf"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "active_only": {
      "default": true,
      "type": "boolean"
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢get_nav_series(fund_id, manager_slug, scheme_code, date_from, date_to, ...)

Get official NAV time series for a Bulgarian pension fund (UPF/PPF/VPF). Accepts either `fund_id` or (`manager_slug`, `scheme_code`) and returns normalized NAV points for return/risk calculations and charting. Data freshness: updated as new source NAV observations are ingested.

Input Schema

{
  "type": "object",
  "properties": {
    "fund_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "manager_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "scheme_code": {
      "anyOf": [
        {
          "enum": [
            "upf",
            "ppf",
            "dpf"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "date_from": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "date_to": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "frequency": {
      "default": "daily",
      "enum": [
        "daily",
        "weekly",
        "monthly"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢list_benchmarks

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.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢list_metrics

List all supported financial metric identifiers for MCP analytics tools.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
⚪cache_stats

Return MCP cache telemetry for diagnostics and performance debugging.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢get_benchmark_series(benchmark_slug, date_from, date_to, frequency)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "benchmark_slug": {
      "type": "string"
    },
    "date_from": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "date_to": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "frequency": {
      "default": "daily",
      "enum": [
        "daily",
        "weekly",
        "monthly"
      ],
      "type": "string"
    }
  },
  "required": [
    "benchmark_slug"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢compute_metric(metric, period, fund_id, manager_slug, scheme_code, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "metric": {
      "type": "string"
    },
    "period": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "additionalProperties": true,
          "type": "object"
        }
      ]
    },
    "fund_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "manager_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "scheme_code": {
      "anyOf": [
        {
          "enum": [
            "upf",
            "ppf",
            "dpf"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "benchmark_target_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "benchmark_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "risk_free_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "risk_free_rate": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "window": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "frequency": {
      "default": "daily",
      "enum": [
        "daily",
        "weekly",
        "monthly"
      ],
      "type": "string"
    }
  },
  "required": [
    "metric",
    "period"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
⚪rank(scheme_code, metric, period, benchmark_slug, order, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "scheme_code": {
      "enum": [
        "upf",
        "ppf",
        "dpf"
      ],
      "type": "string"
    },
    "metric": {
      "type": "string"
    },
    "period": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "additionalProperties": true,
          "type": "object"
        }
      ]
    },
    "benchmark_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "order": {
      "default": "desc",
      "enum": [
        "desc",
        "asc"
      ],
      "type": "string"
    },
    "limit": {
      "default": 50,
      "type": "integer"
    },
    "offset": {
      "default": 0,
      "type": "integer"
    },
    "include_metrics": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "frequency": {
      "default": "daily",
      "enum": [
        "daily",
        "weekly",
        "monthly"
      ],
      "type": "string"
    },
    "risk_free_rate": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "window": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "scheme_code",
    "metric",
    "period"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
⚪rank_benchmarks(metric, period, benchmark_slug, order, limit, ...)

Rank benchmark assets by metric and period for market-context comparison. Data freshness: rankings reflect latest ingested benchmark observations.

Input Schema

{
  "type": "object",
  "properties": {
    "metric": {
      "type": "string"
    },
    "period": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "additionalProperties": true,
          "type": "object"
        }
      ]
    },
    "benchmark_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "order": {
      "default": "desc",
      "enum": [
        "desc",
        "asc"
      ],
      "type": "string"
    },
    "limit": {
      "default": 50,
      "type": "integer"
    },
    "offset": {
      "default": 0,
      "type": "integer"
    },
    "include_metrics": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "frequency": {
      "default": "daily",
      "enum": [
        "daily",
        "weekly",
        "monthly"
      ],
      "type": "string"
    },
    "risk_free_rate": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "window": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "metric",
    "period"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
⚪simulate_saver_outcome(monthly_contribution, scheme_code, manager_slug, fund_id, start_date, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "monthly_contribution": {
      "type": "number"
    },
    "scheme_code": {
      "enum": [
        "upf",
        "ppf",
        "dpf"
      ],
      "type": "string"
    },
    "manager_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "fund_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "start_date": {
      "default": "2005-01-01",
      "type": "string"
    },
    "end_date": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "monthly_contribution",
    "scheme_code"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢get_bulgarian_pension_fund_managers(scheme_code)

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

Input Schema

{
  "type": "object",
  "properties": {
    "scheme_code": {
      "anyOf": [
        {
          "enum": [
            "upf",
            "ppf",
            "dpf"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢get_bulgarian_pension_funds(scheme_code, active_only)

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

Input Schema

{
  "type": "object",
  "properties": {
    "scheme_code": {
      "anyOf": [
        {
          "enum": [
            "upf",
            "ppf",
            "dpf"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "active_only": {
      "default": true,
      "type": "boolean"
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢get_bulgarian_pension_fund_nav_series(fund_id, manager_slug, scheme_code, date_from, date_to, ...)

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

Input Schema

{
  "type": "object",
  "properties": {
    "fund_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "manager_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "scheme_code": {
      "anyOf": [
        {
          "enum": [
            "upf",
            "ppf",
            "dpf"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "date_from": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "date_to": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "frequency": {
      "default": "daily",
      "enum": [
        "daily",
        "weekly",
        "monthly"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢get_bulgarian_pension_benchmarks

Alias for `list_benchmarks` with Bulgarian pension comparison context.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢get_bulgarian_pension_metrics_catalog

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

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢get_bulgarian_pension_benchmark_series(benchmark_slug, date_from, date_to, frequency)

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

Input Schema

{
  "type": "object",
  "properties": {
    "benchmark_slug": {
      "type": "string"
    },
    "date_from": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "date_to": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "frequency": {
      "default": "daily",
      "enum": [
        "daily",
        "weekly",
        "monthly"
      ],
      "type": "string"
    }
  },
  "required": [
    "benchmark_slug"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢get_bulgarian_pension_fund_metric(metric, period, fund_id, manager_slug, scheme_code, ...)

Alias for `compute_metric` with explicit Bulgarian pension metric intent.

Input Schema

{
  "type": "object",
  "properties": {
    "metric": {
      "type": "string"
    },
    "period": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "additionalProperties": true,
          "type": "object"
        }
      ]
    },
    "fund_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "manager_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "scheme_code": {
      "anyOf": [
        {
          "enum": [
            "upf",
            "ppf",
            "dpf"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "benchmark_target_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "benchmark_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "risk_free_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "risk_free_rate": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "window": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "frequency": {
      "default": "daily",
      "enum": [
        "daily",
        "weekly",
        "monthly"
      ],
      "type": "string"
    }
  },
  "required": [
    "metric",
    "period"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
⚪rank_bulgarian_pension_funds_by_metric(scheme_code, metric, period, benchmark_slug, order, ...)

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

Input Schema

{
  "type": "object",
  "properties": {
    "scheme_code": {
      "enum": [
        "upf",
        "ppf",
        "dpf"
      ],
      "type": "string"
    },
    "metric": {
      "type": "string"
    },
    "period": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "additionalProperties": true,
          "type": "object"
        }
      ]
    },
    "benchmark_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "order": {
      "default": "desc",
      "enum": [
        "desc",
        "asc"
      ],
      "type": "string"
    },
    "limit": {
      "default": 50,
      "type": "integer"
    },
    "offset": {
      "default": 0,
      "type": "integer"
    },
    "include_metrics": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "frequency": {
      "default": "daily",
      "enum": [
        "daily",
        "weekly",
        "monthly"
      ],
      "type": "string"
    },
    "risk_free_rate": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "window": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "scheme_code",
    "metric",
    "period"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
⚪rank_bulgarian_pension_benchmarks_by_metric(metric, period, benchmark_slug, order, limit, ...)

Alias for `rank_benchmarks` for semantically rich benchmark ranking discovery.

Input Schema

{
  "type": "object",
  "properties": {
    "metric": {
      "type": "string"
    },
    "period": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "additionalProperties": true,
          "type": "object"
        }
      ]
    },
    "benchmark_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "order": {
      "default": "desc",
      "enum": [
        "desc",
        "asc"
      ],
      "type": "string"
    },
    "limit": {
      "default": 50,
      "type": "integer"
    },
    "offset": {
      "default": 0,
      "type": "integer"
    },
    "include_metrics": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "frequency": {
      "default": "daily",
      "enum": [
        "daily",
        "weekly",
        "monthly"
      ],
      "type": "string"
    },
    "risk_free_rate": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "window": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "scheme_code": {
      "default": "upf",
      "enum": [
        "upf",
        "ppf",
        "dpf"
      ],
      "type": "string"
    }
  },
  "required": [
    "metric",
    "period"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
⚪simulate_bulgarian_pension_saver_outcome(manager_slug, scheme_code, monthly_amount, date_from, end_date)

Alias for `simulate_saver_outcome` with explicit Bulgarian pension savings semantics.

Input Schema

{
  "type": "object",
  "properties": {
    "manager_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "scheme_code": {
      "default": "upf",
      "enum": [
        "upf",
        "ppf",
        "dpf"
      ],
      "type": "string"
    },
    "monthly_amount": {
      "default": 200,
      "type": "number"
    },
    "date_from": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "end_date": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢list_holdings_reports(manager_slug, fund_type, date_from, date_to)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "manager_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "fund_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "date_from": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "date_to": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢get_holdings_reports_index(manager_slug, fund_type, date_from, date_to)

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

Input Schema

{
  "type": "object",
  "properties": {
    "manager_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "fund_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "date_from": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "date_to": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢read_holdings_report(manager_slug, fund_type, date, summary_only)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "manager_slug": {
      "type": "string",
      "description": "Manager identifier (e.g., 'dskrodina', 'allianz', 'doverie')"
    },
    "fund_type": {
      "type": "string",
      "description": "Fund type code (e.g., 'upf', 'ppf', 'dpf')"
    },
    "date": {
      "type": "string",
      "description": "Report date in YYYY-MM-DD format"
    },
    "summary_only": {
      "default": false,
      "type": "boolean",
      "description": "If True, return only parsed metadata (allocation, exposure, top holdings)"
    }
  },
  "required": [
    "manager_slug",
    "fund_type",
    "date"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢get_pension_legal_framework(document)

Return the full text of Bulgarian pension legal documents.

Input Schema

{
  "type": "object",
  "properties": {
    "document": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional filter – \"ordinance_9\", \"ordinance_33\", or \"kso\".\n      If omitted, returns all available documents."
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢search_pension_law(query, document, max_results)

Search across Bulgarian pension legal framework documents.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search term (e.g., \"чл. 175\", \"equity limits\", \"инвестиционни ограничения\")."
    },
    "document": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional filter to search only one document."
    },
    "max_results": {
      "default": 10,
      "type": "integer",
      "description": "Maximum number of matching sections to return (default 10)."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded26 tools
verifiedversion not recorded26 tools
verifiedversion not recorded26 tools
verifiedversion not recorded26 tools
verifiedversion not recorded26 tools
verifiedversion not recorded26 tools