Skip to content

Microsoft 365 MCP ​

Microsoft 365 연동을 통해 KIRA가 Outlook, OneDrive, SharePoint, Calendar에 접근할 수 있습니다.

MS365 MCP

Interactive OAuth 방식으로 간편하게 인증할 수 있습니다.

📋 준비물 ​

  • Microsoft 365 계정
  • Azure Portal 접근 권한 (앱 등록용)

🔑 1단계: Azure App 등록 ​

1. Azure Portal 접속 ​

  1. Azure Portal 접속
  2. 로그인

2. App Registration 생성 ​

  1. 검색창에서 "Azure Active Directory" 검색
  2. 왼쪽 메뉴에서 "App registrations" 클릭
  3. "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
  • "Register" 클릭

4. Application (client) ID 복사 ​

  • 생성된 앱의 "Application (client) ID" 복사
  • 나중에 사용

5. Tenant ID 복사 ​

  • "Directory (tenant) ID" 복사
  • 나중에 사용

6. 인증 설정 (중요!) ​

  1. 왼쪽 메뉴에서 "Authentication" 클릭
  2. "Advanced settings" 섹션 찾기
  3. "Allow public client flows" 를 "Yes" 로 설정
  4. "Save" 클릭

Interactive OAuth

MS365 MCP는 Interactive OAuth를 사용하므로 Client Secret이 필요 없습니다. 대신 "Allow public client flows"를 활성화해야 합니다.

7. API Permissions 설정 ​

  1. 왼쪽 메뉴에서 "API permissions" 클릭

  2. "Add a permission" 클릭

  3. "Microsoft Graph" 선택

  4. "Delegated permissions" 선택

  5. 다음 권한 추가:

    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 - 사용자 정보 읽기
  6. "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개 보여줘

인증 과정 ​

  1. KIRA가 Microsoft 365에 처음 접근할 때 브라우저가 자동으로 열립니다
  2. Microsoft 로그인 페이지에서 계정으로 로그인
  3. 권한 승인 화면에서 "Accept" 클릭
  4. 인증 완료 후 브라우저를 닫아도 됩니다
  5. 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://company.sharepoint.com/team
      2. Project Site - https://company.sharepoint.com/project

SharePoint 파일 검색 ​

사용자: 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://company.sharepoint.com/
  • 이메일 검색 시 키워드 명확히 지정
  • OneDrive 폴더 구조 정리
  • 자동 분류 기능 활용

조직 계정 사용 ​

  • IT 관리자에게 앱 승인 요청
  • 조직 정책 확인
  • Multi-factor Authentication 설정

🔗 관련 문서 ​