Skip to main content
Glama

MSFT-Mail+Calendar

by Norcim133

OutlookMCP서버

이 프로젝트는 Claude Desktop이 Microsoft Graph API를 사용하여 Microsoft 365 메일, 일정 및 (곧) 파일에 액세스할 수 있도록 하는 MCP 서버입니다.


✨ 특징

  • 메일 액세스 : Claude 또는 MCP 호환 에이전트에서 받은 편지함을 작성, 응답, 정렬, 검색, 필터링 및 분석합니다.
  • 🔜 캘린더 지원 : 날짜별 목록, 메일 작성, 삭제(곧 업데이트 메일, 검색 기능 제공)
  • 🚧 OneDrive 지원 : 메일 및 일정이 안정화된 후의 향후 방향

🧱 기술 스택

  • msgraph (최신 Microsoft Graph SDK)
  • DeviceCodeCredentialTokenCachePersistenceOptions 가 있는 azure.identity
  • FastMCP - 간단한 MCP 호환 서버 인터페이스
  • uv — 빠른 Python 종속성 및 환경 관리

⚙️ 요구 사항

현재 다음과 같이 구축되었습니다.

  • macOS 에서 로컬로 실행
  • Claude Desktop 과 함께 사용하세요
  • Azure에 등록된 애플리케이션을 사용하여 인증

⚠️ 이를 구성하려면 Azure 테넌트에 대한 관리자 액세스 권한이 있어야 합니다. 앱을 등록하려면 Microsoft Graph 범위(예: Mail.Read , Calendars.Read )에 대한 동의가 필요한데, 대부분의 조직에서는 기본적으로 사용자가 동의할 수 없습니다 .


🚀 시작하기

지엑스피1

Claude에서 디버깅을 시도하기 전에 Inspector에서 작업을 진행하는 것이 훨씬 쉽습니다.


🔐 인증 설정

애플리케이션을 실행하기 전에 다음을 설정해야 합니다.

  1. 프로젝트 루트에 auth_cache 폴더를 만듭니다(참고:
mkdir -p auth_cache
  1. 프로젝트 루트에 .env 파일을 만듭니다.
touch .env
  1. .env에 다음을 추가합니다.
echo "AZURE_CLIENT_ID=<your-id-from-Azure-portal-here>" > .env echo "AZURE_TENANT_ID=<your-id-from-Azure-portal-here>" >> .env echo "AZURE_GRAPH_SCOPES=User.Read Mail.Read Mail.Send Mail.ReadWrite" >> .env

참고: 처음 실행할 때 애플리케이션은 DeviceCodeCredential 흐름을 사용하여 인증하고, 성공하면 auth_cache 폴더에 auth_record.json을 자동으로 생성합니다.

이러한 권한으로 애플리케이션을 등록하려면 Azure 테넌트에 대한 관리자 액세스 권한이 있어야 합니다.


데스크톱 통합을 위한 Claude

Claude Desktop과 통합하려면 claude_desktop_config.json에 다음을 추가하세요.

{ "mcpServers": { "outlook": { "command": "uv", "args": [ "run", "--with", "azure-identity,mcp[cli],msgraph-core,msgraph-sdk", "mcp", "run", "/absolute/path/to/OutlookMCPServer" ] } } }

Claude Desktop에서는 설정/개발자/구성 편집에서 json 파일을 찾을 수 있습니다.

참고: "command"에서 "uv"를 절대 참조로 바꿔야 할 수도 있습니다.

구성이나 서버 코드를 변경할 때마다 Claude Desktop을 다시 시작하세요.


📦 폴더 구조

. ├── README.md ├── main.py ├── settings.py ├── auth_cache/ │ └── auth_record.json ├── mcpserver/ │ └── graph/ │ ├── __init__.py │ ├── calendar_service.py │ ├── controller.py │ ├── mail_service.py │ ├── __init__.py │ ├── auth_wrapper.py │ ├── context_manager.py │ ├── mail_query.py │ ├── message_info.py │ └── server.py ├── tests/ ├── .env ├── __init__.py ├── main.py

📌 로드맵

  • 메일 통합(완료)
  • Claude Desktop에서 인증(완료)
  • 캘린더 통합(CORE 완료)
  • 선택 사항인 OneDrive 통합
  • 윈도우 지원

📄 라이센스

MIT

저작권 (c) 2024 Enthoosa AI

본 소프트웨어 및 관련 문서 파일(이하 "소프트웨어")의 사본을 취득한 모든 사람에게 소프트웨어를 제한 없이 거래할 수 있는 권한을 무상으로 부여합니다. 여기에는 소프트웨어 사본을 사용, 복사, 수정, 병합, 게시, 배포, 하위 라이선스 및/또는 판매할 수 있는 권한이 포함되나 이에 국한되지 않으며, 소프트웨어가 제공된 사람에게도 이러한 권한을 부여합니다. 단, 다음 조건에 따라야 합니다.

위의 저작권 고지와 본 허가 고지는 소프트웨어의 모든 사본 또는 실질적인 부분에 포함되어야 합니다.

본 소프트웨어는 상품성, 특정 목적 적합성 및 비침해에 대한 보증을 포함하되 이에 국한되지 않는 명시적 또는 묵시적 보증 없이 "있는 그대로" 제공됩니다. 어떠한 경우에도 저작자 또는 저작권자는 본 소프트웨어 또는 본 소프트웨어의 사용 또는 기타 거래와 관련하여 발생하는 계약, 불법 행위 또는 기타 소송을 포함한 모든 청구, 손해 또는 기타 책임에 대해 책임을 지지 않습니다.

Related MCP Servers

View all related MCP servers

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/Norcim133/OutlookMCPServer'

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