Back to the catalog

ai.smithery/JunoJunHyun-festival-finder-mcp

Discover festivals worldwide by location, date, and genre. Compare options with key details like d…

Open source Repository Open in the app JSON README (API)

About

Discover festivals worldwide by location, date, and genre. Compare options with key details like d…

Details

Kind
MCP servers
Topic
No topic detected
Publisher
ai.smithery
Origin
official
Category
ferramentas
Transport
http
Version
1.16.0
Last push
2025-10-06T17:27:06Z
Repository state
ativo
Language
Python
Added
2026-08-29 03:00:38
Updated
2026-08-29 03:00:38
Origin id
ai.smithery/JunoJunHyun-festival-finder-mcp

README

# Festival-Finder-mcp

[![smithery badge](https://smithery.ai/badge/@JunoJunHyun/festival-finder-mcp)](https://smithery.ai/server/@JunoJunHyun/festival-finder-mcp)

# Festival Finder (페스티벌 파인더)

범용 AI 에이전트 '페스티벌 파인더'입니다. 핵심 로직과 플랫폼별 어댑터를 분리하여 카카오톡, 일반 웹사이트 등 다양한 플랫폼에 연결할 수 있도록 설계되었습니다. KOPIS(공연예술통합전산망) API를 사용하여 전국의 공연 및 축제 정보를 제공합니다.

---

## 🏗️ 아키텍처

이 프로젝트는 **'핵심 엔진(Core Engine)'**과 **'연결 어댑터(Connection Adapters)'**라는 두 가지 주요 부분으로 구성된 확장 가능한 구조를 따릅니다.

### 🧠 핵심 엔진: `core_logic.py`
-   플랫폼에 독립적인 순수 비즈니스 로직입니다.
-   KOPIS API에서 데이터를 가져오고, 가공되지 않은 순수한 파이썬 데이터 형태로 반환하는 역할만 담당합니다.
-   어떤 플랫폼에 연결되는지 전혀 알지 못하며, 어디서든 재사용이 가능합니다.

### 📞 연결 어댑터
-   핵심 엔진을 다양한 외부 플랫폼에 연결하는 '플러그' 역할을 합니다.
-   각 플랫폼의 고유한 요청/응답 형식을 처리하고, 핵심 엔진과 통신합니다.

-   **`kakao_server.py`**: **카카오 PlayMCP**용 어댑터 서버입니다.
-   **`web_server.py`**: **일반 웹사이트나 앱**을 위한 범용 API 어댑터 서버입니다. 

---

## 🛠️ 시작하기

1.  **필요 라이브러리 설치**
    ```bash
    pip install -r requirements.txt
    ```

### Installing via Smithery

To install festival-finder-mcp automatically via [Smithery](https://smithery.ai/server/@JunoJunHyun/festival-finder-mcp):

```bash
npx -y @smithery/cli install @JunoJunHyun/festival-finder-mcp
```

2.  **KOPIS API 키 설정**
    `core_logic.py` 파일을 열어 `KOPIS_API_KEY` 변수에 발급받은 본인의 API 키를 입력하세요.

3.  **어댑터 서버 실행**
    필요한 어댑터 서버를 터미널에서 실행합니다.

    -   **카카오톡 연동 테스트 시:**
        ```bash
        python kakao_server.py
        ```
        - ngrok을 `http://localhost:5000`에 연결하고, PlayMCP Endpoint에 `[ngrok 주소]/kakao`를 등록합니다.

    -   **일반 웹 API 테스트 시:**
        ```bash
        python web_server.py
        ```
        - 웹 브라우저나 다른 프로그램에서 `http://localhost:5001/api/performances?stdate=...` 형식으로 요청하여 테스트할 수 있습니다.

More