destatis-mcp-server

RangRang416/destatis-mcp-server

3.2

If you are the rightful owner of destatis-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The Destatis API Client & MCP-Server provides a Node.js/TypeScript client and an MCP server for accessing the GENESIS-Online REST-Webservice API of the German Federal Statistical Office (Destatis).

Tools
10
Resources
0
Prompts
0

Destatis API Client & MCP-Server

Node.js/TypeScript Client und MCP-Server für die GENESIS-Online REST-Webservice API des Statistischen Bundesamts Deutschland (Destatis).

🎯 Was ist das?

Dieses Projekt bietet zwei Komponenten:

  1. 📚 TypeScript API-Client - Bibliothek für Node.js-Projekte
  2. 🤖 MCP-Server - Ermöglicht Claude Desktop direkten Zugriff auf Destatis-Daten

🚀 Quick Start

Option A: MCP-Server für Claude Desktop

Perfekt für: Interaktive statistische Analysen mit Claude Desktop

# 1. Installation
cd /mnt/c/Users/Ruben/.claude/destatis-api
npm install
npm run build

# 2. Claude Desktop konfigurieren
# Siehe: MCP-SETUP.md

# 3. Beispiel-Anfrage in Claude Desktop
"Erstelle mir eine Übersicht der Reallohn-Entwicklung der letzten 10 Jahre"

📖 Vollständige Anleitung:

Option B: TypeScript-Client nutzen

Perfekt für: Integration in eigene Node.js-Projekte

import { DestatisClient } from './src';

const client = new DestatisClient({
  apiToken: process.env.DESTATIS_API_TOKEN!,
  language: 'de'
});

// Suche nach Tabellen
const tables = await client.searchTables('Reallohn');

// Daten abrufen
const data = await client.getTableData('62111-0001', {
  startyear: 2014,
  endyear: 2024
});

📖 Vollständige Anleitung:

🎓 Beispiel-Szenarien

Mit Claude Desktop (MCP-Server)

Szenario: Reallohn-Analyse

Du: "Erstelle mir eine Übersicht der Reallohn-Entwicklung der letzten 10 Jahre. Ziehe dazu auch Daten hinzu, die den Warenkorb lohngruppen-spezifisch berücksichtigen. Versuche die Reallöhne anhand des Medians zu korrigieren."

Claude:

  1. Sucht automatisch nach Reallohn-Tabellen
  2. Findet Verbraucherpreisindex-Daten
  3. Kombiniert die Datenquellen
  4. Berechnet inflationsbereinigte Werte
  5. Erstellt übersichtliche Tabelle mit Ergebnissen

Weitere Beispiele:

  • "Vergleiche die Arbeitslosenzahlen zwischen Bayern und NRW"
  • "Zeige die BIP-Entwicklung seit 2010"
  • "Wie hat sich die Bevölkerung in den letzten 5 Jahren entwickelt?"

Mit TypeScript-Client

# Basis-Beispiel
npm run example

# Datenabfrage
npx ts-node examples/fetch-data.ts

📦 Projekt-Struktur

destatis-api/
├── src/
│   ├── client.ts           # TypeScript API-Client
│   ├── types.ts            # Type Definitions
│   ├── mcp-server.ts       # MCP-Server für Claude Desktop
│   └── index.ts            # Export-Index
├── examples/
│   ├── basic-usage.ts      # Basis-Beispiel
│   └── fetch-data.ts       # Datenabfrage-Beispiel
├── dist/                   # Kompilierter Code (nach npm run build)
├── README.md              # Diese Datei
├── MCP-SETUP.md           # MCP-Server Setup-Anleitung
├── USAGE.md               # Detaillierte Nutzungsanleitung
├── ARCHITECTURE.md        # Technische Architektur
└── package.json

🔧 Installation

npm install

📝 Konfiguration

  1. Kopiere .env.example zu .env:
cp .env.example .env
  1. Trage deinen API-Token ein:
DESTATIS_API_TOKEN=2e31b247eba14933a6a6cff5dab051c5
DESTATIS_LANGUAGE=de

🛠️ Verfügbare Skripte

# TypeScript kompilieren
npm run build

# Beispiel ausführen (Basis)
npm run example

# Beispiel ausführen (Datenabfrage)
npx ts-node examples/fetch-data.ts

# MCP-Server starten (für Claude Desktop)
npm start

# Entwicklungsmodus
npm run dev

🌐 MCP-Server Features

Der MCP-Server bietet 10 Tools für Claude Desktop:

ToolBeschreibung
destatis_searchSuche nach Statistiken/Tabellen
destatis_get_cataloguesAlle Kataloge abrufen
destatis_get_tablesTabellen eines Katalogs
destatis_get_table_metadataMetadaten einer Tabelle
destatis_get_table_dataTabellendaten abrufen
destatis_get_timeseriesZeitreihen-Daten
destatis_get_statistic_metadataStatistik-Metadaten
destatis_get_variable_metadataVariablen-Metadaten
destatis_get_variable_valuesVariablen-Werte
destatis_test_connectionVerbindungstest

📚 TypeScript-Client API

// Client initialisieren
const client = new DestatisClient({
  apiToken: 'your-token',
  language: 'de'
});

// Kataloge abrufen
const catalogues = await client.getCatalogues();

// Tabellen suchen
const tables = await client.searchTables('Bevölkerung');

// Metadaten abrufen
const metadata = await client.getTableMetadata('12411-0001');

// Daten abrufen
const data = await client.getTableData('12411-0001', {
  startyear: 2020,
  endyear: 2024
});

// Zeitreihen
const timeSeries = await client.getTimeSeries('12411-0001', {
  startyear: 2010,
  endyear: 2024,
  timeslices: 'annual'
});

🔐 Authentifizierung

  • Mit Token: Dein persönlicher Destatis-API-Token
  • Ohne Token: Gast-Zugang (GAST/GAST) - eingeschränkte Funktionen

Der Token wird über .env oder Umgebungsvariablen übergeben.

⚠️ Bekannte Einschränkungen

Die Destatis REST-API hat einige Inkonsistenzen:

  • ❌ Manche Endpunkte geben HTML statt JSON zurück
  • ❌ Nicht alle Tabellen über REST-API verfügbar
  • ✅ Suche und Metadaten funktionieren meist
  • ✅ Manche Tabellen liefern CSV-Daten

Workaround: Der MCP-Server fängt Fehler ab und gibt hilfreiche Fehlermeldungen zurück.

📖 Dokumentation

  • - Claude Desktop Setup
  • - Detaillierte Nutzungsanleitung
  • - Technische Architektur

🌍 Externe Ressourcen

💡 Verwendungszweck

Dieses Projekt wurde erstellt, um:

  1. Claude Desktop Zugriff auf deutsche Statistikdaten zu geben
  2. Komplexe Analysen zu ermöglichen (Reallohn, BIP, Arbeitslosigkeit, etc.)
  3. Automatische Datensuche und -kombination zu unterstützen
  4. TypeScript-Bibliothek für eigene Projekte bereitzustellen

🤝 Beitragen

Dieses Projekt ist für persönliche Nutzung erstellt. Verbesserungen sind willkommen!

📄 Lizenz

MIT


Erstellt mit Claude Code 🤖

Dein API-Token: 2e31b247eba14933a6a6cff5dab051c5 (bereits konfiguriert)