Skip to content

PoliErgaleio

com.poliergaleio/calculatorspoliergaleio.comstreamable-httpv16.0.0Scanned

Cyprus financial calculators with optional OAuth access to personal saved calculations.

25 tools: 1 can delete or cancel things, 16 change things and 8 only read.

Tools: 1 delete, 0 irreversible, 16 write, 8 read.
  • Reads private data · 1
  • Reads text others write · 0
  • Can send data out · 0
  • No findings

Anlyon alternative

17 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

25 tools

Deletes or cancels 1Claude Code: deny
  • delete_saved_calculationDeletes one saved calculation belonging to the authenticated API key's user.No findings

    Why it is in this group

    • The name "delete_saved_calculation" says "delete": a word for removing or ending something.
    Description, as the server wrote it
    Deletes one saved calculation belonging to the authenticated API key's user. Use when the user asks to delete or forget a saved scenario. Works on encrypted saves too.
Changes things 16Claude Code: ask
  • audit_mortgage_statementForensic audit of a mortgage statement: replays the loan day by day and grid-searches the bank's interest convention (Actual/365, Actual/360 or Actual/Actual day count; monthly, se…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Forensic audit of a mortgage statement: replays the loan day by day and grid-searches the bank's interest convention (Actual/365, Actual/360 or Actual/Actual day count; monthly, semi-annual or annual capitalisation; exact or 2-decimal daily rounding), ranks candidates by RMS error against the bank's own running balance, and reports the interest overcharge implied by the best fit. Use to audit an actual mortgage statement. Require statement rows, at least one usable interest rate and balance checkpoints sufficient to fit the calculation. Reuse only extracted facts; inferred day-count and capitalization conventions are estimates, not confirmed bank terms.
  • calculate_cyprus_capital_gainsCalculates Cyprus Capital Gains Tax on an immovable property disposal using 2025 or 2026 rules, including CPI indexation, year-specific lifetime exemptions, the 20% CGT rate and th…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Calculates Cyprus Capital Gains Tax on an immovable property disposal using 2025 or 2026 rules, including CPI indexation, year-specific lifetime exemptions, the 20% CGT rate and the 0.4% property transfer fee. Use for Cyprus capital-gains tax on an immovable-property sale. Obtain the actual acquisition price and year, disposal tax year, sale price and property type; ask for missing essentials. Tax-year rules default to 2026; supply 2025 for a disposal in that year. Currency defaults to EUR only as a modelling convention. Omission of isFirstDisposal means no lifetime exemption is claimed; do not infer eligibility.
  • calculate_cyprus_income_taxCalculates Cyprus income tax, employee/self-employed SI, GESY and take-home pay.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Calculates Cyprus income tax, employee/self-employed SI, GESY and take-home pay. Employee SI and first-employment relief use qualifying employment remuneration only; rent does not increase employee SI. GESY uses the shared €180,000 personal ceiling. Use for a Cyprus resident or non-resident employee or sole proprietor tax estimate. Before calling, confirm whether a stated salary is monthly or annual and confirm employment category (private, civil or self-employed); do not infer either. Supply gross annual salary in EUR (use explicit 0 for self-employed-only cases); self-employed calculations also need turnover and occupational category. Identify when 2026 tax rules are a default rather than a user-supplied year. Optional incomes, deductions, tax year and eligibility facts must come from the user. Employee Social Insurance applies to qualifying employment remuneration only; passive rental income does not increase employee SI. Article 8(21A)/(23A) exemptions are based on qualifying employment remuneration only; GESY's €180,000 annual personal ceiling is shared across salary, self-employment, pension and income-earner categories. Never infer exemption eligibility.
  • calculate_cyprus_state_pensionEstimates the Cyprus state (contributory) pension amount at retirement using official contribution schedules and current 2026 pension income-tax bands, based on accumulated insuran…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Estimates the Cyprus state (contributory) pension amount at retirement using official contribution schedules and current 2026 pension income-tax bands, based on accumulated insurance units and contribution history. Use to estimate contributory Cyprus state pension entitlement and amount at retirement. Results apply the current 2026 pension income-tax bands; projected contribution amounts use the published SI rate increases in 2029, 2034 and 2039. Reuse supplied facts and ask only for missing essentials: mode and retirement age are always required; quick mode also needs current age, years worked and total insurance units; advanced mode needs the actual non-empty yearly contribution record. Ask for dependants or state the zero-dependants assumption before presenting a personalized result. Never infer contribution history. Units are per calendar year; a legacy year-to-units map is accepted.
  • calculate_cyprus_unemployment_benefitEstimates the Cyprus unemployment benefit using statutory percentage-point dependant additions and a capped earnings-related supplement, and separately assesses entitlement when qu…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Estimates the Cyprus unemployment benefit using statutory percentage-point dependant additions and a capped earnings-related supplement, and separately assesses entitlement when qualifying facts are supplied. Use to estimate the conditional Cyprus unemployment benefit amount and separately assess entitlement. The basic rate is 60%, plus 20 percentage points for a dependent spouse and 10 percentage points per dependent child or other dependant (up to three); the earnings-related supplement is 50% of supplementary insurance earnings, capped at one weekly basic insurable earning. Require the claim date, relevant-year insurable earnings and dependants to estimate an amount. Ask for qualifying insurance history, employee status, unemployment registration and availability for work before claiming entitlement; when those facts are missing, state that entitlement is undetermined and ask each missing follow-up question. Do not infer those facts from annual earnings.
  • load_saved_calculationLoads one saved calculation belonging to the authenticated API key's user.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Loads one saved calculation belonging to the authenticated API key's user. Use after list_saved_calculations to retrieve full details of a specific saved scenario. Locked saves return locked: true and no contents.
  • optimize_company_director_remunerationOptimizes Cyprus LTD company-director remuneration for monetary inputs up to €1,000,000, with a fixed solver evaluation budget.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Optimizes Cyprus LTD company-director remuneration for monetary inputs up to €1,000,000, with a fixed solver evaluation budget. Use for a Cyprus LTD director remuneration comparison. Monetary inputs may not exceed €1,000,000; larger values are rejected before solving. Require company profit/revenue, deductible expenses, tax year and domicile status; reuse supplied data and request missing essentials. The default €2,000 corporate administration cost is a disclosed modelling assumption.
  • parse_mortgage_statement_textTurns pasted bank mortgage-statement rows into audit_mortgage_statement inputs.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Turns pasted bank mortgage-statement rows into audit_mortgage_statement inputs. Use to extract supported fields from actual mortgage statement text. Report missing fields and do not create or infer statement rows.
  • parse_pension_statementExtracts structured contribution history from pasted Cyprus Social Insurance Services pension statement text.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Extracts structured contribution history from pasted Cyprus Social Insurance Services pension statement text. Use to extract supported contribution years and units from an actual pasted Cyprus Social Insurance statement. Do not fill gaps or create contribution records; report missing or unreadable details to the caller.
  • parse_portfolio_csvTurns pasted broker CSV or ledger text into analyze_portfolio transactions.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Turns pasted broker CSV or ledger text into analyze_portfolio transactions. Use to extract supported transactions from actual pasted broker CSV or ledger text. Require the source text and actual base currency, report missing/unreadable values, and never create transactions or assume EUR. Output rows can be sent to analyze_portfolio.
  • plan_monthly_budgetBuilds a monthly budget from a list of expenses at any frequency: normalises everything to a monthly basis, tiers each item (T1 fixed essentials, T2 variable essentials, T3 lifesty…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Builds a monthly budget from a list of expenses at any frequency: normalises everything to a monthly basis, tiers each item (T1 fixed essentials, T2 variable essentials, T3 lifestyle, T4 discretionary), and returns disposable income, savings rate, the biggest optimisable leak and a surplus projection. Use to summarize a household's actual monthly net income and expense items. Ask for the actual expense ledger or item amounts; never fabricate expenses. Entries without a frequency are treated as monthly and disclosed. Omitted investment contributions are treated as zero and disclosed.
  • run_retirement_stress_testRuns a deterministic projection plus Monte Carlo simulation of a retirement savings plan, aggregating active pension streams before applying personal income tax allowances and the …No findings

    Why it is in this group

    • The name "run_retirement_stress_test" says "run": a word for a change.
    Description, as the server wrote it
    Runs a deterministic projection plus Monte Carlo simulation of a retirement savings plan, aggregating active pension streams before applying personal income tax allowances and the shared GESY ceiling. Use for a retirement savings sustainability or portfolio-longevity projection. Reuse the user's ages, savings, contributions and planned monthly spending; ask for each missing essential input and never use example personal values. Values are EUR, contributions/drawdown are monthly, and ages are years. Supply pensionStreams to include Cyprus or foreign pension income; concurrent streams are aggregated before applying the personal progressive allowance, one foreign-pension allowance and the shared €180,000 GESY ceiling. Foreign pensions use the 2026 flat 5% rate above €5,000 unless a net override is supplied. Omitted state pension means pension income is excluded. Returns, inflation, horizon and simulation count use disclosed modelling assumptions when omitted. Runs without seed are stochastic; a supplied seed makes identical inputs repeatable for the same implementation version.
  • save_calculationSaves a calculator scenario to the authenticated user's stored history.No findings

    Why it is in this group

    • The name "save_calculation" says "save": a word for a change.
    Description, as the server wrote it
    Saves a calculator scenario to the authenticated user's stored history. Use when the user asks to save, keep or remember a scenario. Stores the inputs unencrypted (with server-computed results) so list/load can return them later.
  • simulate_life_insurance_flushSimulates a Cyprus unit-linked life insurance policy and calculates tax and returns from executed withdrawals only.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Simulates a Cyprus unit-linked life insurance policy and calculates tax and returns from executed withdrawals only. Requests above available funds are capped and flagged; self-funded surrender taxes are included in household cash flows and IRR. Use to model withdrawals from an existing Cyprus life-insurance policy. Require actual policy terms, tax rate, historical policy records and future premium/withdrawal projections; ask for missing items and never generate policy history. Amounts requested above available funds are limited to executed proceeds, and tax/return figures follow those executed cash flows. Forecast returns are assumptions and must be identified as such.
  • simulate_mortgageSimulates a Cyprus mortgage with a payment schedule that reconciles paid amounts to principal and interest.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Simulates a Cyprus mortgage with a payment schedule that reconciles paid amounts to principal and interest. Supports fixed then variable periods, monthly overpayments, lump sums and interest-only loans; interest-only minimum payments track the remaining balance, with principal due at maturity. KFIK and cash-collateral configurations are not available through this API. Use only to estimate a Cyprus mortgage payment, amortization, overpayments or rate scenarios. Require the actual loan amount, term, selected fixed-period length and the rate inputs for each phase that applies; never substitute example loan terms or rates. EUR amounts and annual percentage rates are expected. For document checklists or general mortgage information, do not call the calculator; answer or research directly without narrating tool selection.
  • update_calculationRenames a saved calculation and/or replaces its inputs (recomputing results).No findings

    Why it is in this group

    • The name "update_calculation" says "update": a word for a change.
    Description, as the server wrote it
    Renames a saved calculation and/or replaces its inputs (recomputing results). Use when the user asks to rename a save or re-run it with different inputs. Encrypted saves stay locked.
Only reads 8Show 8 read-only tools
  • analyze_portfolioAnalyses an investment portfolio from its transaction history: net invested capital, current value, absolute return, chain-linked time-weighted return (TWR), CAGR on initial invest…No findings

    Why it is in this group

    • The name "analyze_portfolio" says "analyze": a word for reading.
    Description, as the server wrote it
    Analyses an investment portfolio from its transaction history: net invested capital, current value, absolute return, chain-linked time-weighted return (TWR), CAGR on initial invested capital, per-sub-portfolio breakdown and allocation shares, with multi-currency support via per-transaction FX rates. Use to analyze actual portfolio ledgers or current holdings and valuation data. Require real transactions/holdings and a current valuation for each holding; require FX rates where currencies differ. TWR needs a valuation immediately before each later external cash flow and at the end date; report null with its reason when absent. Equal and opposite same-day movements between sleeves in the base currency net to an internal transfer for combined TWR; confirm both legs before using that treatment. Missing acquisition cost may use the disclosed performance-from-today behavior. Never create transactions or holdings records.
  • calculate_ev_savingsCompares the annual running cost of an electric car against a petrol/diesel car in Cyprus, splitting charging between spare solar production, home grid electricity and public charg…No findings

    Why it is in this group

    • The description's first verb is "compare": a word for reading.
    Description, as the server wrote it
    Compares the annual running cost of an electric car against a petrol/diesel car in Cyprus, splitting charging between spare solar production, home grid electricity and public chargers, and reporting yearly savings and payback on the extra purchase cost. Use to compare EV and petrol/diesel running costs. Ask for actual annual distance, vehicle consumption, fuel price, charging shares and tariffs for each active charging source; when solar charging is selected, require available spare solar production. Reuse supplied facts and ask only for missing essentials. Omitted extra purchase cost means no payback estimate.
  • calculate_stock_optionsCompares the Cyprus tax on an employee stock option exercise under the 2025 benefit-in-kind rules (progressive income tax) and the 2026 approved-scheme rules (flat 8% within caps),…No findings

    Why it is in this group

    • The description's first verb is "compare": a word for reading.
    Description, as the server wrote it
    Compares the Cyprus tax on an employee stock option exercise under the 2025 benefit-in-kind rules (progressive income tax) and the 2026 approved-scheme rules (flat 8% within caps), including the 2x salary annual cap and the €1m rolling 10-year lifetime cap. Use to compare Cyprus tax on an employee's share-option exercise. Require actual annual salary, share count, exercise and market prices, and user-confirmed approved-scheme status before any personalized calculation or call. If status is missing or unclear, ask one concise question first; do not infer it, call with an assumed status, or present option gain, tax, savings, or other personalized option figures before confirmation. Amounts are EUR and per-share prices are EUR/share.
  • compare_investment_vehiclesCompares a taxable investment (option 1) against a tax-deductible vehicle such as a provident fund or life-insurance savings plan (option 2), matching the true out-of-pocket cost o…No findings

    Why it is in this group

    • The name "compare_investment_vehicles" says "compare": a word for reading.
    Description, as the server wrote it
    Compares a taxable investment (option 1) against a tax-deductible vehicle such as a provident fund or life-insurance savings plan (option 2), matching the true out-of-pocket cost of both and applying entry/exit fees, AUM fees, commission and exit tax. Use to compare taxable investment with a tax-deductible investment vehicle. Require the annual contribution, the user's tax-relief rate and option 2's management fee. Reuse supplied facts and ask only for missing essentials. Disclosed forecast returns and optional omitted fee/tax inputs are modelling assumptions; do not invent personal contribution amounts.
  • compare_rent_vs_buyCompares buying a home against renting using actual period mortgage payments and symmetric investment of whichever scenario has lower cash costs.No findings

    Why it is in this group

    • The name "compare_rent_vs_buy" says "compare": a word for reading.
    Description, as the server wrote it
    Compares buying a home against renting using actual period mortgage payments and symmetric investment of whichever scenario has lower cash costs. Mortgage contributions stop after payoff; purchase/sale costs, maintenance, rent inflation and investment returns are included. Use only to compare buying a Cyprus home with renting over a stated horizon. Use financial facts stated or confirmed for this scenario. Do not carry values from another chat or scenario into the calculation until the user explicitly confirms the relevant values. Ask for any missing core term: property price, monthly rent, down payment and whether it is EUR or percent, mortgage rate, and mortgage term. If the deposit is given without a unit (for example, '20'), ask whether it means EUR or percent before interpreting, converting, deriving a loan amount, or calling this tool. Never infer the unit from context. Optional growth, inflation and return assumptions require user acceptance when not stated. Mortgage payments end at payoff, and cost differences are invested by the lower-cost side. After calculating, briefly summarize every material modelling default used (including defaults supplied in the call) and costs excluded or treated as zero; use structuredContent.assumptions for defaults and exclusions returned by the API.
  • compare_saved_calculationsDiffs two saved calculations (inputs and results) field by field.No findings

    Why it is in this group

    • The name "compare_saved_calculations" says "compare": a word for reading.
    Description, as the server wrote it
    Diffs two saved calculations (inputs and results) field by field. Use for 'compare my mortgage before/after' style questions instead of reconstructing the diff from two loads. Encrypted sides report locked instead of contents.
  • get_pension_reference_dataReturns official Cyprus Social Insurance reference tables for a given year.Reads private dataNo findings

    Why it is in this group

    • The name "get_pension_reference_data" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "return" and "table": it reads databases.
    Description, as the server wrote it
    Returns official Cyprus Social Insurance reference tables for a given year. Use to retrieve official Cyprus social-insurance reference figures for a user-specified calendar year. Reuse a year already given or ask for the missing year; do not assume which tax/reference year applies.
  • list_saved_calculationsLists metadata of an authenticated user's saved calculations by calculator type.No findings

    Why it is in this group

    • The name "list_saved_calculations" says "list": a word for reading.
    Description, as the server wrote it
    Lists metadata of an authenticated user's saved calculations by calculator type. Use so an agent can help a user find a previously saved scenario before loading it. Never returns encrypted contents.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged untrusted-input or outbound.

Reads private data1
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write0
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

No check matched anything in these tool definitions. That is not a safety guarantee.

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 16.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http calculators https://gpkpjfdlbsuyevfdsnbq.supabase.co/functions/v1/public-api/mcp
claude mcp add --transport http calculators https://gpkpjfdlbsuyevfdsnbq.supabase.co/functions/v1/public-api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__calculators__get_pension_reference_data",
      "mcp__calculators__calculate_stock_options",
      "mcp__calculators__compare_rent_vs_buy",
      "mcp__calculators__calculate_ev_savings",
      "mcp__calculators__compare_investment_vehicles",
      "mcp__calculators__analyze_portfolio",
      "mcp__calculators__list_saved_calculations",
      "mcp__calculators__compare_saved_calculations"
    ],
    "ask": [
      "mcp__calculators__calculate_cyprus_income_tax",
      "mcp__calculators__calculate_cyprus_state_pension",
      "mcp__calculators__run_retirement_stress_test",
      "mcp__calculators__calculate_cyprus_unemployment_benefit",
      "mcp__calculators__parse_pension_statement",
      "mcp__calculators__calculate_cyprus_capital_gains",
      "mcp__calculators__simulate_mortgage",
      "mcp__calculators__plan_monthly_budget",
      "mcp__calculators__simulate_life_insurance_flush",
      "mcp__calculators__audit_mortgage_statement",
      "mcp__calculators__load_saved_calculation",
      "mcp__calculators__save_calculation",
      "mcp__calculators__update_calculation",
      "mcp__calculators__parse_portfolio_csv",
      "mcp__calculators__parse_mortgage_statement_text",
      "mcp__calculators__optimize_company_director_remuneration"
    ],
    "deny": [
      "mcp__calculators__delete_saved_calculation"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as calculators. Review it before you use it.

Capability tags behind 1 rule
  • mcp__calculators__get_pension_reference_data private-data

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/com.poliergaleio/calculators/verify?hash=d63851b1e1852b47874482d1be1355d666ab68da2389bd147df18d03817d1acf" | jq -e '.changed == false'

Pinned hash d63851b1e185, from Oct 29, 2026, 17:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/com.poliergaleio/calculators/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for com.poliergaleio/calculators
[![anlyon.dev](https://anlyon.dev/badge/com.poliergaleio/calculators.svg)](https://anlyon.dev/servers/com.poliergaleio/calculators)

Source: MCP Registry. Synced Oct 29, 2026, 17:17 UTC.