Hlídač spoření

Czech savings accounts and term deposits: effective rates, net yield and conditions. Read-only.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
100%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~3,850Tokens (tool definitions)
~9.1 KBTypical response size
Significant attention impact (3.01% 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": {
    "sporeni": {
      "url": "https://hlidacsporeni.cz/mcp"
    }
  }
}

Remote endpoints

https://hlidacsporeni.cz/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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.

Input Schema

{
  "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
}

Output Schema

{
  "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'

Input Schema

{
  "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
}

Output Schema

{
  "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.

Input Schema

{
  "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
}

Output Schema

{
  "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

Input Schema

{
  "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
}

Output Schema

{
  "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
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools