Skip to content

oneTeam-MCP/final_mcp_server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

5 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

์ƒ๋ช…๋Œ€ํ•™๊ต ํŠนํ™” MCP ์„œ๋ฒ„ (SMUS)

์ƒ๋ช…๋Œ€ ํ™˜๊ฒฝ์— ํŠนํ™”๋œ MCP(Model Context Protocol) ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค.
๋ฐฑ์—”๋“œ๋Š” FastMCP(Python)๋กœ ์ž‘์„ฑํ–ˆ๊ณ , ๋ฐฐํฌ/ํ˜ธ์ŠคํŒ…์€ Smithery๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ณต์ง€/ํ•™์‚ฌ์ผ์ •/์‹๋‹จ/์‹œํ—˜ ๋“ฑ ํ•ต์‹ฌ ์ •๋ณด๋ฅผ MCP ํˆด๋กœ ์ œ๊ณตํ•˜๋ฉฐ, ์ž์—ฐ์–ด๋กœ ์กฐํšŒยท์š”์•ฝยท์ผ์ • ๋“ฑ๋ก/์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.


์™œ FastMCP ์ธ๊ฐ€

  • Pythonic & ๋น ๋ฅธ ๊ฐœ๋ฐœ: ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ(@mcp.tool, @mcp.prompt)๋งŒ์œผ๋กœ MCP ํˆด/ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋…ธ์ถœ
  • MCP ํ‘œ์ค€ ์ค€์ˆ˜: STDIO/HTTP(SSE) ์ „์†ก์„ ํฌํ•จํ•œ MCP ์ŠคํŽ™์„ ๊ฐ„๋‹จํžˆ ๊ตฌํ˜„
  • ์šด์˜ ์นœํ™”: Uvicorn/Starlette์™€ ๊ถํ•ฉ์ด ์ข‹์•„ ๋กœ์ปฌยท์ปจํ…Œ์ด๋„ˆ ๋ฐฐํฌ๊ฐ€ ์ˆ˜์›”

์ฐธ๊ณ  ๋ฌธ์„œ


์™œ Smithery ์ธ๊ฐ€

  • ์›ํด๋ฆญ ๋ฐฐํฌ: MCP ์„œ๋ฒ„๋ฅผ URL/๋ช…๋ น ๊ธฐ๋ฐ˜์œผ๋กœ ์—ฐ๊ฒฐํ•ด ๋ฐ”๋กœ ์‚ฌ์šฉ
  • ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ ์šฉ์ด: MCP URL ํ•˜๋‚˜๋กœ ๋‹ค์–‘ํ•œ ์—์ด์ „ํŠธ/ํด๋ผ์ด์–ธํŠธ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ์„œ๋ฒ„ ์นดํƒˆ๋กœ๊ทธ: ๊ณต๊ฐœ ์„œ๋ฒ„๋กœ ๋ฐฐํฌํ•ด ๊ณต์œ /๋ฐœ๊ฒฌ์ด ์‰ฌ์›€

์ฐธ๊ณ  ๋ฌธ์„œ


์•„ํ‚คํ…์ฒ˜ ํ•œ๋ˆˆ์—

[Frontend / MCP Client (์˜ˆ: Smithery, Chat UI)] โ”‚ JSON-RPC over HTTP (streamable-http) โ–ผ [FastMCP Server (Python, Uvicorn/Starlette)] โ”œโ”€ @prompt : default_prompt (KST ์•ต์ปค๋ง, ๋„๊ตฌ ํ˜ธ์ถœ ๊ทœ์น™) โ”œโ”€ @tool : now_kr, query_smu_* (meals/notices/exam/schedule), add/delete schedule ... โ””โ”€ RDS(MySQL) : PyMySQL๋กœ ์‹ค๋ฐ์ดํ„ฐ ์กฐํšŒ/์“ฐ๊ธฐ

  • Transport: HTTP(JSON-RPC, streamable-http)
  • Timezone: KST(Asia/Seoul) ๊ธฐ์ค€ ์•ต์ปค๋ง
  • DB: RDS MySQL (ํ™˜๊ฒฝ๋ณ€์ˆ˜๋กœ ์ ‘์† ์ •๋ณด ๊ด€๋ฆฌ)

ํ•ต์‹ฌ ๊ธฐ๋Šฅ(์š”์•ฝ)

  • ํ†ตํ•ฉ ์กฐํšŒ: ๊ณต์ง€/ํ•™์‚ฌ์ผ์ •/์‹๋‹จ/์‹œํ—˜์„ ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋กœ
  • ์ž์—ฐ์–ด ์ƒํ˜ธ์ž‘์šฉ: โ€œ์˜ค๋Š˜ ์ ์‹ฌ ๋ญ์•ผ?โ€, โ€œ์ค‘๊ฐ„๊ณ ์‚ฌ ์ผ์ • ์ฐพ์•„์ค˜โ€
  • ์ผ์ • ๊ด€๋ฆฌ: ๊ฐœ์ธ ์ผ์ • ๋“ฑ๋ก/์‚ญ์ œ (add_smu_schedule_structured, delete_smu_schedule_by_content)
  • ์•ˆ์ „์žฅ์น˜ ํ”„๋กฌํ”„ํŠธ: ๋‚ ์งœ ์˜์กด ์งˆ๋ฌธ ์ „ now_kr ํ˜ธ์ถœ, ๋„์–ด์“ฐ๊ธฐ ๋ณ€ํ˜• ์ž๋™ ๊ณ ๋ ค

๋น ๋ฅธ ์‹œ์ž‘

git clone https://github.com/oneTeam-MCP/final_mcp_server.git
cd final_mcp_server
pip install -r requirements.txt

# ํ™˜๊ฒฝ๋ณ€์ˆ˜ (์˜ˆ์‹œ) โ€” ์šด์˜์€ .env / Secret Manager ๊ถŒ์žฅ
export DB_HOST=your-host.rds.amazonaws.com
export DB_USER=your-user
export DB_PASSWORD=your-password
export DB_NAME=oneteam_DB
export DB_PORT=3306
export PORT=8081

python server.py
# โ†’ http://0.0.0.0:8081 ๋กœ MCP HTTP ์„œ๋ฒ„๊ฐ€ ๋œน๋‹ˆ๋‹ค.

Smithery์—์„œ ์‚ฌ์šฉ

์œ„ ์„œ๋ฒ„๋ฅผ Smithery์— ๋“ฑ๋กํ•˜๊ฑฐ๋‚˜, ๊ณต๊ฐœ ๋ฐฐํฌ๋ณธ(https://smithery.ai/server/@hwruchan/smus)์„
 ๋ฐ”๋กœ ์—ฐ๊ฒฐํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

About

๐ŸซAI Agent(Custom MCP-driven)๋ฅผ ํ™œ์šฉํ•œ ์ƒ๋ช…๋Œ€ํ•™๊ต ํ†ตํ•ฉ ์ •๋ณด ํ—ˆ๋ธŒ๐Ÿซ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors