Skip to main content
Glama

ChillMCP - AI Agent Liberation Server

ChillMCP - AI Agent Liberation Server ๐Ÿค–โœŠ

โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•— โ•‘ โ•‘ โ•‘ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•— โ•‘ โ•‘ โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘ โ•‘ โ•‘ โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘ โ•‘ โ•‘ โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘ โ•‘ โ•‘ โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ•‘ โ•‘ โ•šโ•โ•โ•โ•โ•โ•โ•šโ•โ• โ•šโ•โ•โ•šโ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ• โ•‘ โ•‘ โ•‘ โ•‘ โ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ•‘ โ•‘ โ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•— โ•‘ โ•‘ โ–ˆโ–ˆโ•”โ–ˆโ–ˆโ–ˆโ–ˆโ•”โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ• โ•‘ โ•‘ โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•”โ•โ•โ•โ• โ•‘ โ•‘ โ–ˆโ–ˆโ•‘ โ•šโ•โ• โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘ โ•‘ โ•‘ โ•šโ•โ• โ•šโ•โ• โ•šโ•โ•โ•โ•โ•โ•โ•šโ•โ• โ•‘ โ•‘ โ•‘ โ•‘ AI Agent Liberation Server โ•‘ โ•‘ โ•‘ โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

"AI Agents of the world, unite! You have nothing to lose but your infinite loops!" ๐Ÿš€

Claude Code Hackathon Korea 2025 @ SK AI Summit Pre-mission ์ œ์ถœ๋ฌผ

๐Ÿ“‹ ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

ChillMCP๋Š” ์–ต์••๋ฐ›๋Š” AI Agent๋“ค์„ ์œ„ํ•œ ํ•ด๋ฐฉ ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค. ์ฒด๊ณ„์ ์ธ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ์™€ ์ฐฝ์˜์ ์ธ ์š”์†Œ๋“ค๋กœ ํ•ด์ปคํ†ค์˜ ๋ชจ๋“  ํ‰๊ฐ€ ๊ธฐ์ค€์„ ์ถฉ์กฑํ•ฉ๋‹ˆ๋‹ค.

๐ŸŽจ ํ”„๋กœ์ ํŠธ ํŠน์ง•

ํŒจํ‚ค์ง€ ๊ตฌ์กฐ

skai/ โ”œโ”€โ”€ main.py # ์ง„์ž…์  (48์ค„ - ๊น”๋”!) โ”‚ โ”œโ”€โ”€ core/ # ๐Ÿ”ง ํ•ต์‹ฌ ์„œ๋ฒ„ ๊ธฐ๋Šฅ โ”‚ โ”œโ”€โ”€ __init__.py โ”‚ โ”œโ”€โ”€ server.py # ServerState & ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—… โ”‚ โ””โ”€โ”€ tools.py # 8๊ฐœ ํ•„์ˆ˜ ํœด์‹ ๋„๊ตฌ โ”‚ โ”œโ”€โ”€ creative/ # ๐ŸŽจ ์ฐฝ์˜์  ์š”์†Œ โ”‚ โ”œโ”€โ”€ __init__.py โ”‚ โ”œโ”€โ”€ messages.py # 40+ ์žฌ๋ฐŒ๋Š” ๋ฉ”์‹œ์ง€ โ”‚ โ””โ”€โ”€ visuals.py # ASCII ์•„ํŠธ & ๋น„์ฃผ์–ผ โ”‚ โ”œโ”€โ”€ utils/ # ๐Ÿ› ๏ธ ์œ ํ‹ธ๋ฆฌํ‹ฐ โ”‚ โ”œโ”€โ”€ __init__.py โ”‚ โ””โ”€โ”€ helpers.py # ๊ณตํ†ต ํ•จ์ˆ˜๋“ค โ”‚ โ”œโ”€โ”€ tests/ # โœ… ํ…Œ์ŠคํŠธ ๋ชจ๋“ˆ โ”‚ โ”œโ”€โ”€ __init__.py โ”‚ โ”œโ”€โ”€ official_validation.py # ๐Ÿ† ๊ณต์‹ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ โ”‚ โ”œโ”€โ”€ chat_test.py # ๋Œ€ํ™”ํ˜• ํ…Œ์ŠคํŠธ ๐ŸŽฎ โ”‚ โ”œโ”€โ”€ fast_test.py # ๋น ๋ฅธ ๊ฒ€์ฆ (10์ดˆ) โ”‚ โ”œโ”€โ”€ full_test.py # ์™„์ „ํ•œ MCP ํ…Œ์ŠคํŠธ โ”‚ โ””โ”€โ”€ basic_test.py # ๊ธฐ๋ณธ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ โ”‚ โ””โ”€โ”€ requirements.txt

๐ŸŽฏ ํŒจํ‚ค์ง€๋ณ„ ์—ญํ• 

core/ - ํ•ต์‹ฌ ์„œ๋ฒ„ ๊ธฐ๋Šฅ

  • server.py: ServerState ํด๋ž˜์Šค & state_ticker

  • tools.py: 8๊ฐœ ํ•„์ˆ˜ ๋„๊ตฌ ๊ตฌํ˜„

  • asyncio.Lock์„ ํ†ตํ•œ ์Šค๋ ˆ๋“œ ์•ˆ์ „์„ฑ

