FinTS Finanzen
БесплатноНе проверенRead-only MCP server for FinTS/HBCI banking; enables account information retrieval such as balances and transactions via PIN-TAN.
Описание
Read-only MCP server for FinTS/HBCI banking; enables account information retrieval such as balances and transactions via PIN-TAN.
README
Read-only MCP-Server fuer FinTS/HBCI-Banking via PIN-TAN — Konten, Saldo, Umsaetze.
Strikt read-only. Es gibt keinen Code fuer Ueberweisungen oder sonstige Schreibzugriffe.
Standard-Bank ist DKB (12030000), ueber Env-Vars auf jede andere FinTS-Bank umstellbar.
Was es kann
MCP-Tools ueber stdio:
| Tool | Beschreibung |
|---|---|
accounts() |
Alle Konten (IBAN, Kontonummer, BIC) |
balance(iban_or_account=None) |
Aktueller Saldo (leer → erstes Konto) |
transactions(days=30, account=None) |
Umsaetze der letzten days Tage |
summary() |
Alle Konten + Salden kompakt in einem Aufruf |
Sicherheit / Secret-Modell
- Die PIN landet nie im Klartext auf Platte, nie im Repo, nie im git.
- Verschluesselung: AES-256-GCM (
cryptography), 12-Byte-Nonce pro Verschluesselung vor dem Ciphertext. - Der Schluessel kommt aus der Env-Var
FINTS_MASTER_KEY(base64-kodierte 32 Byte). Ohne diesen Schluessel sind die gespeicherten Credentials unbrauchbar. - Verschluesselte Credentials und der FinTS-State liegen unter
~/.config/fints-finanzen/(credentials.enc,fints_state.bin), Verzeichnis0o700, Dateien0o600. Nichts davon ist im Repo.
PSD2-SCA-Exemption (~90 Tage)
Lesen ist nicht TAN-frei. Beim ersten Login verlangt die Bank eine pushTAN-Freigabe. enroll.py fuehrt diesen Flow interaktiv durch und serialisiert danach den FinTS-Client-State (system_id, BPD/UPD) via client.deconstruct(including_private=True). Dieser State wird beim naechsten Lauf wieder geladen — dann bleiben Lesezugriffe dank PSD2 SCA-Exemption ~90 Tage TAN-frei.
Nach Ablauf der ~90 Tage meldet der MCP-Server tan_required (Tool-Fehler, kein Crash) — dann einfach enroll.py erneut ausfuehren (Reenrollment).
Setup
cd FinTS-Finanzen
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
Master-Key erzeugen und eintragen (einmalig):
cp .env.example .env
.venv/bin/python -c "import crypto; print(crypto.generate_key())"
# Ausgabe als FINTS_MASTER_KEY in .env eintragen
Alternativ bietet enroll.py an, den Key zu generieren und anzuzeigen.
Enroll (interaktiv):
set -a; . ./.env; set +a # FINTS_MASTER_KEY in die Umgebung laden
.venv/bin/python enroll.py
Der Enroll fragt Anmeldename (nicht Kontonummer) und PIN ab, fuehrt den pushTAN-Flow durch und speichert PIN verschluesselt + Client-State.
FINTS_PRODUCT_ID/ product_id: Leer lassen nutzt den Default ausconfig.py— eine oeffentliche, in python-fints#183 mehrfach als DKB-akzeptiert belegte ID. Die DKB lehnt ungueltige product_ids bereits bei der Dialog-Initialisierung ab. Wer sauber/dauerhaft fahren will, registriert eine eigene ID bei der Deutschen Kreditwirtschaft (fints.org Produktregistrierung, Formular an[email protected], ~5–10 Werktage) und setzt sie viaFINTS_PRODUCT_ID.
Andere Bank nutzen
Per Env-Vars umstellbar:
export FINTS_BANK_CODE="12345678" # BLZ deiner Bank
export FINTS_ENDPOINT="https://fints.meine-bank.de/fints"
MCP registrieren
Der Server laeuft ueber stdio. Eintrag in der MCP-Config (FINTS_MASTER_KEY muss in der Server-Umgebung gesetzt sein):
{
"mcpServers": {
"fints-finanzen": {
"command": "./.venv/bin/python",
"args": ["mcp_server.py"],
"env": {
"FINTS_MASTER_KEY": "<base64-32-byte-key>",
"FINTS_BANK_CODE": "12030000",
"FINTS_PRODUCT_ID": ""
}
}
}
}
Dateien
config.py (Pfade/Konstanten) · crypto.py (AES-GCM) · fints_client.py (FinTS-Wrapper) · enroll.py (interaktiver Enroll) · mcp_server.py (FastMCP stdio).
Lizenz
MIT License — siehe LICENSE.
Установка FinTS Finanzen
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/NG-Bullseye/FinTS-FinanzenFAQ
FinTS Finanzen MCP бесплатный?
Да, FinTS Finanzen MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для FinTS Finanzen?
Нет, FinTS Finanzen работает без API-ключей и переменных окружения.
FinTS Finanzen — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить FinTS Finanzen в Claude Desktop, Claude Code или Cursor?
Открой FinTS Finanzen на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare FinTS Finanzen with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
