KfW Förderungsmittel MCP Server

KfW Förderungsmittel MCP Server

Provides access to KfW funding programs for residential building energy efficiency renovations in Germany. Enables users to list programs, check eligibility, calculate funding amounts, and get detailed information about specific KfW loans and grants.

Category
Visit Server

README

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 EUR
  • term_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

  1. Primär: Fallback auf statische Datenbank (src/data/kfw-programs.json)
  2. Sekundär: Versuch, Live-Daten von https://www.kfw.de/inlandsfoerderung/Privatpersonen/Bestandsimmobilien/ zu scrapen
  3. 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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured