MCP Server Dokumentation

Model Context Protocol (MCP): Ein standardisiertes Protokoll für die Kommunikation zwischen AI-Assistenten und externen Datenquellen. Perfekt für Claude, ChatGPT und andere KI-Tools.

Quick Start

Endpoint

https://www.mehr-schulferien.de/mcp

Protokoll

MCP (Model Context Protocol) über HTTP/JSON-RPC

Authentifizierung

Keine Authentifizierung erforderlich (öffentlicher Lesezugriff)

Beispiel API Request

Senden Sie einen POST-Request an den MCP-Endpunkt mit einem JSON-RPC Payload:

POST https://www.mehr-schulferien.de/mcp
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "get_school_details",
    "arguments": {
      "school_slug": "79713-josef-anton-sickinger-grundschule"
    }
  },
  "id": 1
}

Verfügbare Tools

📍 Location Navigation

get_countries

Alle verfügbaren Länder auflisten

Keine Parameter erforderlich

get_federal_states

Bundesländer eines Landes auflisten

country_slug: string

get_cities_by_state

Alle Städte in einem Bundesland

country_slug, federal_state_slug

get_schools_by_city

Alle Schulen in einer Stadt

city_slug: string

🏫 Schulinformationen

get_school_details

Vollständige Schulinfo mit Adresse & Kontakt

school_slug: string

search_schools

Schulen nach Name oder Stichwort suchen

query, federal_state_slug?, city_slug?

get_nearby_schools

Schulen im Umkreis finden

school_slug, distance_meters

get_schools_by_zip

Schulen nach PLZ-Präfix finden

zip_prefix: string (3-5 Ziffern)

📅 Ferien & Feiertage

get_vacations

Schulferienzeiten

location_slug, location_type, dates?

get_public_holidays

Feiertage für einen Standort

location_slug, location_type, year

get_all_periods

Kombinierte Ferien und Feiertage

location_slug, location_type, year

get_next_periods

Kommende Ferien und Feiertage

location_slug, location_type, count?

🌉 Urlaubsplanung

get_bridge_days

Optimale Brückentage berechnen

federal_state_slug, year

get_vacation_statistics

Ferientage-Statistiken

location_slug, location_type, year

compare_vacation_schedules

Ferienpläne vergleichen

location_slugs[], location_type, year

get_bewegliche_ferientage

Bewegliche Ferientage Info

school_slug, school_year

Häufige Slug-Referenzen

Bundesländer

  • baden-wuerttemberg
  • bayern
  • berlin
  • brandenburg
  • hessen
  • nordrhein-westfalen
  • sachsen
  • und weitere...

Große Städte

  • muenchen
  • berlin
  • hamburg
  • koeln
  • frankfurt-am-main
  • stuttgart
  • duesseldorf
  • und weitere...

Verwendungsbeispiele

Basis-Abfragen

1. Alle Bundesländer auflisten

curl -X POST https://www.mehr-schulferien.de/mcp   -H "Content-Type: application/json"   -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "get_federal_states",
      "arguments": {
        "country_slug": "deutschland"
      }
    },
    "id": 1
  }'

2. Städte in Bayern finden

curl -X POST https://www.mehr-schulferien.de/mcp   -H "Content-Type: application/json"   -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "get_cities_by_state",
      "arguments": {
        "country_slug": "deutschland",
        "federal_state_slug": "bayern"
      }
    },
    "id": 2
  }'

3. Feiertage für Berlin 2025

curl -X POST https://www.mehr-schulferien.de/mcp   -H "Content-Type: application/json"   -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "get_public_holidays",
      "arguments": {
        "location_slug": "berlin",
        "location_type": "federal_state",
        "year": 2025
      }
    },
    "id": 3
  }'

Schul-Abfragen

4. Schulen in München finden

curl -X POST https://www.mehr-schulferien.de/mcp   -H "Content-Type: application/json"   -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "get_schools_by_city",
      "arguments": {
        "city_slug": "muenchen"
      }
    },
    "id": 4
  }'

