Integrations
API событий Berghain и реализация MCP
Структура проекта
Copy
Требования
- Питон 3.10+
- uv (для управления зависимостями и виртуальной средой)
- Аккаунт AWS (для DynamoDB и App Runner)
- API-ключ Firecrawl
Средство
- Клонируйте этот репозиторий:Copy
- Создайте и активируйте виртуальную среду с помощью
uv
:Copy - Установите зависимости с помощью
uv
:Copy
Подробный процесс
1. Извлечение данных с помощью Firecrawl
- Установите Firecrawl MCP на курсор: убедитесь, что у вас есть ключ API Firecrawl. В конфигурации Cursor MCPs добавьте:Copy
- Запустите извлечение: используйте агент в 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
. Запустите его (при необходимости настройте параметры):Copy - Загрузка данных в таблицу: Скрипт
scripts/load_data.py
загружает события из файлов JSON.Убедитесь, чтоCopyapp/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:Copy
- Создайте репозиторий в ECR (если его нет):Copy
- Создайте свой образ Docker:Copy
- Отметьте свое изображение:Copy
- Загрузите изображение в ECR:ЗаменитеCopy
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:Copy
- Инициализация Terraform:Copy
- Примените конфигурацию Terraform:Ознакомьтесь с планом и подтвердите заявку. Terraform предоставит ресурсы.Copy
- Получите 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
):
Copy
Это запустит агент PydanticAI, который попытается подключиться к развернутому MCP и выполнить запрос.
Лицензия
Массачусетский технологический институт
This server cannot be installed
Сервер, который позволяет агентам ИИ запрашивать и извлекать информацию о предстоящих событиях в ночном клубе 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 -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