KfW Förderungsmittel MCP Server
Ein MCP (Model Context Protocol) Server für die Abfrage von KfW-Förderprogrammen zur energetischen Sanierung von Wohngebäuden in Deutschland.
Teil der "Sanierungskompass" Plattform - verbindet Hausbesitzer mit Energieberatern und aktuellen KfW-Finanzierungsmöglichkeiten.
Was ist KfW-Förderung?
Die Kreditanstalt für Wiederaufbau (KfW) bietet zinsgünstige Kredite und Zuschüsse für:
- Energetische Gebäudesanierung (BEG - Bundesförderung für effiziente Gebäude)
- Heizungsaustausch und erneuerbare Wärmequellen
- Einzelmaßnahmen wie Fenster, Dämm- und Lüftungsarbeiten
- Gesamtsanierungen zu KfW-Effizienzhaus-Standards
Features
- 4 MCP Tools für KfW-Datenabfragen
- Aktuelle KfW-Programmdaten (2025/2026)
- Statische Fallback-Datenbank mit gängigen Programmen
- Zinssatze und Kreditkonditionen mit Berechnung
- Tilgungszuschuss-Ermittlung (zuschussfinanzierter Darlehensanteil)
- Typ-sichere Implementierung in TypeScript
Installation
NPM Package
npm install @sanierungskompass/kfw-mcp
Aus Source
git clone https://github.com/timfellendorf/kfw-mcp.git
cd kfw-mcp
npm install
npm run build
Verwendung
Als MCP Server starten
npm start
# oder für Entwicklung:
npm run dev
Der Server lauscht auf Stdin/Stdout im MCP-Protokoll-Format.
Mit Claude Desktop konfigurieren
Bearbeiten Sie ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) oder den Äquivalent unter Windows/Linux:
{
"mcpServers": {
"kfw-foerdermittel": {
"command": "node",
"args": ["/pfad/zu/kfw-mcp/dist/index.js"]
}
}
}
Dann in Claude den Server aktivieren.
Mit Claude Code
# Server im Hintergrund starten
npm run dev &
# In Claude Code verwenden:
# - Claude erkennt verfügbare Tools automatisch
# - Tools können direkt in Prompts genutzt werden
Verfügbare Tools
1. kfw_list_programs
Listet alle verfügbaren KfW-Programme für die Wohngebäudesanierung auf.
Eingabe: Keine Parameter erforderlich
Ausgabe: Array mit Programmen (ID, Name, Typ, Kategorie, Beschreibung)
Beispiel:
Claude: "Zeige mir alle verfügbaren KfW-Programme"
Server antwortet mit:
[
{
"id": "358",
"name": "KfW 358 - Ergänzungskredit für Einzelmaßnahmen",
"type": "Kredit",
"category": "BEG - Einzelmaßnahmen",
"description": "Zinsgünstiger Kredit für einzelne energetische Maßnahmen an Wohngebäuden",
"maxLoanAmount": 120000,
"interestRate": {
"current": 2.75,
"unit": "% p.a. effektiv"
}
},
...
]
2. kfw_get_program_details
Ruft detaillierte Informationen zu einem spezifischen KfW-Programm ab.
Parameter:
program_number(string, erforderlich): KfW Programmnummer (z.B. "358", "261", "458", "459")
Ausgabe: Detaillierte Programminformationen
Beispiel:
Claude: "Gib mir Details zum KfW 358 Programm"
Server antwortet mit:
{
"id": "358",
"name": "KfW 358 - Ergänzungskredit für Einzelmaßnahmen",
"type": "Kredit",
"description": "Zinsgünstiger Kredit für einzelne energetische Maßnahmen an Wohngebäuden",
"maxLoanAmount": 120000,
"eligibleMeasures": [
"Fenstertausch",
"Türentausch",
"Dachdämmung",
"Wanddämmung",
"Kellerdeckendämmung",
"Heizungsanlage",
"Lüftungsanlage",
"Solarthermieanlage"
],
"interestRate": {
"current": 2.75,
"unit": "% p.a. effektiv"
},
"maxRepaymentPeriod": 20,
"minRepaymentPeriod": 4,
"tilgungszuschuss": 0,
"notes": "Für einzelne energetische Sanierungsmaßnahmen"
}
3. kfw_check_eligibility
Prüft, welche KfW-Programme für eine bestimmte Sanierungsmaßnahme geeignet sind.
Parameter:
measure(string, erforderlich): Sanierungsmaßnahme (z.B. "Fenstertausch", "Dachdämmung", "Heizungsaustausch", "Wärmepumpe")building_type(string, optional): Gebäudetyp (z.B. "Wohngebäude")is_owner_occupied(boolean, optional): Eigengenutzt?
Ausgabe: Anwendbare Programme mit Empfehlungen
Beispiel:
Claude: "Welche KfW-Programme gibt es für Wärmepumpen?"
Server antwortet mit:
{
"measure": "Wärmepumpe",
"applicablePrograms": [
{
"id": "458",
"name": "KfW 458 - Heizungsförderung",
"type": "Zuschuss",
"eligibilityNotes": "30% Basis + bis zu 40% Bonuszuschläge = max 70%"
},
{
"id": "359",
"name": "KfW 359 - Kredit für Sanierungsmaßnahmen",
"type": "Kredit",
"eligibilityNotes": "Umfassende Sanierung mit Effizienzhaus-Standard"
}
],
"matchCount": 2,
"recommendations": [
"Zuschuss- und Kreditprogramme verfügbar - vergleichen Sie die Konditionen.",
"Zuschuss-Programme erfordern keine Rückzahlung.",
"Kredit-Programme bieten zinsgünstige Darlehen."
]
}
4. kfw_calculate_funding
Berechnet die geschätzten Kreditraten und Fördersummen für ein KfW-Programm.
Parameter:
program(string, erforderlich): KfW Programmnummer (z.B. "358", "458")loan_amount(number, erforderlich): Kreditbetrag/Zuschussbetrag in EURterm_years(number, optional): Laufzeit in Jahren (Standard: 15 Jahre für Kredite)
Ausgabe: Berechnung mit monatlicher Rate, Gesamtbelastung, Zinssatz und Tilgungszuschuss
Beispiel:
Claude: "Berechne die monatliche Rate für einen 50.000€ Kredit im KfW 358 über 15 Jahre"
Server antwortet mit:
{
"program": "358",
"loanAmount": 50000,
"termYears": 15,
"type": "Kredit",
"monthlyPayment": 351.24,
"totalPayment": 63223.0,
"totalInterest": 13223.0,
"effectiveInterestRate": 2.75,
"tilgungszuschuss": 0,
"netLoanAmount": 50000,
"notes": "Zinssatz: 2.75% p.a. effektiv"
}
Für Zuschüsse (z.B. KfW 458):
Claude: "Berechne den Zuschuss für eine 15.000€ Wärmepumpen-Anlage im KfW 458"
Server antwortet mit:
{
"program": "458",
"loanAmount": 15000,
"type": "Zuschuss",
"monthlyPayment": 0,
"tilgungszuschuss": 10500,
"netLoanAmount": 4500,
"subsidyPercentage": 70,
"notes": "70% Zuschuss = 10500€ nicht rückzahlbar"
}
Unterstützte KfW-Programme
| Nummer | Name | Typ | Kategorie |
|---|---|---|---|
| 358 | Ergänzungskredit für Einzelmaßnahmen | Kredit | BEG Einzelmaßnahmen |
| 359 | Kredit für Sanierungsmaßnahmen | Kredit | BEG Vollsanierung |
| 261 | Wohngebäude Kredit Effizienzhaus | Kredit | BEG Effizienzhaus |
| 458 | Heizungsförderung | Zuschuss | BEG Heizung |
| 459 | Zuschuss Einzelmaßnahmen | Zuschuss | BEG Einzelmaßnahmen |
(Weitere Program wie 455, 440, 461 als Auslaufprogramme im Datensatz)
Programmlogik
Datenbeschaffung
- Primär: Fallback auf statische Datenbank (
src/data/kfw-programs.json) - Sekundär: Versuch, Live-Daten von
https://www.kfw.de/inlandsfoerderung/Privatpersonen/Bestandsimmobilien/zu scrapen - Bei Scraping-Fehler → Statische Daten werden automatisch genutzt
Fördersumme-Berechnung
Für Kredite:
- Monatliche Rate: Standardisierte Annuitättenformel mit Zinseszins
- Tilgungszuschuss wird von der Kreditbasis abgezogen
- Effektiver Zinssatz nach KfW-Vorgaben
Für Zuschüsse:
- Prozentuale Bezuschussung auf Gesamtkosten
- KfW 458: Basis 30% + Bonuszuschläge (bis 70% max)
- KfW 459: Basis 15% + Standards (bis 25% max)
Entwicklung
Projekt-Struktur
kfw-mcp/
├── src/
│ ├── index.ts # MCP Server Entry Point
│ ├── tools/
│ │ ├── listPrograms.ts # Tool 1: Programmübersicht
│ │ ├── programDetails.ts # Tool 2: Details
│ │ ├── checkEligibility.ts # Tool 3: Eignung
│ │ └── calculateFunding.ts # Tool 4: Berechnung
│ ├── utils/
│ │ └── scraper.ts # Web-Scraping-Hilfsfunktionen
│ └── data/
│ └── kfw-programs.json # Statische Programmdatenbank
├── dist/ # Kompilierte JavaScript-Dateien
├── package.json
├── tsconfig.json
└── README.md
Build und Test
# TypeScript compilieren
npm run build
# Server starten
npm start
# Entwicklungsmodus (mit Auto-Rebuild)
npm run dev
Daten aktualisieren
Programm- und Zinssatzdaten können in src/data/kfw-programs.json aktualisiert werden:
{
"programs": [
{
"id": "358",
"name": "KfW 358 - ...",
"interestRate": { "current": 2.75, "unit": "% p.a. effektiv" },
...
}
]
}
Lizenz
MIT License - Siehe LICENSE Datei
Kontakt
Tim Fellendorf timfellendorf@googlemail.com
Teil des Sanierungskompass-Projekts zur Unterstützung energetischer Gebäudesanierung in Deutschland.