5. Schuldetails abrufen

curl -X POST https://www.mehr-schulferien.de/mcp   -H "Content-Type: application/json"   -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "get_school_details",
      "arguments": {
        "school_slug": "79713-josef-anton-sickinger-grundschule"
      }
    },
    "id": 5
  }'

6. Schulen im PLZ-Bereich 80331 (München Zentrum)

curl -X POST https://www.mehr-schulferien.de/mcp   -H "Content-Type: application/json"   -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "get_schools_by_zip",
      "arguments": {
        "zip_prefix": "80331"
      }
    },
    "id": 6
  }'

7. Schulen nach Name suchen

curl -X POST https://www.mehr-schulferien.de/mcp   -H "Content-Type: application/json"   -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "search_schools",
      "arguments": {
        "query": "Gymnasium",
        "federal_state_slug": "bayern"
      }
    },
    "id": 7
  }'

Ferienplanung

8. Schulferien für Bayern 2025

curl -X POST https://www.mehr-schulferien.de/mcp   -H "Content-Type: application/json"   -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "get_vacations",
      "arguments": {
        "location_slug": "bayern",
        "location_type": "federal_state",
        "start_date": "2025-01-01",
        "end_date": "2025-12-31"
      }
    },
    "id": 8
  }'

9. Nächste 5 Ferienperioden für Hamburg

curl -X POST https://www.mehr-schulferien.de/mcp   -H "Content-Type: application/json"   -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "get_next_periods",
      "arguments": {
        "location_slug": "hamburg",
        "location_type": "federal_state",
        "count": 5
      }
    },
    "id": 9
  }'

10. Aktuelle Ferienperiode prüfen

curl -X POST https://www.mehr-schulferien.de/mcp   -H "Content-Type: application/json"   -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "get_current_periods",
      "arguments": {
        "location_slug": "nordrhein-westfalen",
        "location_type": "federal_state"
      }
    },
    "id": 10
  }'

Brückentage-Optimierung

11. Brückentage für Bayern 2025

curl -X POST https://www.mehr-schulferien.de/mcp   -H "Content-Type: application/json"   -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "get_bridge_days",
      "arguments": {
        "federal_state_slug": "bayern",
        "year": 2025
      }
    },
    "id": 11
  }'

12. Brückentage-Verfügbarkeit für mehrere Jahre

curl -X POST https://www.mehr-schulferien.de/mcp   -H "Content-Type: application/json"   -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "check_bridge_days_availability",
      "arguments": {
        "federal_state_slug": "hessen",
        "years": [2025, 2026, 2027]
      }
    },
    "id": 12
  }'

Erweiterte Abfragen

13. Ferienstatistiken für 2025

curl -X POST https://www.mehr-schulferien.de/mcp   -H "Content-Type: application/json"   -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "get_vacation_statistics",
      "arguments": {
        "location_slug": "sachsen",
        "location_type": "federal_state",
        "year": 2025
      }
    },
    "id": 13
  }'

14. Ferienpläne mehrerer Bundesländer vergleichen

curl -X POST https://www.mehr-schulferien.de/mcp   -H "Content-Type: application/json"   -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "compare_vacation_schedules",
      "arguments": {
        "location_slugs": [
          "bayern",
          "baden-wuerttemberg",
          "hessen"
        ],
        "location_type": "federal_state",
        "year": 2025
      }
    },
    "id": 14
  }'

15. Alle Ferien und Feiertage kombiniert

curl -X POST https://www.mehr-schulferien.de/mcp   -H "Content-Type: application/json"   -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "get_all_periods",
      "arguments": {
        "location_slug": "berlin",
        "location_type": "federal_state",
        "year": 2025
      }
    },
    "id": 15
  }'

16. Location-Hierarchie abrufen

curl -X POST https://www.mehr-schulferien.de/mcp   -H "Content-Type: application/json"   -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "get_location_hierarchy",
      "arguments": {
        "location_slug": "muenchen",
        "location_type": "city"
      }
    },
    "id": 16
  }'

