Microsoft 365 MCP
Microsoft 365 연동을 통해 KIRA가 Outlook, OneDrive, SharePoint, Calendar에 접근할 수 있습니다.
MS365 MCP
Interactive OAuth 방식으로 간편하게 인증할 수 있습니다.
📋 준비물
- Microsoft 365 계정
- Azure Portal 접근 권한 (앱 등록용)
🔑 1단계: Azure App 등록
1. Azure Portal 접속
- Azure Portal 접속
- 로그인
2. App Registration 생성
- 검색창에서 "Azure Active Directory" 검색
- 왼쪽 메뉴에서 "App registrations" 클릭
- "New registration" 클릭
3. 앱 등록 설정
- Name:
KIRA Bot(원하는 이름) - Supported account types:
- 조직 내부만: "Accounts in this organizational directory only"
- 모든 계정: "Accounts in any organizational directory"
- Redirect URI:
- Public client/native:
http://localhost
- Public client/native:
- "Register" 클릭
4. Application (client) ID 복사
- 생성된 앱의 "Application (client) ID" 복사
- 나중에 사용
5. Tenant ID 복사
- "Directory (tenant) ID" 복사
- 나중에 사용
6. 인증 설정 (중요!)
- 왼쪽 메뉴에서 "Authentication" 클릭
- "Advanced settings" 섹션 찾기
- "Allow public client flows" 를 "Yes" 로 설정
- "Save" 클릭
Interactive OAuth
MS365 MCP는 Interactive OAuth를 사용하므로 Client Secret이 필요 없습니다. 대신 "Allow public client flows"를 활성화해야 합니다.
7. API Permissions 설정
왼쪽 메뉴에서 "API permissions" 클릭
"Add a permission" 클릭
"Microsoft Graph" 선택
"Delegated permissions" 선택
다음 권한 추가:
Mail (Outlook)
- ✅
Mail.Read- 메일 읽기 - ✅
Mail.ReadWrite- 메일 읽기/쓰기 - ✅
Mail.Send- 메일 전송
Files (OneDrive/SharePoint)
- ✅
Files.Read- 파일 읽기 - ✅
Files.Read.All- 모든 파일 읽기 - ✅
Files.ReadWrite- 파일 읽기/쓰기 - ✅
Files.ReadWrite.All- 모든 파일 읽기/쓰기 - ✅
Sites.Read.All- SharePoint 사이트 읽기 - ✅
Sites.ReadWrite.All- SharePoint 사이트 읽기/쓰기
Calendar
- ✅
Calendars.Read- 캘린더 읽기 - ✅
Calendars.ReadWrite- 캘린더 읽기/쓰기
User
- ✅
User.Read- 사용자 정보 읽기
- ✅
"Add permissions" 클릭
Admin Consent
조직 계정인 경우 관리자 승인이 필요할 수 있습니다. "Grant admin consent" 버튼을 클릭하여 승인하세요.
⚙️ 2단계: KIRA 설정
1. KIRA 앱 실행
환경변수 설정 탭을 엽니다.
2. Microsoft 365 섹션 찾기
MCP 설정 > Microsoft 365 (Outlook, OneDrive, SharePoint)
3. 설정 활성화
- 토글 스위치를 켜기로 변경
4. Azure 정보 입력
- MS365_CLIENT_ID: Application (client) ID
- MS365_TENANT_ID: Directory (tenant) ID
Client Secret 불필요
MS365 MCP는 Interactive OAuth를 사용하므로 Client Secret이 필요하지 않습니다.
5. 설정 저장
- "설정 저장" 버튼 클릭
- 서버 재시작
✅ 3단계: 테스트 질문으로 인증 완료
설정을 저장하고 서버를 시작한 후, 테스트 질문을 통해 인증을 완료하세요.
테스트 질문 예시
Slack에서 KIRA에게 다음과 같이 질문하세요:
최근 받은 이메일 3개 보여줘인증 과정
- KIRA가 Microsoft 365에 처음 접근할 때 브라우저가 자동으로 열립니다
- Microsoft 로그인 페이지에서 계정으로 로그인
- 권한 승인 화면에서 "Accept" 클릭
- 인증 완료 후 브라우저를 닫아도 됩니다
- Slack으로 돌아가면 KIRA가 결과를 응답합니다
KIRA가 실행 중인 컴퓨터에서 인증
브라우저는 KIRA가 실행 중인 컴퓨터에서 열립니다. 본인 컴퓨터에서 실행 중이라면 바로 인증하면 됩니다.
한 번만 인증하면 됩니다
인증 토큰은 안전하게 저장되며, 다음부터는 자동으로 인증됩니다. 토큰 만료 시 자동으로 갱신됩니다.
🎯 사용 예시
📧 Outlook - 이메일
이메일 읽기
사용자: 최근 받은 이메일 5개 보여줘
KIRA: [Outlook 조회]
1. [중요] 프로젝트 미팅 - 홍길동
2. 주간 리포트 - 김철수
...이메일 검색
사용자: "invoice" 키워드로 이메일 검색해줘
KIRA: [Outlook 검색]
1. Invoice #1234 - Accounting
2. Payment Invoice - Finance이메일 전송
사용자: john@company.com에게 이메일 보내줘
제목: 미팅 일정
내용: 내일 오후 2시에 미팅 가능하신가요?
KIRA: [Outlook 전송] 이메일을 전송했습니다.이메일 답장
사용자: 가장 최근 이메일에 답장해줘: "확인했습니다"
KIRA: [Outlook 답장] 답장을 전송했습니다.📁 OneDrive - 파일 관리
파일 목록
사용자: OneDrive 루트 폴더 파일 목록 보여줘
KIRA: [OneDrive 조회]
1. 프로젝트_계획서.docx
2. 예산안.xlsx
3. 발표자료.pptx파일 검색
사용자: OneDrive에서 "회의록" 파일 찾아줘
KIRA: [OneDrive 검색]
1. 2024_Q1_회의록.docx
2. 임원_회의록_0315.pdf파일 다운로드
사용자: OneDrive에서 "계약서.pdf" 다운로드해줘
KIRA: [OneDrive 다운로드] 계약서.pdf를 다운로드했습니다.📄 SharePoint - 협업 문서
SharePoint 사이트 목록
사용자: SharePoint 사이트 목록 보여줘
KIRA: [SharePoint 조회]
1. Team Site - https://blueholestudio.sharepoint.com/team
2. Project Site - https://blueholestudio.sharepoint.com/projectSharePoint 파일 검색
사용자: SharePoint에서 "분기 보고서" 찾아줘
KIRA: [SharePoint 검색]
1. Q1_보고서_최종.docx - Team Site
2. 분기별_실적_보고서.xlsx - Project Site📅 Calendar - 일정 관리
일정 조회
사용자: 오늘 일정 보여줘
KIRA: [Calendar 조회]
1. 10:00 - 팀 미팅 (회의실 A)
2. 14:00 - 클라이언트 미팅 (Zoom)
3. 16:00 - 1:1 면담일정 생성
사용자: 내일 오후 3시에 프로젝트 킥오프 미팅 일정 잡아줘
KIRA: [Calendar 생성] 일정을 추가했습니다.🔧 문제해결
"Authentication failed"
- Client ID와 Tenant ID 확인
- Azure Portal에서 앱이 활성화되었는지 확인
- "Allow public client flows"가 Yes로 설정되었는지 확인
"Insufficient permissions"
- Azure Portal > API Permissions 확인
- 필요한 권한이 모두 추가되었는지 확인
- Admin Consent가 승인되었는지 확인
OAuth 브라우저가 열리지 않음
- 방화벽에서 localhost 차단 확인
- 브라우저 팝업 차단 해제
- 로그에서 에러 메시지 확인
"Redirect URI mismatch"
- Azure App Registration의 Redirect URI 확인
http://localhost정확히 입력- Platform이 "Public client/native"인지 확인
💡 팁
보안 강화
- 최소 권한 원칙 적용
- 필요한 권한만 부여
- 정기적으로 권한 검토
효율적인 사용
- SharePoint URL을 미리 저장해두기
- 예:
https://blueholestudio-my.sharepoint.com/
- 예:
- 이메일 검색 시 키워드 명확히 지정
- OneDrive 폴더 구조 정리
- 자동 분류 기능 활용
조직 계정 사용
- IT 관리자에게 앱 승인 요청
- 조직 정책 확인
- Multi-factor Authentication 설정