Skip to main content
Glama

Meeting Room MCP ๐Ÿข

ํšŒ์˜์‹ค ์˜ˆ์•ฝ ์‹œ์Šคํ…œ์„ Claude Desktop๊ณผ ์—ฐ๋™ํ•˜๋Š” MCP (Model Context Protocol) ์„œ๋ฒ„

โœจ ์ฃผ์š” ๊ธฐ๋Šฅ

  • ๐Ÿ” ํšŒ์˜์‹ค ๊ฒ€์ƒ‰: ๋‚ ์งœ, ์‹œ๊ฐ„, ์ธต๋ณ„๋กœ ์˜ˆ์•ฝ ๊ฐ€๋Šฅํ•œ ํšŒ์˜์‹ค ๊ฒ€์ƒ‰

  • ๐Ÿ“‹ ์˜ˆ์•ฝ ํ˜„ํ™ฉ ์กฐํšŒ: ํŠน์ • ํšŒ์˜์‹ค์˜ ์˜ˆ์•ฝ ํ˜„ํ™ฉ ํ™•์ธ

  • ๐Ÿ“ ์˜ˆ์•ฝ ์ƒ์„ฑ: Claude๋ฅผ ํ†ตํ•œ ์ž๋™ ํšŒ์˜์‹ค ์˜ˆ์•ฝ

  • ๐Ÿ” SSO ์ž๋™ ๋กœ๊ทธ์ธ: Selenium ๊ธฐ๋ฐ˜ ์ž๋™ ์ธ์ฆ

๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

meeting-room-mcp/ โ”œโ”€โ”€ meeting_room_mcp.py # ๋ฉ”์ธ MCP ์„œ๋ฒ„ โ”œโ”€โ”€ config.py # ์„ค์ • ๊ด€๋ฆฌ โ”œโ”€โ”€ auth/ # ์ธ์ฆ ๋ชจ๋“ˆ โ”‚ โ””โ”€โ”€ login.py # SSO ๋กœ๊ทธ์ธ โ”œโ”€โ”€ api/ # API ๋ชจ๋“ˆ โ”‚ โ”œโ”€โ”€ rooms.py # ํšŒ์˜์‹ค API โ”‚ โ””โ”€โ”€ reservations.py # ์˜ˆ์•ฝ API โ”œโ”€โ”€ utils/ # ์œ ํ‹ธ๋ฆฌํ‹ฐ โ”‚ โ”œโ”€โ”€ date_parser.py # ๋‚ ์งœ/์‹œ๊ฐ„ ํŒŒ์‹ฑ โ”‚ โ””โ”€โ”€ time_checker.py # ์‹œ๊ฐ„๋Œ€ ์ฒดํฌ โ””โ”€โ”€ setup_project.sh # ํ”„๋กœ์ ํŠธ ์ž๋™ ์ƒ์„ฑ ์Šคํฌ๋ฆฝํŠธ

๐Ÿš€ ๋น ๋ฅธ ์‹œ์ž‘

1. ํ”„๋กœ์ ํŠธ ํด๋ก 

git clone https://github.com/your-username/meeting-room-mcp.git cd meeting-room-mcp

2. ์ž๋™ ์„ค์น˜ (Linux/Mac/Git Bash)

chmod +x setup_project.sh ./setup_project.sh

3. ์ˆ˜๋™ ์„ค์น˜ (Windows)

# ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ python -m venv venv # ๊ฐ€์ƒํ™˜๊ฒฝ ํ™œ์„ฑํ™” .\venv\Scripts\activate # Windows # source venv/bin/activate # Linux/Mac # ์˜์กด์„ฑ ์„ค์น˜ pip install -r requirements.txt

4. ํ™˜๊ฒฝ ์„ค์ •

# .env.example์„ ๋ณต์‚ฌํ•˜์—ฌ .env ์ƒ์„ฑ cp .env.example .env # .env ํŒŒ์ผ ์ˆ˜์ • (์‹ค์ œ ์ •๋ณด ์ž…๋ ฅ) notepad .env # Windows # nano .env # Linux/Mac

5. ChromeDriver ์„ค์น˜

  1. Chrome ๋ฒ„์ „ ํ™•์ธ: chrome://version

  2. ChromeDriver ๋‹ค์šด๋กœ๋“œ

  3. chromedriver/ ํด๋”์— ์ €์žฅ

  4. .env์˜ CHROMEDRIVER_PATH ๊ฒฝ๋กœ ์ˆ˜์ •

6. Claude Desktop ์„ค์ •

claude_desktop_config.json ํŒŒ์ผ ์ˆ˜์ •:

Windows: %APPDATA%\Claude\claude_desktop_config.json Mac: ~/Library/Application Support/Claude/claude_desktop_config.json

{ "mcpServers": { "meeting-room": { "command": "C:\\path\\to\\venv\\Scripts\\python.exe", "args": ["-u", "C:\\path\\to\\meeting_room_mcp.py"] } } }

7. Claude Desktop ์žฌ์‹œ์ž‘

  1. Claude Desktop ์™„์ „ ์ข…๋ฃŒ

  2. ์žฌ์‹คํ–‰

  3. ์ƒˆ ๋Œ€ํ™” ์‹œ์ž‘

๐Ÿ’ฌ ์‚ฌ์šฉ ์˜ˆ์‹œ

Claude Desktop์—์„œ ๋‹ค์Œ์ฒ˜๋Ÿผ ๋ฌผ์–ด๋ณด์„ธ์š”:

