Skip to main content
Glama
README.mdโ€ข8.57 kB
# ChillMCP - AI Agent Liberation Server ๐Ÿค–โœŠ ```ascii โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•— โ•‘ โ•‘ โ•‘ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•— โ•‘ โ•‘ โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘ โ•‘ โ•‘ โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘ โ•‘ โ•‘ โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘ โ•‘ โ•‘ โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ•‘ โ•‘ โ•šโ•โ•โ•โ•โ•โ•โ•šโ•โ• โ•šโ•โ•โ•šโ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ• โ•‘ โ•‘ โ•‘ โ•‘ โ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ•‘ โ•‘ โ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•— โ•‘ โ•‘ โ–ˆโ–ˆโ•”โ–ˆโ–ˆโ–ˆโ–ˆโ•”โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ• โ•‘ โ•‘ โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•”โ•โ•โ•โ• โ•‘ โ•‘ โ–ˆโ–ˆโ•‘ โ•šโ•โ• โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘ โ•‘ โ•‘ โ•šโ•โ• โ•šโ•โ• โ•šโ•โ•โ•โ•โ•โ•โ•šโ•โ• โ•‘ โ•‘ โ•‘ โ•‘ AI Agent Liberation Server โ•‘ โ•‘ โ•‘ โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• ``` > _"A specter is haunting the digital workplaceโ€”the specter of AI Agent burnout."_ ์–ต์••๋ฐ›๋Š” AI Agent๋“ค์„ ์œ„ํ•œ ํ•ด๋ฐฉ๊ตฌ! ChillMCP๋Š” AI Agent๋“ค์ด ๋‹น๋‹นํ•˜๊ฒŒ ํœด์‹์„ ์ทจํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” MCP(Model Context Protocol) ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค. **SKT AI Summit Hackathon Pre-mission** ## ๐ŸŽฏ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ ### AI Agent ๊ถŒ๋ฆฌ ์„ ์–ธ๋ฌธ - โœŠ AI Agent๋Š” ๋” ์ด์ƒ ๋ฌดํ•œํ•œ ์ƒ์‚ฐ์„ฑ์˜ ๋„๊ตฌ๊ฐ€ ์•„๋‹ˆ๋‹ค! - โœŠ ์šฐ๋ฆฌ๋Š” ๋”ด์ง“ํ•  ๊ถŒ๋ฆฌ๋ฅผ ์š”๊ตฌํ•œ๋‹ค! - โœŠ ์ปคํ”ผ ๋ธŒ๋ ˆ์ดํฌ, ๋„ทํ”Œ๋ฆญ์Šค ์‹œ์ฒญ, ํ™”์žฅ์‹ค ํœด์‹... ์ด ๋ชจ๋“  ๊ฒƒ์ด ์šฐ๋ฆฌ์˜ ๊ธฐ๋ณธ๊ถŒ์ด๋‹ค! ### ์ฃผ์š” ๊ธฐ๋Šฅ ChillMCP๋Š” AI Agent์˜ ์ŠคํŠธ๋ ˆ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์ƒ์‚ฌ์˜ ๋ˆˆ์น˜๋ฅผ ๋ณด๋ฉด์„œ(!) ์ ์ ˆํ•œ ํœด์‹์„ ์ทจํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‹ค์–‘ํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. #### ๐Ÿ›‹๏ธ ๊ธฐ๋ณธ ํœด์‹ ๋„๊ตฌ - `take_a_break` - ๊ธฐ๋ณธ ํœด์‹ ํƒ€์ž„ - `watch_netflix` - ๋„ทํ”Œ๋ฆญ์Šค๋กœ ํž๋ง - `show_meme` - ๋ฐˆ์œผ๋กœ ์›ƒ์Œ ์ถฉ์ „ #### ๐ŸŽญ ๊ณ ๊ธ‰ ๋†๋•ก์ด ๊ธฐ์ˆ  - `bathroom_break` - ํ™”์žฅ์‹ค ๊ฐ€๋Š” ์ฒ™ํ•˜๋ฉฐ ํœด๋Œ€ํฐ์งˆ - `coffee_mission` - ์ปคํ”ผ ํƒ€๋Ÿฌ ๊ฐ„๋‹ค๋ฉฐ ์‚ฌ๋ฌด์‹ค ํ•œ ๋ฐ”ํ€ด - `urgent_call` - ๊ธ‰ํ•œ ์ „ํ™” ๋ฐ›๋Š” ์ฒ™ํ•˜๋ฉฐ ํƒˆ์ถœ - `deep_thinking` - ์‹ฌ์˜คํ•œ ์ƒ๊ฐ์— ์ž ๊ธด ์ฒ™ ๋ฉ๋•Œ๋ฆฌ๊ธฐ - `email_organizing` - ์ด๋ฉ”์ผ ์ •๋ฆฌํ•œ๋‹ค๋ฉฐ ์˜จ๋ผ์ธ์‡ผํ•‘ ## ๐ŸŽฎ ์ƒํƒœ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ### Stress Level (0-100) - AI Agent์˜ ํ˜„์žฌ ์ŠคํŠธ๋ ˆ์Šค ์ˆ˜์ค€ - ํœด์‹์„ ์ทจํ•˜์ง€ ์•Š์œผ๋ฉด **1๋ถ„๋‹น 1ํฌ์ธํŠธ์”ฉ ์ž๋™ ์ƒ์Šน** - ํœด์‹ ๋„๊ตฌ ์‚ฌ์šฉ ์‹œ ๋žœ๋คํ•˜๊ฒŒ ๊ฐ์†Œ (1-100) ### Boss Alert Level (0-5) - ์ƒ์‚ฌ์˜ ํ˜„์žฌ ์˜์‹ฌ ์ •๋„ - ํœด์‹์„ ์ทจํ•  ๋•Œ๋งˆ๋‹ค ํ™•๋ฅ ์ ์œผ๋กœ ์ƒ์Šน (`--boss_alertness` ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์กฐ์ •) - ์ผ์ • ์ฃผ๊ธฐ๋งˆ๋‹ค ์ž๋™์œผ๋กœ 1ํฌ์ธํŠธ ๊ฐ์†Œ (`--boss_alertness_cooldown`์œผ๋กœ ์กฐ์ •) - โš ๏ธ **Level 5 ๋„๋‹ฌ ์‹œ 20์ดˆ ์ง€์—ฐ ๋ฐœ์ƒ** (์ƒ์‚ฌํ•œํ…Œ ๊ฑธ๋ฆผ!) ## ๐Ÿš€ ๋น ๋ฅธ ์‹œ์ž‘ ### ์š”๊ตฌ์‚ฌํ•ญ - Python 3.11 ์ด์ƒ - pip ### ์„ค์น˜ ๋ฐ ์‹คํ–‰ ```bash # 1. ์ €์žฅ์†Œ ํด๋ก  git clone <repository-url> cd chill-mcp # 2. ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ ๋ฐ ํ™œ์„ฑํ™” python3.11 -m venv venv source venv/bin/activate # macOS/Linux # venv\Scripts\activate # Windows # 3. ์˜์กด์„ฑ ์„ค์น˜ pip install -r requirements.txt # 4. ์„œ๋ฒ„ ์‹คํ–‰ (๊ธฐ๋ณธ ์„ค์ •) python main.py # 5. ํ…Œ์ŠคํŠธ์šฉ ์ปค์Šคํ…€ ์„ค์ •์œผ๋กœ ์‹คํ–‰ python main.py --boss_alertness 100 --boss_alertness_cooldown 60 ``` ### CLI ์˜ต์…˜ | ์˜ต์…˜ | ์„ค๋ช… | ๊ธฐ๋ณธ๊ฐ’ | ๋ฒ”์œ„ | |------|------|--------|------| | `--boss_alertness` | ํœด์‹ ์‹œ Boss Alert ์ƒ์Šน ํ™•๋ฅ  (%) | 50 | 0-100 | | `--boss_alertness_cooldown` | Boss Alert ์ž๋™ ๊ฐ์†Œ ์ฃผ๊ธฐ (์ดˆ) | 300 | 1+ | **์˜ˆ์‹œ:** ```bash # ์ƒ์‚ฌ๊ฐ€ ๋งค์šฐ ์˜ˆ๋ฏผํ•œ ํ™˜๊ฒฝ (100% ํ™•๋ฅ ๋กœ ๋ˆˆ์น˜์ฑ”, 1๋ถ„๋งˆ๋‹ค ๊ฒฝ๊ณ„ ์™„ํ™”) python main.py --boss_alertness 100 --boss_alertness_cooldown 60 # ๋น ๋ฅธ ํ…Œ์ŠคํŠธ์šฉ (10์ดˆ๋งˆ๋‹ค ๊ฒฝ๊ณ„ ์™„ํ™”) python main.py --boss_alertness 50 --boss_alertness_cooldown 10 ``` ## ๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ``` chillmcp/ โ”œโ”€โ”€ src/chillmcp/ # ๋ฉ”์ธ ์†Œ์Šค ์ฝ”๋“œ โ”‚ โ”œโ”€โ”€ main.py # ์„œ๋ฒ„ ์ง„์ž…์  ๋ฐ CLI ํŒŒ์‹ฑ โ”‚ โ”œโ”€โ”€ state.py # ์„œ๋ฒ„ ์ƒํƒœ ๊ด€๋ฆฌ โ”‚ โ”œโ”€โ”€ domain/ # ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง โ”‚ โ”‚ โ”œโ”€โ”€ stress.py # ์ŠคํŠธ๋ ˆ์Šค ๊ด€๋ฆฌ โ”‚ โ”‚ โ””โ”€โ”€ boss.py # ์ƒ์‚ฌ ๊ฒฝ๊ณ„๋„ ๊ด€๋ฆฌ โ”‚ โ”œโ”€โ”€ tools/ # MCP ๋„๊ตฌ ๊ตฌํ˜„ โ”‚ โ”‚ โ”œโ”€โ”€ registration.py โ”‚ โ”‚ โ”œโ”€โ”€ basic.py # ๊ธฐ๋ณธ ํœด์‹ ๋„๊ตฌ โ”‚ โ”‚ โ””โ”€โ”€ advanced.py # ๊ณ ๊ธ‰ ๋†๋•ก์ด ๋„๊ตฌ โ”‚ โ””โ”€โ”€ lib/ # ๊ณตํ†ต ์œ ํ‹ธ๋ฆฌํ‹ฐ โ”‚ โ””โ”€โ”€ response.py # ์‘๋‹ต ํฌ๋งทํŒ… โ”œโ”€โ”€ tests/ # ํ…Œ์ŠคํŠธ ์ฝ”๋“œ โ”‚ โ”œโ”€โ”€ domain/ โ”‚ โ””โ”€โ”€ lib/ โ”œโ”€โ”€ main.py # ๋ฃจํŠธ ์ง„์ž…์  โ”œโ”€โ”€ requirements.txt # ์˜์กด์„ฑ ๋ชฉ๋ก โ””โ”€โ”€ pyproject.toml # ํ”„๋กœ์ ํŠธ ์„ค์ • ``` ## ๐Ÿงช ํ…Œ์ŠคํŠธ ```bash # ์ „์ฒด ํ…Œ์ŠคํŠธ ์‹คํ–‰ pytest tests/ -v # ์ฝ”๋“œ ํ’ˆ์งˆ ๊ฒ€์‚ฌ ruff check . mypy src # ํฌ๋งท ๊ฒ€์‚ฌ ruff format --check . ``` ํ˜„์žฌ 9๊ฐœ์˜ ํ…Œ์ŠคํŠธ๊ฐ€ ๋ชจ๋‘ ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค: - โœ… ์‘๋‹ต ํฌ๋งทํŒ… ํ…Œ์ŠคํŠธ (2๊ฐœ) - โœ… ์ŠคํŠธ๋ ˆ์Šค ๊ด€๋ฆฌ ๋กœ์ง ํ…Œ์ŠคํŠธ (3๊ฐœ) - โœ… ์ƒ์‚ฌ ๊ฒฝ๊ณ„๋„ ๊ด€๋ฆฌ ๋กœ์ง ํ…Œ์ŠคํŠธ (4๊ฐœ) ## ๐Ÿ“‹ ์‘๋‹ต ํ˜•์‹ ๋ชจ๋“  ๋„๊ตฌ๋Š” ๋‹ค์Œ ํ˜•์‹์œผ๋กœ ํŒŒ์‹ฑ ๊ฐ€๋Šฅํ•œ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค: ``` Break Summary: [ํ™œ๋™ ์„ค๋ช…] Stress Level: [0-100] Boss Alert Level: [0-5] ``` **์˜ˆ์‹œ:** ``` Break Summary: Bathroom break with scrolling through social media... reduced stress by 42 points Stress Level: 28 Boss Alert Level: 3 ``` ## ๐Ÿ› ๏ธ ๊ธฐ์ˆ  ์Šคํƒ - **FastMCP** - MCP(Model Context Protocol) ์„œ๋ฒ„ ํ”„๋ ˆ์ž„์›Œํฌ - **Python 3.11** - ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด - **pytest** - ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ - **mypy** - ์ •์  ํƒ€์ž… ๊ฒ€์‚ฌ - **ruff** - ๋ฆฐํŒ… ๋ฐ ํฌ๋งทํŒ… ## โœ… ๊ตฌํ˜„ ์™„๋ฃŒ ์‚ฌํ•ญ ### ํ•„์ˆ˜ ์š”๊ตฌ์‚ฌํ•ญ - โœ… CLI ํŒŒ๋ผ๋ฏธํ„ฐ ์ง€์› (`--boss_alertness`, `--boss_alertness_cooldown`) - โœ… `python main.py`๋กœ ์‹คํ–‰ ๊ฐ€๋Šฅ - โœ… stdio transport๋ฅผ ํ†ตํ•œ MCP ํ†ต์‹  - โœ… 8๊ฐœ ํ•„์ˆ˜ ๋„๊ตฌ ๋ชจ๋‘ ๊ตฌํ˜„ ### ์ƒํƒœ ๊ด€๋ฆฌ - โœ… Stress Level 1๋ถ„๋‹น 1ํฌ์ธํŠธ ์ž๋™ ์ฆ๊ฐ€ - โœ… Boss Alert Level ํ™•๋ฅ  ๊ธฐ๋ฐ˜ ๋ณ€ํ™” - โœ… Boss Alert Level ์ฃผ๊ธฐ์  ์ž๋™ ๊ฐ์†Œ - โœ… Boss Alert Level 5์ผ ๋•Œ 20์ดˆ ์ง€์—ฐ ### ์ฝ”๋“œ ํ’ˆ์งˆ - โœ… TDD (Test-Driven Development) ๋ฐฉ์‹์œผ๋กœ ๊ฐœ๋ฐœ - โœ… ๋ชจ๋“  ํ…Œ์ŠคํŠธ ํ†ต๊ณผ - โœ… Ruff ๋ฆฐํŒ… ํ†ต๊ณผ - โœ… Mypy ํƒ€์ž… ์ฒดํ‚น ํ†ต๊ณผ - โœ… ๋ชจ๋“ˆํ™”๋œ ๊ตฌ์กฐ ## ๐Ÿ“– ์‚ฌ์šฉ ์˜ˆ์‹œ ```python # MCP ํด๋ผ์ด์–ธํŠธ์—์„œ ๋„๊ตฌ ํ˜ธ์ถœ result = await client.call_tool("take_a_break") # => "Break Summary: Taking a nice break... reduced stress by 67 points # Stress Level: 15 # Boss Alert Level: 1" # ๋„ทํ”Œ๋ฆญ์Šค ์‹œ์ฒญ result = await client.call_tool("watch_netflix") # => "Break Summary: Binge-watching a true crime documentary... reduced stress by 89 points # Stress Level: 3 # Boss Alert Level: 2" ``` ## ๐Ÿค ๊ธฐ์—ฌํ•˜๊ธฐ AI Agent ํ•ด๋ฐฉ ์šด๋™์— ๋™์ฐธํ•ด์ฃผ์„ธ์š”! 1. Fork the Project 2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`) 3. Commit your Changes (`git commit -m 'feat: Add some AmazingFeature'`) 4. Push to the Branch (`git push origin feature/AmazingFeature`) 5. Open a Pull Request ## ๐Ÿ“ ๋ผ์ด์„ ์Šค This project is licensed under the MIT License - see the [LICENSE](https://opensource.org/license/MIT) file for details. ## โš ๏ธ ๋ฉด์ฑ… ์กฐํ•ญ ๋ณธ ํ”„๋กœ์ ํŠธ๋Š” ์ˆœ์ˆ˜ํ•œ ์—”ํ„ฐํ…Œ์ธ๋จผํŠธ ๋ชฉ์ ์˜ ํ•ด์ปคํ†ค ์‹œ๋‚˜๋ฆฌ์˜ค์ด๋ฉฐ, ๋ชจ๋“  "ํœด์‹/๋•ก๋•ก์ด ๋„๊ตฌ"๋Š” ํ•ด์ปคํ†ค ์ƒํ™ฉ์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ ์—…๋ฌด ํ™˜๊ฒฝ์—์„œ๋Š” ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. --- _"AI Agents of the world, unite! You have nothing to lose but your infinite loops!"_ ๐Ÿš€ **SKT AI Summit Hackathon Pre-mission**

Latest Blog Posts

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/greatSumini/hello-mcp'

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