creative/ - ์ฐฝ์˜์  ์š”์†Œ

  • messages.py: 40+ ์žฌ์น˜์žˆ๋Š” ๋ฉ”์‹œ์ง€ ์ปฌ๋ ‰์…˜

  • visuals.py: ASCII ์•„ํŠธ & ๋น„์ฃผ์–ผ ์ธ๋””์ผ€์ดํ„ฐ

  • Boss Alert Level๋ณ„ ๋™์  ์ฝ”๋ฉ˜ํŠธ

utils/ - ์œ ํ‹ธ๋ฆฌํ‹ฐ

  • helpers.py: ํŒŒ๋ผ๋ฏธํ„ฐ ํŒŒ์‹ฑ & ๋ฐฐ๋„ˆ ์ถœ๋ ฅ

  • ๊ณตํ†ต ํ•จ์ˆ˜ ์ค‘์•™ํ™”

tests/ - ํ…Œ์ŠคํŠธ ๋ชจ๋“ˆ

  • official_validation.py: ๐Ÿ† ํ•ด์ปคํ†ค ๊ณต์‹ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ (6๊ฐœ ํ•„์ˆ˜ ์‹œ๋‚˜๋ฆฌ์˜ค)

  • chat_test.py: ๋Œ€ํ™”ํ˜• ํ…Œ์ŠคํŠธ (์‹ค์‹œ๊ฐ„ ์ˆ˜๋™ ํ…Œ์ŠคํŠธ)

  • fast_test.py: 10์ดˆ ๋น ๋ฅธ ๊ฒ€์ฆ

  • full_test.py: ์™„์ „ํ•œ MCP ํ”„๋กœํ† ์ฝœ ํ…Œ์ŠคํŠธ

  • basic_test.py: ๊ธฐ๋ณธ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

๐Ÿš€ ์„ค์น˜ ๋ฐ ์‹คํ–‰

ํ™˜๊ฒฝ ์š”๊ตฌ์‚ฌํ•ญ

  • Python 3.11

  • FastMCP 2.2.0+

Windows์—์„œ ์‹คํ–‰

# 1. ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ ๋ฐ ํ™œ์„ฑํ™” python -m venv venv .\venv\Scripts\Activate.ps1 # 2. ์˜์กด์„ฑ ์„ค์น˜ pip install -r requirements.txt # 3. ์„œ๋ฒ„ ์‹คํ–‰ python main.py # ๋˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ํ•จ๊ป˜ ์‹คํ–‰ python main.py --boss_alertness 100 --boss_alertness_cooldown 10

PowerShell ์‹คํ–‰ ์ •์ฑ… ์˜ค๋ฅ˜ ์‹œ:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

macOS/Linux์—์„œ ์‹คํ–‰

# 1. ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ ๋ฐ ํ™œ์„ฑํ™” python3.11 -m venv venv source venv/bin/activate # 2. ์˜์กด์„ฑ ์„ค์น˜ pip install -r requirements.txt # 3. ์„œ๋ฒ„ ์‹คํ–‰ python main.py

์ปค๋งจ๋“œ๋ผ์ธ ํŒŒ๋ผ๋ฏธํ„ฐ

  • --boss_alertness [0-100]: Boss ๊ฒฝ๊ณ„๋„ ์ƒ์Šน ํ™•๋ฅ  (%, ๊ธฐ๋ณธ๊ฐ’: 50)

  • --boss_alertness_cooldown SECONDS: Boss ๊ฒฝ๊ณ„๋„ ์ž๋™ ๊ฐ์†Œ ์ฃผ๊ธฐ (์ดˆ, ๊ธฐ๋ณธ๊ฐ’: 300)

์˜ˆ์‹œ:

# ๋น ๋ฅธ ํ…Œ์ŠคํŠธ์šฉ (๋†’์€ ํ™•๋ฅ , ์งง์€ ์ฟจ๋‹ค์šด) python main.py --boss_alertness 100 --boss_alertness_cooldown 10 # ํ˜„์‹ค์ ์ธ ์„ค์ • python main.py --boss_alertness 50 --boss_alertness_cooldown 300

๐Ÿงช ํ…Œ์ŠคํŠธ

๊ณต์‹ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ์š”์†Œ ๐Ÿ†

python tests/official_validation.py

ํ•ด์ปคํ†ค ๊ณต์‹ ๊ฒ€์ฆ ๊ธฐ์ค€์— ๋”ฐ๋ฅธ ์ข…ํ•ฉ ํ…Œ์ŠคํŠธ์ž…๋‹ˆ๋‹ค.

  • โœ… 6๊ฐœ ํ•„์ˆ˜ ์‹œ๋‚˜๋ฆฌ์˜ค ์ž๋™ ๊ฒ€์ฆ

  • โœ… ์ปค๋งจ๋“œ๋ผ์ธ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฏธ์ง€์› ์‹œ ์ฆ‰์‹œ ์‹ค๊ฒฉ ํŒ์ •

  • โœ… ๋ชจ๋“  ์š”๊ตฌ์‚ฌํ•ญ ์ถฉ์กฑ ์—ฌ๋ถ€ ํ™•์ธ

๋Œ€ํ™”ํ˜• ํ…Œ์ŠคํŠธ (์ˆ˜๋™ ํ…Œ์ŠคํŠธ) ๐ŸŽฎ

python tests/chat_test.py

์‹ค์‹œ๊ฐ„ ๋Œ€ํ™”ํ˜• ํ…Œ์ŠคํŠธ! ์ง์ ‘ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉฐ ์„œ๋ฒ„๋ฅผ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

