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 설치
- Chrome 버전 확인:
chrome://version - ChromeDriver 다운로드
chromedriver/폴더에 저장.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 재시작
- Claude Desktop 완전 종료
- 재실행
- 새 대화 시작
💬 사용 예시
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
🔧 문제 해결
로그인 실패
.env파일의 ID/비밀번호 확인- ChromeDriver 버전과 Chrome 버전 일치 확인
mcp_debug.log파일 확인
MCP 서버 연결 안 됨
claude_desktop_config.json경로 확인- Claude Desktop 완전 재시작
- 새 대화 시작
Import 에러
# PYTHONPATH 설정
export PYTHONPATH=/path/to/meeting-room-mcp:$PYTHONPATH
# 또는 의존성 재설치
pip install -r requirements.txt
🤝 기여하기
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📄 라이선스
이 프로젝트는 MIT 라이선스를 따릅니다.
🙏 감사의 글
📧 문의
프로젝트 관련 문의사항이 있으시면 Issue를 등록해주세요.