17. iCal-URL für Kalender-Integration generieren

curl -X POST https://www.mehr-schulferien.de/mcp   -H "Content-Type: application/json"   -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "get_ical_url",
      "arguments": {
        "location_slug": "bayern",
        "location_type": "federal_state"
      }
    },
    "id": 17
  }'

Integration in Python

import requests
import json

# MCP Server Endpoint
url = "https://www.mehr-schulferien.de/mcp"

# Beispiel 1: Feiertage abrufen
payload = {
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
        "name": "get_public_holidays",
        "arguments": {
            "location_slug": "bayern",
            "location_type": "federal_state",
            "year": 2025
        }
    },
    "id": 1
}

response = requests.post(url, json=payload)
holidays = response.json()
print(json.dumps(holidays, indent=2))

# Beispiel 2: Schulen suchen
payload = {
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
        "name": "search_schools",
        "arguments": {
            "query": "Grundschule",
            "city_slug": "muenchen"
        }
    },
    "id": 2
}

response = requests.post(url, json=payload)
schools = response.json()
for school in schools.get('result', []):
    print(f"- {school['name']}: {school['address']}")

Integration in JavaScript/Node.js

// Mit fetch API (Node.js 18+ oder Browser)
async function getVacations(state, year) {
  const response = await fetch('https://www.mehr-schulferien.de/mcp', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      jsonrpc: '2.0',
      method: 'tools/call',
      params: {
        name: 'get_vacations',
        arguments: {
          location_slug: state,
          location_type: 'federal_state',
          start_date: `${year}-01-01`,
          end_date: `${year}-12-31`
        }
      },
      id: 1
    })
  });

  const data = await response.json();
  return data.result;
}

// Verwendung
getVacations('bayern', 2025).then(vacations => {
  vacations.forEach(vacation => {
    console.log(`${vacation.name}: ${vacation.starts_on} - ${vacation.ends_on}`);
  });
});

Integration

Für AI-Assistenten

Dieser MCP-Server ist für die nahtlose Integration mit AI-Assistenten konzipiert, die das Model Context Protocol unterstützen. Konfigurieren Sie Ihren Assistenten für die Verbindung zum MCP-Endpunkt - alle verfügbaren Tools werden automatisch erkannt.

Für Entwickler

Verwenden Sie Standard HTTP POST-Requests mit JSON-RPC Format. Alle Antworten sind JSON-formatiert und für programmatischen Zugriff optimiert. Die slug-basierte Navigation stellt sicher, dass Sie niemals interne Datenbank-IDs benötigen.

Hinweis: Dies ist eine Read-Only API. Alle Datenänderungen müssen über das Wiki-Interface der Hauptwebsite erfolgen.

Vollständige MCP Dokumentation: Detaillierte MCP Server Dokumentation

Hallo, ich bin Stefan Wintermeyer! 👋

Gründer von mehr-schulferien.de

Ich freue mich sehr, dass Du die APIs und den MCP-Server nutzen möchtest!

Möchtest Du bei diesem Projekt mitmachen und helfen?
Danke schon mal an dieser Stelle! Hier sind drei Möglichkeiten:

  • Mit einem Link auf https://www.mehr-schulferien.de (diese Incoming Links sind sehr wichtig für SEO)
  • Benutze die Wiki Funktion, um die Daten zu verbessern. Fehlt bei einer Schule die Homepage URL oder die Telefonnummber? Dann hilf uns bitte damit, indem Du diese rausfindest und dann dem Datensatz hinzuzufügst. Das gleiche gilt für bewegliche Ferientage.
  • Helfe beim Programmieren von neuen Features oder beim Fixen von Bugs.

Habst Du Fragen oder einen Featurewunsch?
Schreib mir eine E-Mail!

💡 Besonders interessiert bin ich an:

  • Deinen Anwendungsfällen und wie Du die Daten nutzt
  • Feature-Wünschen und Verbesserungsvorschlägen
  • Success Stories - zeige mir, was Du gebaust hast!
  • Bugs oder Probleme