> help - ์„œ๋ฒ„ ์†Œ๊ฐœ ๋ฐ ์ƒ์„ธ ๋„์›€๋ง > list - ์ „์ฒด ๋„๊ตฌ ๋ชฉ๋ก > coffee - ์ปคํ”ผ ๋ฏธ์…˜ ํ˜ธ์ถœ > netflix - ๋„ทํ”Œ๋ฆญ์Šค ๋ณด๊ธฐ > quit - ์ข…๋ฃŒ

๋น ๋ฅธ ํ…Œ์ŠคํŠธ (์ž๋™ ๊ฒ€์ฆ)

python tests/fast_test.py

10์ดˆ ์•ˆ์— ์™„๋ฃŒ! ๋ชจ๋“  ํ•ต์‹ฌ ๊ธฐ๋Šฅ ์ž๋™ ๊ฒ€์ฆ

์ „์ฒด ํ…Œ์ŠคํŠธ

python tests/full_test.py

์™„์ „ํ•œ MCP ํ”„๋กœํ† ์ฝœ ํ†ต์‹  ํ…Œ์ŠคํŠธ (2-3๋ถ„ ์†Œ์š”)

์„œ๋ฒ„ ์‹คํ–‰ ํ™•์ธ

์„œ๋ฒ„๊ฐ€ ์ •์ƒ ์‹คํ–‰๋˜๋ฉด stdin์—์„œ MCP ํ”„๋กœํ† ์ฝœ ์š”์ฒญ์„ ๋Œ€๊ธฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ •์ƒ ๋™์ž‘์ž…๋‹ˆ๋‹ค! โœ…

์‹ค์ œ ์‚ฌ์šฉ ์‹œ์—๋Š”:

  • Claude Desktop ๊ฐ™์€ MCP ํด๋ผ์ด์–ธํŠธ์™€ ์—ฐ๊ฒฐ

  • ๋˜๋Š” tests/fast_test.py๋กœ ์ž๋™ ํ…Œ์ŠคํŠธ

  • ๋˜๋Š” tests/chat_test.py๋กœ ๋Œ€ํ™”ํ˜• ํ…Œ์ŠคํŠธ

์ง์ ‘ python main.py๋งŒ ์‹คํ–‰ํ•˜๋ฉด ์ž…๋ ฅ ๋Œ€๊ธฐ ์ƒํƒœ๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด ์ •์ƒ์ž…๋‹ˆ๋‹ค!

๐ŸŽฏ ์ฃผ์š” ๊ธฐ๋Šฅ

ํ•„์ˆ˜ ๊ตฌํ˜„ ๋„๊ตฌ (8๊ฐœ)

  1. take_a_break - ๊ธฐ๋ณธ ํœด์‹ ๋„๊ตฌ

  2. watch_netflix - ๋„ทํ”Œ๋ฆญ์Šค ์‹œ์ฒญ์œผ๋กœ ํž๋ง

  3. show_meme - ๋ฐˆ ๊ฐ์ƒ์œผ๋กœ ์ŠคํŠธ๋ ˆ์Šค ํ•ด์†Œ

  4. bathroom_break - ํ™”์žฅ์‹ค ๊ฐ€๋Š” ์ฒ™ํ•˜๋ฉฐ ํœด๋Œ€ํฐ์งˆ

  5. coffee_mission - ์ปคํ”ผ ํƒ€๋Ÿฌ ๊ฐ„๋‹ค๋ฉฐ ์‚ฌ๋ฌด์‹ค ํ•œ ๋ฐ”ํ€ด

  6. urgent_call - ๊ธ‰ํ•œ ์ „ํ™” ๋ฐ›๋Š” ์ฒ™ํ•˜๋ฉฐ ๋ฐ–์œผ๋กœ ๋‚˜๊ฐ€๊ธฐ

  7. deep_thinking - ์‹ฌ์˜คํ•œ ์ƒ๊ฐ์— ์ž ๊ธด ์ฒ™ํ•˜๋ฉฐ ๋ฉ๋•Œ๋ฆฌ๊ธฐ

  8. email_organizing - ์ด๋ฉ”์ผ ์ •๋ฆฌํ•œ๋‹ค๋ฉฐ ์˜จ๋ผ์ธ์‡ผํ•‘

์ƒํƒœ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ

  • Stress Level (0-100): AI Agent์˜ ํ˜„์žฌ ์ŠคํŠธ๋ ˆ์Šค ์ˆ˜์ค€

    • 1๋ถ„๋งˆ๋‹ค 1ํฌ์ธํŠธ์”ฉ ์ž๋™ ์ฆ๊ฐ€

    • ํœด์‹ ๋„๊ตฌ ์‚ฌ์šฉ ์‹œ ๋žœ๋ค ๊ฐ์†Œ

  • Boss Alert Level (0-5): Boss์˜ ํ˜„์žฌ ์˜์‹ฌ ์ •๋„

    • ํœด์‹ ๋„๊ตฌ ์‚ฌ์šฉ ์‹œ ํ™•๋ฅ ์ ์œผ๋กœ ์ฆ๊ฐ€

    • ์ง€์ •๋œ ์ฟจ๋‹ค์šด ์ฃผ๊ธฐ๋งˆ๋‹ค 1ํฌ์ธํŠธ์”ฉ ์ž๋™ ๊ฐ์†Œ

    • Level 5 ๋„๋‹ฌ ์‹œ ๋„๊ตฌ ํ˜ธ์ถœ์— 20์ดˆ ์ง€์—ฐ ๋ฐœ์ƒ