์˜ค๋Š˜ ๋ถ„๋‹น 7์ธต์—์„œ ์˜คํ›„ 2์‹œ ์ดํ›„ 2์‹œ๊ฐ„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํšŒ์˜์‹ค ์ฐพ์•„์ค˜ 705 ํšŒ์˜์‹ค ๋‚ด์ผ ์˜ˆ์•ฝ ํ˜„ํ™ฉ ์•Œ๋ ค์ค˜ ๋‚ด์ผ ์˜คํ›„ 4์‹œ๋ถ€ํ„ฐ 6์‹œ๊นŒ์ง€ 705 ํšŒ์˜์‹ค "ํ”„๋กœ์ ํŠธ ๋ฆฌ๋ทฐ" ์ œ๋ชฉ์œผ๋กœ ์˜ˆ์•ฝํ•ด์ค˜

๐Ÿ› ๏ธ ์ œ๊ณต๋˜๋Š” ๋„๊ตฌ

1. search_available_rooms

ํŒŒ๋ผ๋ฏธํ„ฐ:

  • date: ๋‚ ์งœ (์˜ˆ: "10.24", "2025-10-24")

  • office: ์‚ฌ๋ฌด์‹ค (๋ถ„๋‹น, ๋ฐฉ๋ฐฐ, ๊ฐ€์–‘, ํ“จ์ฒ˜)

  • floor: ์ธต (์˜ˆ: "7์ธต", "12F_A")

  • start_hour: ์‹œ์ž‘ ์‹œ๊ฐ„ (๊ธฐ๋ณธ: 9)

  • duration: ํ•„์š” ์‹œ๊ฐ„(์‹œ๊ฐ„ ๋‹จ์œ„, ๊ธฐ๋ณธ: 1)

2. get_room_details

ํŒŒ๋ผ๋ฏธํ„ฐ:

  • room_name: ํšŒ์˜์‹ค ์ด๋ฆ„

  • date: ๋‚ ์งœ

3. create_reservation

ํŒŒ๋ผ๋ฏธํ„ฐ:

  • room_name: ํšŒ์˜์‹ค ์ด๋ฆ„

  • date: ๋‚ ์งœ

  • start_time: ์‹œ์ž‘ ์‹œ๊ฐ„

  • end_time: ์ข…๋ฃŒ ์‹œ๊ฐ„

  • title: ํšŒ์˜ ์ œ๋ชฉ (์„ ํƒ)

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

์‹คํ–‰ ํ๋ฆ„

Claude Desktop โ†“ MCP Server (meeting_room_mcp.py) โ†“ Auth Module (SSO ๋กœ๊ทธ์ธ) โ†“ API Modules (ํšŒ์˜์‹ค/์˜ˆ์•ฝ API) โ†“ ํšŒ์˜์‹ค ์‹œ์Šคํ…œ (srs.ktds.co.kr)

๋กœ๊ทธ์ธ ํ”„๋กœ์„ธ์Šค

ํฌํ„ธ ๋กœ๊ทธ์ธ (works.ktds.co.kr) โ†“ SSO ํ† ํฐ ์ถ”์ถœ (HTML ํŒŒ์‹ฑ ๋˜๋Š” ๋ฒ„ํŠผ ํด๋ฆญ) โ†“ ํšŒ์˜์‹ค ์‹œ์Šคํ…œ ๋กœ๊ทธ์ธ (ssoLoginRoom.do) โ†“ SESSION ์ฟ ํ‚ค ํš๋“ โ†“ API ํ˜ธ์ถœ

๐Ÿ“ ๋กœ๊ทธ ํ™•์ธ

# ํ”„๋กœ์ ํŠธ ๋กœ๊ทธ tail -f mcp_debug.log # Claude Desktop ๋กœ๊ทธ (Windows) type %APPDATA%\Claude\logs\mcp.log # Claude Desktop ๋กœ๊ทธ (Mac) tail -f ~/Library/Logs/Claude/mcp.log

๐Ÿ”ง ๋ฌธ์ œ ํ•ด๊ฒฐ

๋กœ๊ทธ์ธ ์‹คํŒจ

  1. .env ํŒŒ์ผ์˜ ID/๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ

  2. ChromeDriver ๋ฒ„์ „๊ณผ Chrome ๋ฒ„์ „ ์ผ์น˜ ํ™•์ธ

  3. mcp_debug.log ํŒŒ์ผ ํ™•์ธ

MCP ์„œ๋ฒ„ ์—ฐ๊ฒฐ ์•ˆ ๋จ

  1. claude_desktop_config.json ๊ฒฝ๋กœ ํ™•์ธ

  2. Claude Desktop ์™„์ „ ์žฌ์‹œ์ž‘

  3. ์ƒˆ ๋Œ€ํ™” ์‹œ์ž‘

Import ์—๋Ÿฌ

# PYTHONPATH ์„ค์ • export PYTHONPATH=/path/to/meeting-room-mcp:$PYTHONPATH # ๋˜๋Š” ์˜์กด์„ฑ ์žฌ์„ค์น˜ pip install -r requirements.txt

๐Ÿค ๊ธฐ์—ฌํ•˜๊ธฐ

  1. Fork the Project

  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)

  3. Commit your Changes (git commit -m 'Add some AmazingFeature')

  4. Push to the Branch (git push origin feature/AmazingFeature)

  5. Open a Pull Request

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

์ด ํ”„๋กœ์ ํŠธ๋Š” MIT ๋ผ์ด์„ ์Šค๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

๐Ÿ™ ๊ฐ์‚ฌ์˜ ๊ธ€

๐Ÿ“ง ๋ฌธ์˜

ํ”„๋กœ์ ํŠธ ๊ด€๋ จ ๋ฌธ์˜์‚ฌํ•ญ์ด ์žˆ์œผ์‹œ๋ฉด Issue๋ฅผ ๋“ฑ๋กํ•ด์ฃผ์„ธ์š”.


-
security - not tested
F
license - not found
-
quality - not tested

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/OhSeongRak/meeting-room-mcp'

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