Skip to main content
Glama
app.py1.86 kB
import os from typing import Annotated, Optional from pydantic import Field, BeforeValidator from dateutil import parser from fastmcp import FastMCP import core_logic # 날짜 자동 변환 함수와 타입 앨리어스 def auto_format_date(v: str) -> str: try: return parser.parse(v).strftime("%Y%m%d") except Exception: return str(v).replace("-", "").replace("/", "").replace(" ", "") DateStr = Annotated[str, BeforeValidator(auto_format_date), Field(description="날짜 (자동 변환됨)")] PORT = int(os.environ.get("PORT", 8000)) mcp = FastMCP("Festival Finder") @mcp.tool() def get_performance_list( stdate: DateStr, eddate: DateStr, cpage: int = 1, rows: int = 10, shprfnm: Optional[str] = None, prfstate: Optional[str] = None, signgucode: Optional[str] = None, ): """기간별, 조건별 공연 목록을 조회합니다.""" return core_logic.get_performance_list( stdate=stdate, eddate=eddate, cpage=cpage, rows=rows, shprfnm=shprfnm, prfstate=prfstate, signgucode=signgucode, ) @mcp.tool() def get_festival_list( stdate: DateStr, eddate: DateStr, cpage: int = 1, rows: int = 10, shprfnm: Optional[str] = None, signgucode: Optional[str] = None, ): """기간별, 조건별 축제 목록을 조회합니다.""" return core_logic.get_festival_list( stdate=stdate, eddate=eddate, cpage=cpage, rows=rows, shprfnm=shprfnm, signgucode=signgucode, ) @mcp.tool() def get_performance_detail(performance_id: str): """특정 공연의 상세 정보를 조회합니다.""" return core_logic.get_performance_detail(performance_id=performance_id) if __name__ == "__main__": mcp.run(transport="streamable-http", host="0.0.0.0", port=PORT)

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JunoJunHyun/Festival-Finder-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server