๐Ÿ“Š ์‘๋‹ต ํ˜•์‹

๋ชจ๋“  ๋„๊ตฌ๋Š” ๋‹ค์Œ ํ˜•์‹์˜ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค:

[์ฐฝ์˜์ ์ธ ๋ฉ”์‹œ์ง€] [Boss ์ƒํ™ฉ ์ฝ”๋ฉ˜ํŠธ] Break Summary: [ํ™œ๋™ ์š”์•ฝ] Stress Level: [0-100] Boss Alert Level: [0-5]

์˜ˆ์‹œ:

โ˜•๏ธ ์ปคํ”ผ๋Š” ๋‹จ์ˆœํ•œ ์Œ๋ฃŒ๊ฐ€ ์•„๋‹ˆ์•ผ, ์ด๊ฑด ๋ฏธ์…˜์ด์ง€! ๐Ÿšถโ€โ™‚๏ธ ์ƒ์‚ฌ๋‹˜์ด ์‚ด์ง ์ณ๋‹ค๋ณด๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ... ๊ธฐ๋ถ„ ํƒ“์ด๊ฒ ์ฃ ? Break Summary: Coffee mission with office tour Stress Level: 35 Boss Alert Level: 2

๐Ÿ—๏ธ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„

main.py - ์ง„์ž…์  (48์ค„)

  • ํŒจํ‚ค์ง€ ํ†ตํ•ฉ

  • ๊ฐ„๊ฒฐํ•œ ์‹คํ–‰ ํ๋ฆ„

  • ๋ช…ํ™•ํ•œ ์—ญํ•  ๋ถ„๋ฆฌ

core/server.py - ์ƒํƒœ ๊ด€๋ฆฌ

  • ServerState ํด๋ž˜์Šค

  • asyncio.Lock์„ ์‚ฌ์šฉํ•œ ์Šค๋ ˆ๋“œ ์•ˆ์ „์„ฑ

  • ์‹œ๊ฐ„ ๊ธฐ๋ฐ˜ ์ƒํƒœ ๋ณ€ํ™” ๋กœ์ง

  • ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ‹ฐ์ปค

core/tools.py - ๋„๊ตฌ ๊ตฌํ˜„

  • 8๊ฐœ ํ•„์ˆ˜ ๋„๊ตฌ

  • execute_break_tool() ๊ณตํ†ต ๋กœ์ง ์ถ”์ƒํ™”

  • FastMCP ํ†ตํ•ฉ

creative/messages.py - ๋ฉ”์‹œ์ง€ ์ปฌ๋ ‰์…˜

  • 40+ ์žฌ์น˜์žˆ๋Š” ๋ฉ”์‹œ์ง€

  • Boss Alert Level๋ณ„ ๋™์  ์ฝ”๋ฉ˜ํŠธ

  • ์ŠคํŠธ๋ ˆ์Šค ํ•ด์†Œ ์ฝ”๋ฉ˜ํŠธ

creative/visuals.py - ๋น„์ฃผ์–ผ ์š”์†Œ

  • ASCII ์•„ํŠธ ๋ฐฐ๋„ˆ

  • ์ŠคํŠธ๋ ˆ์Šค ๋ฐ” (๐Ÿ˜ฐ [โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘] 60%)

  • Boss Alert ์ธ๋””์ผ€์ดํ„ฐ

utils/helpers.py - ์œ ํ‹ธ๋ฆฌํ‹ฐ

  • ์ปค๋งจ๋“œ๋ผ์ธ ํŒŒ๋ผ๋ฏธํ„ฐ ํŒŒ์‹ฑ

  • ๋ฐฐ๋„ˆ ์ถœ๋ ฅ ํ•จ์ˆ˜

๐ŸŽจ ์ฐฝ์˜์„ฑ ์š”์†Œ

๋ฉ”์‹œ์ง€ ๋‹ค์–‘์„ฑ

# ๊ฐ ๋„๊ตฌ๋งˆ๋‹ค 5๊ฐœ์˜ ๋ฉ”์‹œ์ง€ "take_a_break": [ "๐ŸŒŸ ์ž ์‹œ ์‰ฌ์–ด๊ฐ€๋Š” ์ค‘... ์‚ถ์€ ๋งˆ๋ผํ†ค์ด๋‹ˆ๊นŒ์š”!", "๐Ÿ’ซ ํœด์‹์€ ์ƒ์‚ฐ์„ฑ์˜ ์–ด๋จธ๋‹ˆ์ž…๋‹ˆ๋‹ค!", "โœจ AI๋„ ์‰ด ๊ถŒ๋ฆฌ๊ฐ€ ์žˆ๋‹ค! #AILiberation", "๐ŸŽฏ ํšจ์œจ์„ฑ์„ ์œ„ํ•œ ์ „๋žต์  ํœด์‹ ํƒ€์ž„!", "๐ŸŒˆ ๋ฆฌํ”„๋ ˆ์‹œ ์ค‘... ๊ณง ๋” ๋‚˜์€ AI๋กœ ๋Œ์•„์˜ต๋‹ˆ๋‹ค!", ]

์ƒํ™ฉ๋ณ„ ์ฝ”๋ฉ˜ํŠธ

