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