Integrations
Berghain Events API & MCP-Implementierung
Projektstruktur
Anforderungen
- Python 3.10+
- uv (für Abhängigkeitsmanagement und virtuelle Umgebung)
- AWS-Konto (für DynamoDB und App Runner)
- Firecrawl-API-Schlüssel
Einrichtung
- Klonen Sie dieses Repository:Copy
- Erstellen und aktivieren Sie eine virtuelle Umgebung mit
uv
:Copy - Installieren Sie Abhängigkeiten mit
uv
:Copy
Detaillierter Prozess
1. Datenextraktion mit Firecrawl
- Firecrawl MCP auf Cursor einstellen: Stellen Sie sicher, dass Sie Ihren Firecrawl-API-Schlüssel haben. Fügen Sie in der Cursor-MCP-Konfiguration Folgendes hinzu:Copy
- Führen Sie die Extraktion aus: Verwenden Sie einen Agenten in Cursor (oder einem ähnlichen Tool), um das Firecrawl MCP aufzurufen und es aufzufordern, Ereignisse von
https://www.berghain.berlin/en/program/
zu extrahieren. - Daten speichern: Die extrahierten Daten sollten als JSON-Dateien im Verzeichnis
events/
gespeichert werden. Beispiel:events/berghain_events_YYYY-MM-DD.json
.
2. Daten in DynamoDB laden
- Erstellen Sie die Tabelle in DynamoDB: Das Skript
scripts/create_table.py
kümmert sich darum. Führen Sie es aus (passen Sie die Parameter gegebenenfalls an):Copy - Daten in die Tabelle laden: Das Skript
scripts/load_data.py
lädt Ereignisse aus JSON-Dateien.Stellen Sie sicher, dassCopyapp/core/config.py
(importiert vonload_data.py
) über die erforderlichen Konfigurationen verfügt, wenn Sie diese nicht als Argumente übergeben.
3. API mit FastAPI und MCP Server
- Die API-Logik befindet sich im Verzeichnis
app/
, wobei die Endpunkte definiert sind (z. B. inapp/api/endpoints/events.py
). - Die Datei
app/main.py
ist so konfiguriert, dass die FastAPI-Anwendung und der FastMCP-Server gestartet werden und die API-Endpunkte als Tools für KI-Modelle verfügbar gemacht werden. Überprüfen Sie diecustom_maps
inapp/main.py
um zu sehen, wie GET-RoutenRouteType.TOOL
zugeordnet werden.
Bereitstellung auf AWS
Zu. Dockerfile
Stellen Sie sicher, dass Ihr Dockerfile
richtig für die Verwendung uv
konfiguriert ist und führen Sie app/main.py
aus:
B. Erstellen und Hochladen eines Images in Amazon ECR (Elastic Container Registry)
- Docker mit ECR authentifizieren:Copy
- Erstellen Sie ein Repository in ECR (falls es nicht vorhanden ist):Copy
- Erstellen Sie Ihr Docker-Image:Copy
- Markieren Sie Ihr Bild:Copy
- Laden Sie das Bild zu ECR hoch:Ersetzen SieCopy
tu-region-aws
undtu-aws-account-id
durch Ihre Werte.
C. Bereitstellen der Infrastruktur mit Terraform
- Bereiten Sie Ihre Terraform-Dateien vor: Stellen Sie sicher, dass Sie Ihre Terraform-Konfigurationsdateien (z. B.
main.tf
,variables.tf
,outputs.tf
) in einem Verzeichnis (z. B.terraform/
) haben. Diese Dateien sollten die erforderlichen AWS-Ressourcen definieren, z. B. den AWS App Runner-Dienst, den das ECR-Image verwenden wird, und die DynamoDB-Tabelle (sofern sie auch von Terraform verwaltet wird). Ihre App Runner-Konfiguration in Terraform muss auf das in ECR hochgeladene Bild verweisen. - Navigieren Sie zum Terraform-Verzeichnis:Copy
- Terraform initialisieren:Copy
- Wenden Sie die Terraform-Konfiguration an:Überprüfen Sie den Plan und bestätigen Sie die Anwendung. Terraform stellt die Ressourcen bereit.Copy
- Holen Sie sich die Service-URL: Nach der Anwendung sollte Terraform die definierten Ausgaben anzeigen, einschließlich der App Runner-Service-URL. Notieren Sie sich diese URL (z. B.
https://<id-servicio>.<region>.awsapprunner.com
).
Testen der bereitgestellten Lösung
Zu. Lokales Testskript anpassen ( mcp_local.py
)
Legen Sie die Datei mcp_local.py
im Stammverzeichnis Ihres Projekts fest
Wichtig: Aktualisieren Sie die Variable mcp_server_url
in mcp_local.py
mit der URL, die Sie aus der Terraform-Ausgabe erhalten haben.
B. Test ausführen
Vom Stammverzeichnis Ihres Projekts (oder wo auch immer Sie mcp_local.py
gespeichert haben):
Dadurch wird der PydanticAI-Agent ausgeführt, der versucht, eine Verbindung zu Ihrem bereitgestellten MCP herzustellen und die Abfrage auszuführen.
Lizenz
MIT
This server cannot be installed
Ein Server, der es KI-Agenten ermöglicht, über einen DynamoDB-gestützten FastAPI-Dienst Informationen zu bevorstehenden Veranstaltungen im Nachtclub Berghain abzufragen und abzurufen.
Related MCP Servers
- AsecurityFlicenseAqualityThis server integrates with the Ticketmaster API to provide AI agents with real-time concert and event data, enabling dynamic fetching and formatting for ease of interpretation.Last updated -1Python
- AsecurityAlicenseAqualityAn unofficial server that allows AI assistants to access Fathom Analytics data, enabling users to retrieve account information, site statistics, events, aggregated reports, and real-time visitor tracking.Last updated -581TypeScriptMIT License
- AsecurityAlicenseAqualityThis server provides tools for AI assistants to interact with the Eventbrite API, allowing users to search for events, get event details, retrieve venue information, and list event categories.Last updated -421JavaScriptMIT License
- -securityAlicense-qualityA Server-Sent Events implementation using FastAPI framework that integrates Model Context Protocol (MCP), allowing AI models to access external tools and data sources like weather information.Last updated -9PythonMIT License