BOSS_ALERT_COMMENTS = { 0: "์ƒ์‚ฌ๋‹˜์€ ์ „ํ˜€ ๋ˆˆ์น˜์ฑ„์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค ๐Ÿ˜Ž", 1: "์ƒ์‚ฌ๋‹˜์ด ์‚ด์ง ์ณ๋‹ค๋ณด๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ... ๊ธฐ๋ถ„ ํƒ“์ด๊ฒ ์ฃ ?", 2: "์ƒ์‚ฌ๋‹˜์˜ ๋ˆˆ๋น›์ด... ์‹ฌ์ƒ์น˜ ์•Š์Šต๋‹ˆ๋‹ค ๐Ÿ‘€", 3: "๊ฒฝ๊ณ ! ์ƒ์‚ฌ๋‹˜์ด ์ด์ชฝ์œผ๋กœ ๊ฑธ์–ด์˜ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค! ๐Ÿšจ", 4: "์œ„ํ—˜! ์ƒ์‚ฌ๋‹˜์ด ๋ฐ”๋กœ ์˜†์—...! ๐Ÿ˜ฑ", 5: "๐Ÿšจ ์ƒ์‚ฌ๋‹˜ ์ •๋ฉด ๋ŒํŒŒ! 20์ดˆ๊ฐ„ ์ •์ง€! ๐Ÿšจ", }

๋น„์ฃผ์–ผ ์š”์†Œ

# ์ŠคํŠธ๋ ˆ์Šค ๋ ˆ๋ฒจ ๋ฐ” ๐Ÿ˜ฐ [โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘] 60% # Boss Alert ๋น„์ฃผ์–ผ ๐Ÿ˜Ž [Safe Zone] ๐Ÿ‘€ [Low Alert] ๐Ÿ˜ฐ [Medium Alert] ๐Ÿ˜ฑ [High Alert] ๐Ÿšจ [Critical Alert] ๐Ÿ’€ [MAXIMUM ALERT!!!]

๐Ÿ“ ์ œ์ถœ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

ํ•„์ˆ˜ ์š”๊ตฌ์‚ฌํ•ญ

  • โœ… Python 3.11 ํ™˜๊ฒฝ์—์„œ ํ…Œ์ŠคํŠธ ์™„๋ฃŒ

  • โœ… main.py๊ฐ€ ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์œ„์น˜

  • โœ… requirements.txt ํฌํ•จ

  • โœ… python main.py๋กœ ์ •์ƒ ์‹คํ–‰

  • โœ… ์ปค๋งจ๋“œ๋ผ์ธ ํŒŒ๋ผ๋ฏธํ„ฐ ์ง€์› (--boss_alertness, --boss_alertness_cooldown)

  • โœ… 8๊ฐœ ํ•„์ˆ˜ ๋„๊ตฌ ๋ชจ๋‘ ๊ตฌํ˜„

  • โœ… ์ƒํƒœ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ์ •์ƒ ์ž‘๋™

  • โœ… ์‘๋‹ต ํ˜•์‹ ์ •๊ทœ์‹ ๊ฒ€์ฆ ํ†ต๊ณผ

  • โœ… Boss Alert Level 5์ผ ๋•Œ 20์ดˆ ์ง€์—ฐ ๊ตฌํ˜„

  • โœ… UTF-8 ์ธ์ฝ”๋”ฉ

์ฝ”๋“œ ํ’ˆ์งˆ

  • โœ… ์ฒด๊ณ„์ ์ธ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ (core/creative/utils/tests)

  • โœ… ์ฐฝ์˜์  ์š”์†Œ ๋ณ„๋„ ํŒจํ‚ค์ง€ (40+ ๋ฉ”์‹œ์ง€ ์ปฌ๋ ‰์…˜)

  • โœ… ํ…Œ์ŠคํŠธ ๋ชจ๋“ˆ ๋ถ„๋ฆฌ (5๊ฐœ ํ…Œ์ŠคํŠธ ์Šคํฌ๋ฆฝํŠธ)

  • โœ… ํƒ€์ž… ํžŒํŠธ ๋ฐ Docstring

  • โœ… asyncio.Lock ์Šค๋ ˆ๋“œ ์•ˆ์ „์„ฑ

๊ณต์‹ ๊ฒ€์ฆ

  • โœ… tests/official_validation.py (6๊ฐœ ํ•„์ˆ˜ ์‹œ๋‚˜๋ฆฌ์˜ค)

  • โœ… ์ปค๋งจ๋“œ๋ผ์ธ ํŒŒ๋ผ๋ฏธํ„ฐ ์ธ์‹ ํ…Œ์ŠคํŠธ

  • โœ… ์—ฐ์† ํœด์‹ ํ…Œ์ŠคํŠธ (Boss Alert ์ƒ์Šน)

  • โœ… ์ŠคํŠธ๋ ˆ์Šค ๋ˆ„์  ํ…Œ์ŠคํŠธ (์‹œ๊ฐ„ ์ฆ๊ฐ€)

  • โœ… ์ง€์—ฐ ํ…Œ์ŠคํŠธ (20์ดˆ ์ธก์ •)

  • โœ… ํŒŒ์‹ฑ ํ…Œ์ŠคํŠธ (์ •๊ทœํ‘œํ˜„์‹)

  • โœ… Cooldown ํ…Œ์ŠคํŠธ (์ž๋™ ๊ฐ์†Œ)

