MCP-Server

Pensiata - Bulgarian Pension Fund Analytics

io.github.nvasilevv/pensiata
Daten & Analytik Finanzen & Investieren Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Provides Bulgarian pension fund NAV data, holdings, benchmarks, performance metrics, rankings, simulations, and pension-law searches.

cache_stats
Return MCP cache telemetry for diagnostics and performance debugging.
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
compute_metric
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.
Eingabeschema
{'type': 'object', 'required': ['metric', 'period'], 'properties': {'metric': {'type': 'string'}, 'period': {'anyOf': [{'type': 'string'}, {'type': 'object', 'additionalProperties': True}]}, 'window': {'anyOf': [{'type': 'string'}, {'type': 'integer'}, {'type': 'null'}], 'default': None}, 'fund_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'frequency': {'enum': ['daily', 'weekly', 'monthly'], 'type': 'string', 'default': 'daily'}, 'scheme_code': {'anyOf': [{'enum': ['upf', 'ppf', 'dpf'], 'type': 'string'}, {'type': 'null'}], 'default': None}, 'manager_slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'benchmark_slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'risk_free_rate': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'default': None}, 'risk_free_slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'benchmark_target_slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
get_benchmark_series
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.
Eingabeschema
{'type': 'object', 'required': ['benchmark_slug'], 'properties': {'date_to': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'date_from': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'frequency': {'enum': ['daily', 'weekly', 'monthly'], 'type': 'string', 'default': 'daily'}, 'benchmark_slug': {'type': 'string'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
get_bulgarian_pension_benchmarks
Alias for `list_benchmarks` with Bulgarian pension comparison context.
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
get_bulgarian_pension_benchmark_series
Alias for `get_benchmark_series` to retrieve inflation/market comparators for UPF/PPF/VPF.
Eingabeschema
{'type': 'object', 'required': ['benchmark_slug'], 'properties': {'date_to': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'date_from': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'frequency': {'enum': ['daily', 'weekly', 'monthly'], 'type': 'string', 'default': 'daily'}, 'benchmark_slug': {'type': 'string'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
get_bulgarian_pension_fund_managers
Alias for `list_managers` with explicit Bulgarian pension context for agent discovery.
Eingabeschema
{'type': 'object', 'properties': {'scheme_code': {'anyOf': [{'enum': ['upf', 'ppf', 'dpf'], 'type': 'string'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
get_bulgarian_pension_fund_metric
Alias for `compute_metric` with explicit Bulgarian pension metric intent.
Eingabeschema
{'type': 'object', 'required': ['metric', 'period'], 'properties': {'metric': {'type': 'string'}, 'period': {'anyOf': [{'type': 'string'}, {'type': 'object', 'additionalProperties': True}]}, 'window': {'anyOf': [{'type': 'string'}, {'type': 'integer'}, {'type': 'null'}], 'default': None}, 'fund_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'frequency': {'enum': ['daily', 'weekly', 'monthly'], 'type': 'string', 'default': 'daily'}, 'scheme_code': {'anyOf': [{'enum': ['upf', 'ppf', 'dpf'], 'type': 'string'}, {'type': 'null'}], 'default': None}, 'manager_slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'benchmark_slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'risk_free_rate': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'default': None}, 'risk_free_slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'benchmark_target_slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
get_bulgarian_pension_fund_nav_series
Alias for `get_nav_series` with explicit pension NAV semantics for tool-RAG routing.
Eingabeschema
{'type': 'object', 'properties': {'date_to': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'fund_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'date_from': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'frequency': {'enum': ['daily', 'weekly', 'monthly'], 'type': 'string', 'default': 'daily'}, 'scheme_code': {'anyOf': [{'enum': ['upf', 'ppf', 'dpf'], 'type': 'string'}, {'type': 'null'}], 'default': None}, 'manager_slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
get_bulgarian_pension_funds
Alias for `list_funds` to discover UPF/PPF/VPF fund IDs for FSC-based analysis.
Eingabeschema
{'type': 'object', 'properties': {'active_only': {'type': 'boolean', 'default': True}, 'scheme_code': {'anyOf': [{'enum': ['upf', 'ppf', 'dpf'], 'type': 'string'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
get_bulgarian_pension_metrics_catalog
Alias for `list_metrics` so agents can semantically find available pension metrics.
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
get_holdings_reports_index
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`.
Eingabeschema
{'type': 'object', 'properties': {'date_to': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'date_from': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'fund_type': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'manager_slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
get_nav_series
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.
Eingabeschema
{'type': 'object', 'properties': {'date_to': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'fund_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'date_from': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'frequency': {'enum': ['daily', 'weekly', 'monthly'], 'type': 'string', 'default': 'daily'}, 'scheme_code': {'anyOf': [{'enum': ['upf', 'ppf', 'dpf'], 'type': 'string'}, {'type': 'null'}], 'default': None}, 'manager_slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
get_pension_legal_framework
Return the full text of Bulgarian pension legal documents.
Eingabeschema
{'type': 'object', 'properties': {'document': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Optional filter â\x80\x93 "ordinance_9", "ordinance_33", or "kso".\n      If omitted, returns all available documents.'}}, 'additionalProperties': False}
Ausgabeschema
{'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.
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
list_funds
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.
Eingabeschema
{'type': 'object', 'properties': {'active_only': {'type': 'boolean', 'default': True}, 'scheme_code': {'anyOf': [{'enum': ['upf', 'ppf', 'dpf'], 'type': 'string'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
list_holdings_reports
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.
Eingabeschema
{'type': 'object', 'properties': {'date_to': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'date_from': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'fund_type': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'manager_slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
list_managers
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.
Eingabeschema
{'type': 'object', 'properties': {'scheme_code': {'anyOf': [{'enum': ['upf', 'ppf', 'dpf'], 'type': 'string'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
list_metrics
List all supported financial metric identifiers for MCP analytics tools.
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
rank
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.
Eingabeschema
{'type': 'object', 'required': ['scheme_code', 'metric', 'period'], 'properties': {'limit': {'type': 'integer', 'default': 50}, 'order': {'enum': ['desc', 'asc'], 'type': 'string', 'default': 'desc'}, 'metric': {'type': 'string'}, 'offset': {'type': 'integer', 'default': 0}, 'period': {'anyOf': [{'type': 'string'}, {'type': 'object', 'additionalProperties': True}]}, 'window': {'anyOf': [{'type': 'string'}, {'type': 'integer'}, {'type': 'null'}], 'default': None}, 'frequency': {'enum': ['daily', 'weekly', 'monthly'], 'type': 'string', 'default': 'daily'}, 'scheme_code': {'enum': ['upf', 'ppf', 'dpf'], 'type': 'string'}, 'benchmark_slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'risk_free_rate': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'default': None}, 'include_metrics': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
rank_benchmarks
Rank benchmark assets by metric and period for market-context comparison. Data freshness: rankings reflect latest ingested benchmark observations.
Eingabeschema
{'type': 'object', 'required': ['metric', 'period'], 'properties': {'limit': {'type': 'integer', 'default': 50}, 'order': {'enum': ['desc', 'asc'], 'type': 'string', 'default': 'desc'}, 'metric': {'type': 'string'}, 'offset': {'type': 'integer', 'default': 0}, 'period': {'anyOf': [{'type': 'string'}, {'type': 'object', 'additionalProperties': True}]}, 'window': {'anyOf': [{'type': 'string'}, {'type': 'integer'}, {'type': 'null'}], 'default': None}, 'frequency': {'enum': ['daily', 'weekly', 'monthly'], 'type': 'string', 'default': 'daily'}, 'benchmark_slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'risk_free_rate': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'default': None}, 'include_metrics': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
rank_bulgarian_pension_benchmarks_by_metric
Alias for `rank_benchmarks` for semantically rich benchmark ranking discovery.
Eingabeschema
{'type': 'object', 'required': ['metric', 'period'], 'properties': {'limit': {'type': 'integer', 'default': 50}, 'order': {'enum': ['desc', 'asc'], 'type': 'string', 'default': 'desc'}, 'metric': {'type': 'string'}, 'offset': {'type': 'integer', 'default': 0}, 'period': {'anyOf': [{'type': 'string'}, {'type': 'object', 'additionalProperties': True}]}, 'window': {'anyOf': [{'type': 'string'}, {'type': 'integer'}, {'type': 'null'}], 'default': None}, 'frequency': {'enum': ['daily', 'weekly', 'monthly'], 'type': 'string', 'default': 'daily'}, 'scheme_code': {'enum': ['upf', 'ppf', 'dpf'], 'type': 'string', 'default': 'upf'}, 'benchmark_slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'risk_free_rate': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'default': None}, 'include_metrics': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
rank_bulgarian_pension_funds_by_metric
Alias for `rank` to semantically target Bulgarian UPF/PPF/VPF leaderboard queries.
Eingabeschema
{'type': 'object', 'required': ['scheme_code', 'metric', 'period'], 'properties': {'limit': {'type': 'integer', 'default': 50}, 'order': {'enum': ['desc', 'asc'], 'type': 'string', 'default': 'desc'}, 'metric': {'type': 'string'}, 'offset': {'type': 'integer', 'default': 0}, 'period': {'anyOf': [{'type': 'string'}, {'type': 'object', 'additionalProperties': True}]}, 'window': {'anyOf': [{'type': 'string'}, {'type': 'integer'}, {'type': 'null'}], 'default': None}, 'frequency': {'enum': ['daily', 'weekly', 'monthly'], 'type': 'string', 'default': 'daily'}, 'scheme_code': {'enum': ['upf', 'ppf', 'dpf'], 'type': 'string'}, 'benchmark_slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'risk_free_rate': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'default': None}, 'include_metrics': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
read_holdings_report
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.
Eingabeschema
{'type': 'object', 'required': ['manager_slug', 'fund_type', 'date'], 'properties': {'date': {'type': 'string', 'description': 'Report date in YYYY-MM-DD format'}, 'fund_type': {'type': 'string', 'description': "Fund type code (e.g., 'upf', 'ppf', 'dpf')"}, 'manager_slug': {'type': 'string', 'description': "Manager identifier (e.g., 'dskrodina', 'allianz', 'doverie')"}, 'summary_only': {'type': 'boolean', 'default': False, 'description': 'If True, return only parsed metadata (allocation, exposure, top holdings)'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
search_pension_law
Search across Bulgarian pension legal framework documents.
Eingabeschema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Search term (e.g., "Ñ\x87л. 175", "equity limits", "инвеÑ\x81Ñ\x82иÑ\x86ионни огÑ\x80аниÑ\x87ениÑ\x8f").'}, 'document': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Optional filter to search only one document.'}, 'max_results': {'type': 'integer', 'default': 10, 'description': 'Maximum number of matching sections to return (default 10).'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}}, 'x-fastmcp-wrap-result': True}
simulate_bulgarian_pension_saver_outcome
Alias for `simulate_saver_outcome` with explicit Bulgarian pension savings semantics.
Eingabeschema
{'type': 'object', 'properties': {'end_date': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'date_from': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'scheme_code': {'enum': ['upf', 'ppf', 'dpf'], 'type': 'string', 'default': 'upf'}, 'manager_slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'monthly_amount': {'type': 'number', 'default': 200.0}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
simulate_saver_outcome
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.
Eingabeschema
{'type': 'object', 'required': ['monthly_contribution', 'scheme_code'], 'properties': {'fund_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'end_date': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'start_date': {'type': 'string', 'default': '2005-01-01'}, 'scheme_code': {'enum': ['upf', 'ppf', 'dpf'], 'type': 'string'}, 'manager_slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'monthly_contribution': {'type': 'number'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
Hinzugefügt
search_pension_law
17. September 2026 12:45
Hinzugefügt
get_pension_legal_framework
17. September 2026 12:45
Hinzugefügt
read_holdings_report
17. September 2026 12:45
Hinzugefügt
get_holdings_reports_index
17. September 2026 12:45
Hinzugefügt
list_holdings_reports
17. September 2026 12:45
Hinzugefügt
simulate_bulgarian_pension_saver_outcome
17. September 2026 12:45
Hinzugefügt
rank_bulgarian_pension_benchmarks_by_metric
17. September 2026 12:45
Hinzugefügt
rank_bulgarian_pension_funds_by_metric
17. September 2026 12:45
Hinzugefügt
get_bulgarian_pension_fund_metric
17. September 2026 12:45
Hinzugefügt
get_bulgarian_pension_benchmark_series
17. September 2026 12:45
Hinzugefügt
get_bulgarian_pension_metrics_catalog
17. September 2026 12:45
Hinzugefügt
get_bulgarian_pension_benchmarks
17. September 2026 12:45
Hinzugefügt
get_bulgarian_pension_fund_nav_series
17. September 2026 12:45
Hinzugefügt
get_bulgarian_pension_funds
17. September 2026 12:45
Hinzugefügt
get_bulgarian_pension_fund_managers
17. September 2026 12:45
Hinzugefügt
simulate_saver_outcome
17. September 2026 12:45
Hinzugefügt
rank_benchmarks
17. September 2026 12:45
Hinzugefügt
rank
17. September 2026 12:45
Hinzugefügt
compute_metric
17. September 2026 12:45
Hinzugefügt
get_benchmark_series
17. September 2026 12:45
Hinzugefügt
cache_stats
17. September 2026 12:45
Hinzugefügt
list_metrics
17. September 2026 12:45
Hinzugefügt
list_benchmarks
17. September 2026 12:45
Hinzugefügt
get_nav_series
17. September 2026 12:45
Hinzugefügt
list_funds
17. September 2026 12:45
Hinzugefügt
list_managers
17. September 2026 12:45