API событий Berghain и реализация MCP
Структура проекта
Требовани��
- Питон 3.10+
- uv (для управления зависимостями и виртуальной средой)
- Аккаунт AWS (для DynamoDB и App Runner)
- API-ключ Firecrawl
Средство
- Клонируйте этот репозиторий:
- Создайте и активируйте виртуальную среду с помощью
uv
: - Установите зависимости с помощью
uv
:
Подробный процесс
1. Извлечение данных с помощью Firecrawl
- Установите Firecrawl MCP на курсор: убедитесь, что у вас есть ключ API Firecrawl. В конфигурации Cursor MCPs добавьте:
- Запустите извлечение: используйте агент в Cursor (или аналогичный инструмент), чтобы вызвать Firecrawl MCP и попросить его извлечь события из
https://www.berghain.berlin/en/program/
. - Сохраните данные: Извлеченные данные следует сохранить в виде файлов JSON в каталоге
events/
. Например,events/berghain_events_YYYY-MM-DD.json
.
2. Загрузка данных в DynamoDB
- Создайте таблицу в DynamoDB: этим занимается скрипт
scripts/create_table.py
. Запустите его (при необходимости настройте параметры): - Загрузка данных в таблицу: Скрипт
scripts/load_data.py
загружает события из файлов JSON.Убедитесь, чтоapp/core/config.py
(импортированныйload_data.py
) имеет необходимые конфигурации, если вы не передаете их в качестве аргументов.
3. API с FastAPI и MCP Server
- Логика API находится в каталоге
app/
, а конечные точки определены (например, вapp/api/endpoints/events.py
). - Файл
app/main.py
настроен на запуск приложения FastAPI и сервера FastMCP, предоставляя конечные точки API в качестве инструментов для моделей ИИ. Проверьтеcustom_maps
вapp/main.py
чтобы увидеть, как маршруты GET сопоставляются сRouteType.TOOL
.
Развертывание на AWS
к. Dockerfile
Убедитесь, что ваш Dockerfile
правильно настроен для использования uv
и запуска app/main.py
:
б. Создание и загрузка образа в Amazon ECR (Elastic Container Registry)
- Аутентификация Docker с помощью ECR:
- Создайте репозиторий в ECR (если его нет):
- Создайте свой образ Docker:
- Отметьте свое изображение:
- Загрузите изображение в ECR:Замените
tu-region-aws
иtu-aws-account-id
своими значениями.
в. Развертывание инфраструктуры с помощью Terraform
- Подготовьте файлы Terraform: убедитесь, что файлы конфигурации Terraform (например,
main.tf
,variables.tf
,outputs.tf
) находятся в каталоге (например,terraform/
). Эти файлы должны определять необходимые ресурсы AWS, такие как служба AWS App Runner, которую будет использовать образ ECR, и таблица DynamoDB (если Terraform также управляет ею). Ваша конфигурация App Runner в Terraform должна ссылаться на изображение, загруженное в ECR. - Перейдите в каталог Terraform:
- Инициализация Terraform:
- Примените конфигурацию Terraform:Ознакомьтесь с планом и подтвердите заявку. Terraform предоставит ресурсы.
- Получите URL-адрес службы: после применения Terraform должен отобразить определенные выходные данные, включая URL-адрес службы App Runner. Запишите этот URL-адрес (например
https://<id-servicio>.<region>.awsapprunner.com
).
Протестируйте развернутое решение
к. Настройте локальный тестовый скрипт ( mcp_local.py
)
Установите файл mcp_local.py
в корневой каталог вашего проекта.
Важно: обновите переменную mcp_server_url
в mcp_local.py
, указав URL-адрес, полученный из выходных данных Terraform.
б. Выполнить тест
Из корня вашего проекта (или там, где вы сохранили mcp_local.py
):
Это запустит агент PydanticAI, который попытается подключиться к развернутому MCP и выполнить запрос.
Лицензия
Массачусетский технологический институт
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Сервер, который позволяет агентам ИИ запрашивать и извлекать информацию о предстоящих событиях в ночном клубе Berghain через службу FastAPI, поддерживаемую DynamoDB.
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 -12
- 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 -6622MIT License
- -securityAlicense-qualityIntegrates with the Eventbrite API to provide AI-assisted event management capabilities for viewing events, tracking attendees, and generating analytics reports.Last updated -01MIT License
- -securityAlicense-qualityA powerful server that enables AI agents to interact with MySQL databases, execute SQL queries, and manage database content through a simple interface.Last updated -286MIT License