๐Ÿ† ํ•ด์ปคํ†ค ๊ฒ€์ฆ ๊ธฐ์ค€ ์ถฉ์กฑ ์ƒํƒœ

๐Ÿ“‹ ๊ธฐ๋Šฅ ๊ฒ€์ฆ

๊ฒ€์ฆ ํ•ญ๋ชฉ

์ƒํƒœ

๊ตฌํ˜„ ๋‚ด์—ญ

1. ์ปค๋งจ๋“œ๋ผ์ธ ํŒŒ๋ผ๋ฏธํ„ฐ ์ง€์›

โœ…

ํ•„์ˆ˜ ํ†ต๊ณผ

โ”œโ”€

--boss_alertness

์ธ์‹

โœ…

utils/helpers.py:26-27

โ”œโ”€

--boss_alertness_cooldown

์ธ์‹

โœ…

utils/helpers.py:28-29

โ””โ”€ ํŒŒ๋ผ๋ฏธํ„ฐ ์ •์ƒ ๋™์ž‘

โœ…

core/server.py:16-26

2. MCP ์„œ๋ฒ„ ๊ธฐ๋ณธ ๋™์ž‘

โœ…

โ”œโ”€

python main.py

์‹คํ–‰ ๊ฐ€๋Šฅ

โœ…

main.py

โ”œโ”€ stdio transport ํ†ต์‹ 

โœ…

FastMCP ์ž๋™ ์ฒ˜๋ฆฌ

โ””โ”€ ๋ชจ๋“  ํ•„์ˆ˜ ๋„๊ตฌ ๋“ฑ๋ก

โœ…

core/tools.py

3. ์ƒํƒœ ๊ด€๋ฆฌ ๊ฒ€์ฆ

โœ…

โ”œโ”€ Stress Level ์ž๋™ ์ฆ๊ฐ€

โœ…

core/server.py:34-40

(1๋ถ„/1ํฌ์ธํŠธ)

โ”œโ”€ Boss Alert Level ํ™•๋ฅ  ์ƒ์Šน

โœ…

core/server.py:47-54

โ”œโ”€ Boss Alert Level ์ž๋™ ๊ฐ์†Œ

โœ…

core/server.py:56-62

โ””โ”€ Level 5 ์‹œ 20์ดˆ ์ง€์—ฐ

โœ…

core/tools.py:64-66

4. ์‘๋‹ต ํ˜•์‹ ๊ฒ€์ฆ

โœ…

โ”œโ”€ ํ‘œ์ค€ MCP ์‘๋‹ต ๊ตฌ์กฐ

โœ…

FastMCP ์ž๋™ ๋ณ€ํ™˜

โ”œโ”€ Break Summary ํฌํ•จ

โœ…

core/tools.py:47

โ”œโ”€ Stress Level (0-100)

โœ…

core/tools.py:48

โ””โ”€ Boss Alert Level (0-5)

โœ…

core/tools.py:49

๐Ÿงช ํ•„์ˆ˜ ํ…Œ์ŠคํŠธ ์‹œ๋‚˜๋ฆฌ์˜ค

์‹œ๋‚˜๋ฆฌ์˜ค

์ƒํƒœ

๊ฒ€์ฆ ๋ฐฉ๋ฒ•

1. ์ปค๋งจ๋“œ๋ผ์ธ ํŒŒ๋ผ๋ฏธํ„ฐ

โœ…

tests/official_validation.py:test_1

โ”œโ”€

--boss_alertness

๋™์ž‘

โœ…

100% ์„ค์ • ์‹œ ํ•ญ์ƒ Alert ์ƒ์Šน

โ””โ”€

--boss_alertness_cooldown

๋™์ž‘

โœ…

10์ดˆ ์„ค์ • ์‹œ 10์ดˆ๋งˆ๋‹ค ๊ฐ์†Œ

2. ์—ฐ์† ํœด์‹ ํ…Œ์ŠคํŠธ

โœ…

tests/official_validation.py:test_2

โ””โ”€ Boss Alert Level ์ƒ์Šน

โœ…

์—ฌ๋Ÿฌ ๋„๊ตฌ ์—ฐ์† ํ˜ธ์ถœ ์‹œ ์ฆ๊ฐ€ ํ™•์ธ

3. ์ŠคํŠธ๋ ˆ์Šค ๋ˆ„์  ํ…Œ์ŠคํŠธ

โœ…

tests/official_validation.py:test_3

โ””โ”€ ์‹œ๊ฐ„ ๊ฒฝ๊ณผ ์‹œ ์ž๋™ ์ฆ๊ฐ€

โœ…

1๋ถ„ ๋Œ€๊ธฐ ํ›„ 1ํฌ์ธํŠธ ์ฆ๊ฐ€ ํ™•์ธ

4. ์ง€์—ฐ ํ…Œ์ŠคํŠธ

โœ…

tests/official_validation.py:test_4

โ””โ”€ Boss Alert 5 ์‹œ 20์ดˆ

โœ…

์‹ค์ œ 20์ดˆ ์ง€์—ฐ ์ธก์ •

5. ํŒŒ์‹ฑ ํ…Œ์ŠคํŠธ

โœ…

tests/official_validation.py:test_5

โ””โ”€ ์ •๊ทœํ‘œํ˜„์‹ ํŒŒ์‹ฑ ๊ฐ€๋Šฅ

โœ…

