Hlídač spoření
Czech savings accounts and term deposits: effective rates, net yield and conditions. Read-only.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"sporeni": {
"url": "https://hlidacsporeni.cz/mcp"
}
}
}远程端点
https://hlidacsporeni.cz/mcpstreamable-http它能做什么
工具清单
工具(4)
🟢hlidac_compare_savings(amount, no_conditions, without_card_payments, without_income_requirement, without_new_money, ...)
Rank Czech savings accounts (spořicí účty) by the effective interest rate (úrok, sazba) for a given deposit, with the net yield after the 15 % tax. The effective rate is computed for the WHOLE amount: many banks pay their headline rate only up to a limit (e.g. Česká spořitelna 5,20 % only up to 400 000 Kč), so the ranking changes with the amount. Filters drop accounts with card-payment, income or new-money conditions, or keep only accounts without conditions. Examples: - "Kam dát 800 000 Kč na spořicí účet?" -> amount=800000 - "Nejvyšší úrok bez podmínek pro 1 milion" -> amount=1000000, no_conditions=true Use hlidac_get_product for one account's bands and conditions, hlidac_plan_allocation to split a large sum across banks.
输入模式
{
"type": "object",
"properties": {
"amount": {
"type": "integer",
"minimum": 1000,
"maximum": 10000000,
"description": "Deposit in CZK (vklad v Kč), whole number 1 000–10 000 000, e.g. 800000"
},
"no_conditions": {
"default": false,
"description": "Only accounts with no conditions at all (spořicí účet bez podmínek)",
"type": "boolean"
},
"without_card_payments": {
"default": false,
"description": "Exclude accounts that require card payments (bez placení kartou)",
"type": "boolean"
},
"without_income_requirement": {
"default": false,
"description": "Exclude accounts that require a regular income (bez požadavku na příjem)",
"type": "boolean"
},
"without_new_money": {
"default": false,
"description": "Exclude offers only for new money moved from another bank (bez nových peněz)",
"type": "boolean"
},
"include_investment": {
"default": false,
"description": "Count the higher rate some banks pay with a regular investment",
"type": "boolean"
},
"limit": {
"default": 5,
"description": "How many accounts to return, best first",
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"amount"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"asOf": {
"type": "string",
"description": "When the rates were last updated (ISO 8601)"
},
"attribution": {
"type": "string"
},
"amount": {
"type": "number"
},
"accounts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rank": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"product_id": {
"type": "string"
},
"bank": {
"type": "string"
},
"product": {
"type": "string"
},
"effective_rate": {
"type": "number",
"description": "% p. a. for the whole deposit (weighted over bands)"
},
"net_yield_year": {
"type": "number",
"description": "CZK a year after the 15 % withholding tax"
},
"conditions": {
"type": "array",
"items": {
"type": "string"
}
},
"condition_kinds": {
"type": "array",
"items": {
"type": "string",
"enum": [
"card_payments",
"income",
"new_money",
"investment",
"other"
]
}
},
"rate_without_conditions": {
"type": [
"number",
"null"
]
},
"rate_basis": {
"type": "string",
"enum": [
"standard",
"new_client",
"promo"
],
"description": "'standard' for any client meeting the conditions, 'new_client' only for new money or a new client, 'promo' a promotion with an end"
},
"promo_until": {
"description": "End of the promotional rate (YYYY-MM-DD), null when none is stated",
"type": [
"string",
"null"
]
},
"deposit_insurance": {
"type": "object",
"properties": {
"country": {
"type": "string"
},
"system": {
"type": [
"string",
"null"
]
}
},
"required": [
"country",
"system"
],
"additionalProperties": false
},
"verified_at": {
"type": "string"
},
"stale": {
"type": "boolean",
"description": "true when verified more than 7 days ago"
},
"detail_url": {
"type": "string"
},
"bank_url": {
"type": "string"
}
},
"required": [
"rank",
"product_id",
"bank",
"product",
"effective_rate",
"net_yield_year",
"conditions",
"condition_kinds",
"rate_without_conditions",
"rate_basis",
"promo_until",
"deposit_insurance",
"verified_at",
"stale",
"detail_url",
"bank_url"
],
"additionalProperties": false
}
},
"total_matching": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"comparison_url": {
"type": "string"
}
},
"required": [
"asOf",
"attribution",
"amount",
"accounts",
"total_matching",
"comparison_url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢hlidac_compare_term_deposits(amount, term_months, client, include_promotions, need_early_withdrawal, ...)
Rank Czech term deposits (termínované vklady) for a deposit and a term (délka v měsících) by the rate (úrok, sazba), with the net yield for the whole term after the 15 % tax. Offers only for new clients (noví klienti) count only with client='new'; promotions (akce) can be excluded; need_early_withdrawal keeps banks where an early withdrawal (předčasný výběr) is possible without the bank's consent. Banks whose limits do not take the amount are listed in outside_limits. Examples: - "Nejlepší termínovaný vklad na rok pro 200 000" -> amount=200000, term_months=12 - "Vklad na 3 měsíce, jsem nový klient" -> term_months=3, client='new'
输入模式
{
"type": "object",
"properties": {
"amount": {
"type": "integer",
"minimum": 1000,
"maximum": 10000000,
"description": "Deposit in CZK (vklad v Kč), whole number 1 000–10 000 000"
},
"term_months": {
"type": "integer",
"minimum": 1,
"maximum": 120,
"description": "Term in months (délka vkladu): 1, 3, 6, 12, 24, 36, 60 …"
},
"client": {
"default": "existing",
"description": "'new' also counts offers only for a bank's new clients (noví klienti)",
"type": "string",
"enum": [
"existing",
"new"
]
},
"include_promotions": {
"default": true,
"description": "Count time-limited promotions (akce)",
"type": "boolean"
},
"need_early_withdrawal": {
"default": false,
"description": "Only banks where an early withdrawal (předčasný výběr) is possible without asking the bank",
"type": "boolean"
},
"limit": {
"default": 5,
"description": "How many offers to return, best first",
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"amount",
"term_months"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"asOf": {
"type": "string",
"description": "When the rates were last updated (ISO 8601)"
},
"attribution": {
"type": "string"
},
"amount": {
"type": "number"
},
"term_months": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rank": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"product_id": {
"type": "string"
},
"bank": {
"type": "string"
},
"product": {
"type": "string"
},
"rate": {
"type": "number",
"description": "% p. a. for this deposit and term"
},
"segment": {
"type": "string",
"enum": [
"standard",
"promotion",
"new_clients"
]
},
"standard_rate": {
"description": "The bank's standard rate next to a promotion",
"type": [
"number",
"null"
]
},
"net_yield_term": {
"type": "number",
"description": "CZK for the whole term after 15 % tax, simple interest, no renewal"
},
"early_withdrawal": {
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"kind",
"text"
],
"additionalProperties": false
},
"tax_withheld": {
"type": "boolean",
"description": "false: the bank does not withhold the tax, the client declares it"
},
"deposit_insurance": {
"type": "object",
"properties": {
"country": {
"type": "string"
},
"system": {
"type": [
"string",
"null"
]
}
},
"required": [
"country",
"system"
],
"additionalProperties": false
},
"verified_at": {
"type": "string"
},
"stale": {
"type": "boolean"
},
"detail_url": {
"type": "string"
}
},
"required": [
"rank",
"product_id",
"bank",
"product",
"rate",
"segment",
"standard_rate",
"net_yield_term",
"early_withdrawal",
"tax_withheld",
"deposit_insurance",
"verified_at",
"stale",
"detail_url"
],
"additionalProperties": false
}
},
"outside_limits": {
"type": "array",
"items": {
"type": "object",
"properties": {
"bank": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": [
"bank",
"reason"
],
"additionalProperties": false
}
},
"comparison_url": {
"type": "string"
}
},
"required": [
"asOf",
"attribution",
"amount",
"term_months",
"offers",
"outside_limits",
"comparison_url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢hlidac_get_product(product_id)
Full detail of one product (spořicí účet or termínovaný vklad): rate bands, conditions, end of a promotion, deposit insurance (pojištění vkladu), early withdrawal, tax, when it was verified, and the facts we do not have (unknown). product_id comes from hlidac_compare_savings or hlidac_compare_term_deposits, e.g. 'trinity', 'ceska-sporitelna', 'tv-csob'. An unknown id returns the list of valid ids.
输入模式
{
"type": "object",
"properties": {
"product_id": {
"type": "string",
"pattern": "^[a-z0-9-]{2,40}$",
"description": "Product id from a comparison result, e.g. 'trinity' (spořicí účet) or 'tv-csob' (termínovaný vklad)"
}
},
"required": [
"product_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"asOf": {
"type": "string",
"description": "When the rates were last updated (ISO 8601)"
},
"attribution": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"savings_account",
"term_deposit"
]
},
"product_id": {
"type": "string"
},
"bank": {
"type": "string"
},
"product": {
"type": "string"
},
"detail_url": {
"type": "string"
},
"bank_url": {
"type": "string"
},
"verified_at": {
"type": "string"
},
"stale": {
"type": "boolean"
},
"deposit_insurance": {
"type": "object",
"properties": {
"country": {
"type": "string"
},
"system": {
"type": [
"string",
"null"
]
}
},
"required": [
"country",
"system"
],
"additionalProperties": false
},
"savings": {
"type": "object",
"properties": {
"tier_mode": {
"type": "string",
"enum": [
"band",
"whole"
]
},
"bands": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rate": {
"type": "number"
},
"up_to": {
"type": [
"number",
"null"
]
}
},
"required": [
"rate",
"up_to"
],
"additionalProperties": false
}
},
"investment_bands": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"rate": {
"type": "number"
},
"up_to": {
"type": [
"number",
"null"
]
}
},
"required": [
"rate",
"up_to"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"conditions": {
"type": "array",
"items": {
"type": "string"
}
},
"condition_kinds": {
"type": "array",
"items": {
"type": "string",
"enum": [
"card_payments",
"income",
"new_money",
"investment",
"other"
]
}
},
"investment_requirement": {
"type": [
"string",
"null"
]
},
"rate_without_conditions": {
"type": [
"number",
"null"
]
},
"promo_until": {
"type": [
"string",
"null"
]
},
"note": {
"type": [
"string",
"null"
]
},
"examples": {
"type": "array",
"items": {
"type": "object",
"properties": {
"amount": {
"type": "number"
},
"effective_rate": {
"type": "number"
},
"net_yield_year": {
"type": "number"
}
},
"required": [
"amount",
"effective_rate",
"net_yield_year"
],
"additionalProperties": false
}
}
},
"required": [
"tier_mode",
"bands",
"investment_bands",
"conditions",
"condition_kinds",
"investment_requirement",
"rate_without_conditions",
"promo_until",
"note",
"examples"
],
"additionalProperties": false
},
"term_deposit": {
"type": "object",
"properties": {
"offers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"term_months": {
"type": [
"number",
"null"
]
},
"term_days": {
"type": [
"number",
"null"
]
},
"rate": {
"type": "number"
},
"segment": {
"type": "string",
"enum": [
"standard",
"promotion",
"new_clients"
]
},
"min_amount": {
"type": "number"
},
"max_amount": {
"type": [
"number",
"null"
]
},
"payout": {
"type": "string"
}
},
"required": [
"term_months",
"term_days",
"rate",
"segment",
"min_amount",
"max_amount",
"payout"
],
"additionalProperties": false
}
},
"promo": {
"anyOf": [
{
"type": "object",
"properties": {
"label": {
"type": "string"
},
"until": {
"type": [
"string",
"null"
]
}
},
"required": [
"label",
"until"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"renewal": {
"type": [
"string",
"null"
]
},
"early_withdrawal": {
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"kind",
"text"
],
"additionalProperties": false
},
"channel": {
"type": "string"
},
"current_account_required": {
"type": [
"boolean",
"null"
]
},
"tax_withheld": {
"type": "boolean"
},
"min_existing_balance": {
"type": [
"number",
"null"
]
}
},
"required": [
"offers",
"promo",
"renewal",
"early_withdrawal",
"channel",
"current_account_required",
"tax_withheld",
"min_existing_balance"
],
"additionalProperties": false
},
"unknown": {
"type": "array",
"items": {
"type": "string"
},
"description": "Facts we do not have for this product; never guess them"
}
},
"required": [
"asOf",
"attribution",
"kind",
"product_id",
"bank",
"product",
"detail_url",
"bank_url",
"verified_at",
"stale",
"deposit_insurance",
"unknown"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢hlidac_plan_allocation(amount, can_pay_by_card, has_income, can_bring_new_money, can_invest, ...)
Split a sum across Czech savings accounts (spořicí účty) for the highest net yield, keeping each bank under the deposit insurance limit of 100 000 EUR per client and bank (pojištění vkladů), converted at today's ČNB rate unless eur_czk is given. Only accounts whose conditions the client says they meet are used (card payments, income, new money, investing). Several products of one bank share one limit. Example: "Mám 6 milionů, jak je rozložit, aby byly pojištěné?" -> amount=6000000, max_banks=3
输入模式
{
"type": "object",
"properties": {
"amount": {
"type": "integer",
"minimum": 1000,
"maximum": 50000000,
"description": "Total to place in CZK, e.g. 6000000"
},
"can_pay_by_card": {
"default": false,
"description": "The client will meet card payment conditions (platby kartou)",
"type": "boolean"
},
"has_income": {
"default": false,
"description": "The client can route a regular income to the bank (příjem)",
"type": "boolean"
},
"can_bring_new_money": {
"default": false,
"description": "The money is new to the bank, moved from another bank (nové peníze)",
"type": "boolean"
},
"can_invest": {
"default": false,
"description": "The client will invest regularly where it raises the rate",
"type": "boolean"
},
"max_banks": {
"default": 3,
"description": "At most this many banks",
"type": "integer",
"minimum": 1,
"maximum": 6
},
"eur_czk": {
"description": "EUR/CZK rate for the 100 000 EUR insurance limit; default: today's ČNB rate",
"type": "number",
"minimum": 15,
"maximum": 40
}
},
"required": [
"amount"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"asOf": {
"type": "string",
"description": "When the rates were last updated (ISO 8601)"
},
"attribution": {
"type": "string"
},
"amount": {
"type": "number"
},
"insurance_limit_eur": {
"type": "number"
},
"eur_czk": {
"type": "number"
},
"eur_czk_source": {
"type": "string"
},
"insurance_limit_czk": {
"type": "number"
},
"allocations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"bank": {
"type": "string"
},
"product_id": {
"type": "string"
},
"product": {
"type": "string"
},
"amount": {
"type": "number"
},
"effective_rate": {
"type": "number"
},
"net_yield_year": {
"type": "number"
},
"conditions": {
"type": "array",
"items": {
"type": "string"
}
},
"detail_url": {
"type": "string"
}
},
"required": [
"bank",
"product_id",
"product",
"amount",
"effective_rate",
"net_yield_year",
"conditions",
"detail_url"
],
"additionalProperties": false
}
},
"total_net_yield_year": {
"type": "number"
},
"weighted_rate": {
"type": "number"
},
"uninsured_amount": {
"type": "number",
"description": "CZK above the insurance limit with the bank limit of max_banks banks"
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"asOf",
"attribution",
"amount",
"insurance_limit_eur",
"eur_czk",
"eur_czk_source",
"insurance_limit_czk",
"allocations",
"total_net_yield_year",
"weighted_rate",
"uninsured_amount",
"notes"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}社区
证据