Integrations
Berghain Events API & MCP Implementation
Estructura del proyecto
Copy
Requisitos
- Python 3.10+
- uv (para gestión de dependencias y entorno virtual)
- Cuenta de AWS (para DynamoDB y App Runner)
- API Key de Firecrawl
Instalación
- Clonar este repositorio:Copy
- Crear y activar un entorno virtual con
uv
:Copy - Instalar dependencias con
uv
:Copy
Proceso Detallado
1. Extracción de Datos con Firecrawl
- Configura el MCP de Firecrawl en Cursor:
Asegúrate de tener tu API Key de Firecrawl. En la configuración de MCPs de Cursor, añade:Copy
- Ejecuta la extracción:
Usa un agente en Cursor (o una herramienta similar) para llamar al MCP de Firecrawl y pedirle que extraiga los eventos de
https://www.berghain.berlin/en/program/
. - Guarda los datos:
Los datos extraídos deben guardarse como archivos JSON en el directorio
events/
. Por ejemplo,events/berghain_events_YYYY-MM-DD.json
.
2. Carga de Datos a DynamoDB
- Crea la tabla en DynamoDB:
El script
scripts/create_table.py
se encarga de esto. Ejecútalo (ajusta los parámetros si es necesario):Copy - Carga los datos a la tabla:
El script
scripts/load_data.py
sube los eventos desde los archivos JSON.Asegúrate de queCopyapp/core/config.py
(importado porload_data.py
) tenga las configuraciones necesarias si no las pasas como argumentos.
3. API con FastAPI y Servidor MCP
- La lógica de la API reside en el directorio
app/
, con los endpoints definidos (e.g., enapp/api/endpoints/events.py
). - El archivo
app/main.py
está configurado para iniciar la aplicación FastAPI y el servidor FastMCP, exponiendo los endpoints de la API como tools para modelos de IA. Revisa lascustom_maps
enapp/main.py
para ver cómo se mapean las rutas GET aRouteType.TOOL
.
Despliegue en AWS
a. Dockerfile
Asegúrate de que tu Dockerfile
esté configurado correctamente para usar uv
y ejecutar app/main.py
:
b. Construir y Subir Imagen a Amazon ECR (Elastic Container Registry)
- Autentica Docker con ECR:Copy
- Crea un repositorio en ECR (si no existe):Copy
- Construye tu imagen Docker:Copy
- Etiqueta tu imagen:Copy
- Sube la imagen a ECR:ReemplazaCopy
tu-region-aws
ytu-aws-account-id
con tus valores.
c. Desplegar Infraestructura con Terraform
- Prepara tus archivos de Terraform:
Asegúrate de tener tus archivos de configuración de Terraform (ej.
main.tf
,variables.tf
,outputs.tf
) en un directorio (p.ej.,terraform/
). Estos archivos deben definir los recursos de AWS necesarios, como el servicio de AWS App Runner que usará la imagen de ECR, y la tabla DynamoDB (si Terraform también la gestiona). Tu configuración de App Runner en Terraform deberá referenciar la imagen subida a ECR. - Navega al directorio de Terraform:Copy
- Inicializa Terraform:Copy
- Aplica la configuración de Terraform:Revisa el plan y confirma la aplicación. Terraform provisionará los recursos.Copy
- Obtén la URL del servicio:
Una vez aplicado, Terraform debería mostrar las salidas definidas, incluyendo la URL del servicio App Runner. Anota esta URL (ej.
https://<id-servicio>.<region>.awsapprunner.com
).
Probar la Solución Desplegada
a. Ajustar Script de Prueba Local (mcp_local.py
)
Ajusta el archivo mcp_local.py
en la raíz de tu proyecto
Importante: Actualiza la variable mcp_server_url
en mcp_local.py
con la URL que obtuviste del output de Terraform.
b. Ejecutar Prueba
Desde la raíz de tu proyecto (o donde hayas guardado mcp_local.py
):
Copy
Esto ejecutará el agente PydanticAI, que intentará conectarse a tu MCP desplegado y realizar la consulta.
Licencia
MIT
This server cannot be installed
A server that allows AI agents to query and retrieve information about upcoming events at Berghain nightclub through a DynamoDB-backed FastAPI service.
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