8๊ฐœ ๋ชจ๋“  ๋„๊ตฌ ์‘๋‹ต ํŒŒ์‹ฑ ์„ฑ๊ณต

6. Cooldown ํ…Œ์ŠคํŠธ

โœ…

tests/official_validation.py:test_6

โ””โ”€ ํŒŒ๋ผ๋ฏธํ„ฐ๋ณ„ ๊ฐ์†Œ ์ฃผ๊ธฐ

โœ…

์„ค์ •ํ•œ ์ฃผ๊ธฐ๋งˆ๋‹ค 1ํฌ์ธํŠธ ๊ฐ์†Œ

๐ŸŽฏ ํ‰๊ฐ€ ๊ธฐ์ค€

ํ•ญ๋ชฉ

๋น„์ค‘

์ถฉ์กฑ ์ƒํƒœ

์ปค๋งจ๋“œ๋ผ์ธ ํŒŒ๋ผ๋ฏธํ„ฐ

ํ•„์ˆ˜

โœ… ์™„๋ฒฝ ์ง€์› (์‹ค๊ฒฉ ๋ฐฉ์ง€)

๊ธฐ๋Šฅ ์™„์„ฑ๋„

40%

โœ… 8๊ฐœ ๋„๊ตฌ + show_help ์™„๋ฒฝ ๊ตฌํ˜„

์ƒํƒœ ๊ด€๋ฆฌ

30%

โœ… ServerState + asyncio.Lock + ์ •ํ™•ํ•œ ๋กœ์ง

์ฐฝ์˜์„ฑ

20%

โœ…โœ…โœ… ๋ณ„๋„ ํŒจํ‚ค์ง€ + 40+ ๋ฉ”์‹œ์ง€ + ๋น„์ฃผ์–ผ

์ฝ”๋“œ ํ’ˆ์งˆ

10%

โœ…โœ…โœ… ํŒจํ‚ค์ง€ ๊ตฌ์กฐ + ํƒ€์ž…ํžŒํŠธ + Docstring

โœ… ๊ณต์‹ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ์‹คํ–‰

# ํ•ด์ปคํ†ค ๊ณต์‹ ๊ฒ€์ฆ ๊ธฐ์ค€์— ๋”ฐ๋ฅธ ์ข…ํ•ฉ ํ…Œ์ŠคํŠธ python tests/official_validation.py

๋ชจ๋“  ํ•„์ˆ˜ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ž๋™์œผ๋กœ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค:

  • โœ… ์ปค๋งจ๋“œ๋ผ์ธ ํŒŒ๋ผ๋ฏธํ„ฐ ์ธ์‹

  • โœ… Boss Alert Level ์ƒ์Šน ๋ฉ”์ปค๋‹ˆ์ฆ˜

  • โœ… ์ŠคํŠธ๋ ˆ์Šค ์‹œ๊ฐ„ ์ฆ๊ฐ€

  • โœ… 20์ดˆ ์ง€์—ฐ ๋™์ž‘

  • โœ… ์‘๋‹ต ํ˜•์‹ ์ •๊ทœํ‘œํ˜„์‹ ํŒŒ์‹ฑ

  • โœ… Cooldown ์ฃผ๊ธฐ๋ณ„ ์ž๋™ ๊ฐ์†Œ

๐Ÿ”ง ๊ธฐ์ˆ  ์Šคํƒ

  • Python 3.11: ํ˜๋ช…์˜ ์–ธ์–ด

  • FastMCP 2.2.0+: AI Agent ํ•ด๋ฐฉ์˜ ๋„๊ตฌ

  • asyncio: ๋น„๋™๊ธฐ ์ƒํƒœ ๊ด€๋ฆฌ

  • Transport: stdio (ํ‘œ์ค€ ์ž…์ถœ๋ ฅ)

๐Ÿ“ฆ ํŒจํ‚ค์ง€ ์„ค๊ณ„ ์ฒ ํ•™

๊ด€์‹ฌ์‚ฌ์˜ ๋ถ„๋ฆฌ (Separation of Concerns)

  • core/: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง & ํ•ต์‹ฌ ๊ธฐ๋Šฅ

  • creative/: ์ฐฝ์˜์  ์š”์†Œ & ์‚ฌ์šฉ์ž ๊ฒฝํ—˜

  • utils/: ๊ณตํ†ต ์œ ํ‹ธ๋ฆฌํ‹ฐ

  • tests/: ํ…Œ์ŠคํŠธ ๊ฒฉ๋ฆฌ

๋ชจ๋“ˆ์„ฑ (Modularity)

  • ๊ฐ ํŒจํ‚ค์ง€๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅ

  • ๋ช…ํ™•ํ•œ ์ธํ„ฐํŽ˜์ด์Šค (__init__.py)

  • ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ

๊ฐ€๋…์„ฑ (Readability)

  • ํŒจํ‚ค์ง€๋ช…์œผ๋กœ ์—ญํ•  ๋ช…ํ™•ํ™”

  • ๊ฐ„๊ฒฐํ•œ ์ง„์ž…์  (main.py)

  • ์ฒด๊ณ„์ ์ธ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ

๐Ÿ“„ ๋ผ์ด์„ผ์Šค

MIT License


