etf-tax
European UCITS ETF data with German tax intelligence.
Что умеет
- Search Etfs: Search and filter the European UCITS ETF universe. Args: query: Search term matched against ETF Name, ISIN, or Ticker. domicile: Filter by domicile country (e.g., 'Ireland', 'Luxembourg')
- Get Etf Details: Retrieve comprehensive details for a specific ETF by its ISIN. Args: isin: The International Securities Identification Number (ISIN) of the ETF.
- Calculate Tax Efficiency: Calculate and analyze the tax efficiency score for a given ETF. Returns a detailed breakdown of scoring factors relevant for EU investors. Args: isin: The ISIN of the ETF to
Какие данные видит
Нужен ли аккаунт
Не нужен: сервер работает без входа
European UCITS ETF data with German tax intelligence. 12 tools for search, tax calculations (Vorabpauschale, Wegzugsbesteuerung, Teilfreistellung), portfolio overlap analysis, and tax-aware rebalancing. Built for German investors.
Как подключить
Как подключить etf-tax к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://etf-tax--elesin-olalekan.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить etf-tax к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://etf-tax--elesin-olalekan.run.tools
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить etf-tax к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://etf-tax--elesin-olalekan.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (12)
Технические названия из tools/list. Нужны только разработчикам.
| search_etfs | Search and filter the European UCITS ETF universe. Args: query: Search term matched against ETF Name, ISIN, or Ticker. domicile: Filter by domicile country (e.g., 'Ireland', 'Luxembourg'). accumulating_only: If True, only returns accumulating ETFs (tax-efficient). max_ter: Maximum Total Expense Ratio (TER), e.g. 0.002 (0.20%). min_aum: Minimum fund size (Assets Under Management) in EUR millions. limit: Limit the number of search results returned (defaults to 15). |
| get_etf_details | Retrieve comprehensive details for a specific ETF by its ISIN. Args: isin: The International Securities Identification Number (ISIN) of the ETF. |
| calculate_tax_efficiency | Calculate and analyze the tax efficiency score for a given ETF. Returns a detailed breakdown of scoring factors relevant for EU investors. Args: isin: The ISIN of the ETF to analyze. |
| refresh_etf_data | Trigger a scrape of JustETF to fetch fresh ETF data and update the local cache. This runs in the background and may take a few minutes to complete. |
| generate_612_chart | Generate 6-week and 12-month ETF performance data with year-over-year comparison. Returns structured JSON with weekly/monthly returns, cumulative growth curves, and summary metrics including inflation-adjusted purchasing power. Use Yahoo Finance ticker symbols (e.g., VWCE.DE for Xetra-listed ETFs). Args: tickers: List of Yahoo Finance ticker symbols (e.g., ["VWCE.DE", "CSPX.L"]). inflation_rate: Annual inflation rate as decimal (e.g., 0.022 for 2.2%). Defaults to current Eurozone rate. render: If True, also includes a Plotly JSON spec ({data, layout}) for direct rendering. |
| calculate_vorabpauschale_tool | Calculate the annual Vorabpauschale (advance lump-sum tax) for a German-taxable ETF position. The Vorabpauschale is a deemed annual income on accumulating fund shares, taxed in January of the following year regardless of whether the fund distributed anything. It depends on the ECB Basiszins rate published by the Bundesbank. This is a tax calculation tool — not financial advice. Args: isin: ETF ISIN (e.g., "IE00BK5BQT80" for Vanguard FTSE All-World Acc). position_value_jan1: Market value of the position on January 1 of tax_year (EUR). purchase_price: Original total acquisition cost of the position (EUR). tax_year: Calendar year to calculate for (determines Basiszins). Default: 2025. kirchensteuer: Whether church tax applies. Default: False. bundesland: German state for Kirchensteuer rate (e.g., "Bayern" for 8%, default: 9%). |
| calculate_exit_tax_tool | Simulate German exit tax (Wegzugsbesteuerung §6 AStG) on ETF holdings for emigration planning. Since Jan 1 2025, ETF holdings above €500k total acquisition cost trigger exit tax when leaving Germany (if resident ≥7 of last 12 years). This tool simulates the liability and shows deferral/mitigation options. This is a tax simulation tool — not financial or legal advice. Args: positions: List of ETF positions, each a dict with keys: "isin", "purchase_price", "current_value" (all in EUR). years_resident: Years of German tax residency in the last 12 years. Default: 10. destination_country: "EU", "EEA", or "non-EU" — affects deferral options. include_deferral_options: Whether to include mitigation/deferral guidance. Default: True. |
| calculate_sell_tax_tool | Calculate the exact capital gains tax when selling an ETF position in Germany. Accounts for Teilfreistellung (partial exemption), Vorabpauschale credits (no double tax), and Sparerpauschbetrag (€1,000 annual allowance). Useful for evaluating the tax cost of rebalancing before you sell. This is a tax calculation tool — not financial advice. Args: isin: ETF ISIN to sell. purchase_price: Original total acquisition cost of the position (EUR). current_value: Current market value / expected sale proceeds (EUR). previously_paid_vorabpauschale: Total Vorabpauschale already taxed on this position (EUR). Credited against gains. sparerpauschbetrag_remaining: Remaining annual tax-free allowance (EUR). Default: €1,000. kirchensteuer: Whether church tax applies. Default: False. bundesland: German state for Kirchensteuer rate (e.g., "Bayern" for 8%, default: 9%). |
| get_teilfreistellung_tool | Look up the Teilfreistellung (partial tax exemption) classification for an ETF. Returns the tax-exempt portion rate under §20 InvStG: - Aktienfonds (≥51% equity): 30% of gains are tax-exempt - Mischfonds (≥25% equity): 15% of gains are tax-exempt - Sonstige (<25% equity, e.g. bonds): 0% exempt This directly impacts after-tax returns and is not surfaced by most ETF screeners. Args: isin: ETF ISIN to classify (e.g., "IE00BK5BQT80"). |
| compare_after_tax_tool | Compare ETFs on true after-tax cost of ownership for a German investor. Projects forward to show which ETF delivers the best after-tax terminal value, accounting for TER drag, Teilfreistellung benefits, and Vorabpauschale annual tax. This is a projection tool — not financial advice. Args: isins: List of 2-10 ETF ISINs to compare (e.g., ["IE00BK5BQT80", "IE00BZ163K21"]). investment_amount: Initial investment in EUR. Default: €10,000. holding_period_years: How long you plan to hold. Default: 10 years. annual_return: Assumed annual gross return as decimal. Default: 0.07 (7%). kirchensteuer: Whether church tax applies. Default: False. bundesland: German state for Kirchensteuer rate. Default: 9%. |
| analyze_overlap_tool | X-ray a portfolio for holdings overlap across multiple ETFs. Shows which stocks you own multiple times through different ETFs, your true concentration risk, and actual geographic/sector exposure. Essential for understanding whether your "diversified" portfolio is actually diversified. Args: isins: List of 2-10 ETF ISINs in your portfolio (e.g., ["IE00BK5BQT80", "IE00B5BMR087"]). weights: Optional portfolio weights matching the ISINs (must sum to 1.0). Equal weight if omitted. |
| optimize_rebalance_tool | Find the most tax-efficient way to rebalance your portfolio to a target allocation. Returns three options: A) Sell & Buy: immediate but triggers capital gains tax B) Redirect Sparplan: zero tax but takes months/years C) Hybrid: sell only the most overweight, redirect Sparplan for rest You provide the target allocation — this tool calculates cost, not advice. Args: current_positions: List of current holdings, each a dict with: "isin", "units", "purchase_price", "current_value" (EUR). target_allocation: Target weights as dict, e.g. {"IE00BK5BQT80": 0.7, "IE00BZ163K21": 0.3}. Must sum to 1.0. monthly_sparplan_budget: Monthly investment budget in EUR. Default: €500. sparerpauschbetrag_remaining: Remaining annual tax-free allowance (EUR). Default: €1,000. kirchensteuer: Whether church tax applies. Default: False. bundesland: German state for Kirchensteuer rate. Default: 9%. |