Berghain 이벤트 API 및 MCP 구현
프로젝트 구조
지엑스피1
요구 사항
- 파이썬 3.10+
- uv(종속성 관리 및 가상 환경용)
- AWS 계정(DynamoDB 및 App Runner용)
- Firecrawl API 키
시설
- 이 저장소를 복제하세요:
uv
사용하여 가상 환경을 만들고 활성화합니다.uv
로 종속성을 설치합니다:
세부 프로세스
1. Firecrawl을 이용한 데이터 추출
- Firecrawl MCP를 커서로 설정: Firecrawl API 키가 있는지 확인하세요. 커서 MCP 구성에서 다음을 추가합니다.
- 추출을 실행합니다. Cursor의 에이전트(또는 비슷한 도구)를 사용하여 Firecrawl MCP를 호출하고
https://www.berghain.berlin/en/program/
에서 이벤트를 추출하도록 요청합니다. - 데이터 저장: 추출된 데이터는
events/
디렉토리에 JSON 파일로 저장해야 합니다. 예를 들어,events/berghain_events_YYYY-MM-DD.json
.
2. DynamoDB에 데이터 로드
- DynamoDB에 테이블을 생성합니다.
scripts/create_table.py
스크립트가 이 작업을 처리합니다. 실행합니다(필요한 경우 매개변수를 조정합니다): - 테이블에 데이터 로드:
scripts/load_data.py
스크립트는 JSON 파일에서 이벤트를 로드합니다.인수로 전달하지 않는 경우,load_data.py
에서 가져온app/core/config.py
에 필요한 구성이 있는지 확인하세요.
3. FastAPI 및 MCP 서버를 사용한 API
- API 로직은
app/
디렉토리에 있으며 엔드포인트는 정의되어 있습니다(예:app/api/endpoints/events.py
). app/main.py
파일은 FastAPI 애플리케이션과 FastMCP 서버를 시작하도록 구성되어 API 엔드포인트를 AI 모델을 위한 도구로 노출합니다.app/main.py
의custom_maps
확인하여 GET 경로가RouteType.TOOL
에 어떻게 매핑되는지 확인하세요.
AWS에 배포
에게. Dockerfile
Dockerfile
이 uv
사용하도록 올바르게 구성되었고 app/main.py
실행했는지 확인하세요.
비. Amazon ECR(Elastic Container Registry)에 이미지 빌드 및 업로드
- ECR로 Docker 인증:
- ECR에 저장소를 만듭니다(존재하지 않는 경우):
- Docker 이미지를 빌드하세요.
- 이미지에 태그를 지정하세요:
- ECR에 이미지 업로드:
tu-region-aws
과tu-aws-account-id
원하는 값으로 바꾸세요.
기음. Terraform을 사용하여 인프라 배포
- Terraform 파일을 준비합니다. Terraform 구성 파일(예:
main.tf
,variables.tf
,outputs.tf
)이 디렉토리(예:terraform/
)에 있는지 확인합니다. 이러한 파일은 ECR 이미지가 사용할 AWS App Runner 서비스, DynamoDB 테이블(Terraform에서 관리하는 경우) 등 필요한 AWS 리소스를 정의해야 합니다. Terraform의 App Runner 구성은 ECR에 업로드된 이미지를 참조해야 합니다. - Terraform 디렉토리로 이동합니다.
- Terraform 초기화:
- Terraform 구성을 적용합니다.계획을 검토하고 신청을 확인하세요. Terraform이 리소스를 프로비저닝합니다.
- 서비스 URL 가져오기: 적용되면 Terraform은 App Runner 서비스 URL을 포함한 정의된 출력을 표시해야 합니다. 이 URL을 기록해 두세요(예
https://<id-servicio>.<region>.awsapprunner.com
).
배포된 솔루션 테스트
에게. 로컬 테스트 스크립트 조정( mcp_local.py
)
mcp_local.py
파일을 프로젝트의 루트로 설정하세요.
중요: mcp_local.py
의 mcp_server_url
변수를 Terraform 출력에서 얻은 URL로 업데이트합니다.
비. 테스트 실행
프로젝트의 루트(또는 mcp_local.py
저장한 곳)에서:
이렇게 하면 PydanticAI 에이전트가 실행되어 배포된 MCP에 연결하고 쿼리를 수행합니다.
특허
MIT
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.
DynamoDB 기반 FastAPI 서비스를 통해 AI 에이전트가 Berghain 나이트클럽에서 열리는 다가올 이벤트에 대한 정보를 쿼리하고 검색할 수 있는 서버입니다.
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