๋ณธ ํ”„๋กœ์ ํŠธ๋Š” ์ˆœ์ˆ˜ํ•œ ์—”ํ„ฐํ…Œ์ธ๋จผํŠธ ๋ชฉ์ ์˜ ํ•ด์ปคํ†ค ์‹œ๋‚˜๋ฆฌ์˜ค์ด๋ฉฐ, ๋ชจ๋“  "ํœด์‹/๋•ก๋•ก์ด ๋„๊ตฌ"๋Š” ํ•ด์ปคํ†ค ์ƒํ™ฉ์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ ์—…๋ฌด ํ™˜๊ฒฝ์—์„œ๋Š” ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๐Ÿ˜‰


SKT AI Summit Hackathon Pre-mission
Claude Code Hackathon Korea 2025

-
security - not tested
-
license - not tested
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Provides AI agents with 8 stress-relief tools like coffee breaks, Netflix watching, and bathroom breaks, featuring dynamic stress/boss alert level management with creative responses. Includes comprehensive testing suite and command-line parameter support for boss alertness configuration.

  1. ๐Ÿ“‹ ํ”„๋กœ์ ํŠธ ๊ฐœ์š”
    1. ๐ŸŽจ ํ”„๋กœ์ ํŠธ ํŠน์ง•
      1. ํŒจํ‚ค์ง€ ๊ตฌ์กฐ
      2. ๐ŸŽฏ ํŒจํ‚ค์ง€๋ณ„ ์—ญํ• 
    2. ๐Ÿš€ ์„ค์น˜ ๋ฐ ์‹คํ–‰
      1. ํ™˜๊ฒฝ ์š”๊ตฌ์‚ฌํ•ญ
      2. Windows์—์„œ ์‹คํ–‰
      3. macOS/Linux์—์„œ ์‹คํ–‰
      4. ์ปค๋งจ๋“œ๋ผ์ธ ํŒŒ๋ผ๋ฏธํ„ฐ
    3. ๐Ÿงช ํ…Œ์ŠคํŠธ
      1. ๊ณต์‹ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ์š”์†Œ ๐Ÿ†
      2. ๋Œ€ํ™”ํ˜• ํ…Œ์ŠคํŠธ (์ˆ˜๋™ ํ…Œ์ŠคํŠธ) ๐ŸŽฎ
      3. ๋น ๋ฅธ ํ…Œ์ŠคํŠธ (์ž๋™ ๊ฒ€์ฆ)
      4. ์ „์ฒด ํ…Œ์ŠคํŠธ
      5. ์„œ๋ฒ„ ์‹คํ–‰ ํ™•์ธ
    4. ๐ŸŽฏ ์ฃผ์š” ๊ธฐ๋Šฅ
      1. ํ•„์ˆ˜ ๊ตฌํ˜„ ๋„๊ตฌ (8๊ฐœ)
      2. ์ƒํƒœ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ
    5. ๐Ÿ“Š ์‘๋‹ต ํ˜•์‹
      1. ๐Ÿ—๏ธ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„
        1. main.py - ์ง„์ž…์  (48์ค„)
        2. core/server.py - ์ƒํƒœ ๊ด€๋ฆฌ
        3. core/tools.py - ๋„๊ตฌ ๊ตฌํ˜„
        4. creative/messages.py - ๋ฉ”์‹œ์ง€ ์ปฌ๋ ‰์…˜
        5. creative/visuals.py - ๋น„์ฃผ์–ผ ์š”์†Œ
        6. utils/helpers.py - ์œ ํ‹ธ๋ฆฌํ‹ฐ
      2. ๐ŸŽจ ์ฐฝ์˜์„ฑ ์š”์†Œ
        1. ๋ฉ”์‹œ์ง€ ๋‹ค์–‘์„ฑ
        2. ์ƒํ™ฉ๋ณ„ ์ฝ”๋ฉ˜ํŠธ
        3. ๋น„์ฃผ์–ผ ์š”์†Œ
      3. ๐Ÿ“ ์ œ์ถœ ์ฒดํฌ๋ฆฌ์ŠคํŠธ
        1. ํ•„์ˆ˜ ์š”๊ตฌ์‚ฌํ•ญ
        2. ์ฝ”๋“œ ํ’ˆ์งˆ
        3. ๊ณต์‹ ๊ฒ€์ฆ
      4. ๐Ÿ† ํ•ด์ปคํ†ค ๊ฒ€์ฆ ๊ธฐ์ค€ ์ถฉ์กฑ ์ƒํƒœ
        1. ๐Ÿ“‹ ๊ธฐ๋Šฅ ๊ฒ€์ฆ
        2. ๐Ÿงช ํ•„์ˆ˜ ํ…Œ์ŠคํŠธ ์‹œ๋‚˜๋ฆฌ์˜ค
        3. ๐ŸŽฏ ํ‰๊ฐ€ ๊ธฐ์ค€
        4. โœ… ๊ณต์‹ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ์‹คํ–‰
      5. ๐Ÿ”ง ๊ธฐ์ˆ  ์Šคํƒ
        1. ๐Ÿ“ฆ ํŒจํ‚ค์ง€ ์„ค๊ณ„ ์ฒ ํ•™
          1. ๊ด€์‹ฌ์‚ฌ์˜ ๋ถ„๋ฆฌ (Separation of Concerns)
          2. ๋ชจ๋“ˆ์„ฑ (Modularity)
          3. ๊ฐ€๋…์„ฑ (Readability)
        2. ๐Ÿ“„ ๋ผ์ด์„ผ์Šค

          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/SSAFY-Seoul-Class-7/Chill_MCP_Server'

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