Outlook集成服务

基于Python和Microsoft Graph API的Outlook集成服务,提供邮件操作、认证处理和实用功能。

  • by cycle-sync-ai
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 cycle-sync-ai/outlook-mcp-server

使用说明

Outlook MCP Python

基于Python的Microsoft Outlook集成,使用Microsoft Graph API,使用FastAPI和MCP框架构建。

概述

此项目使用Microsoft Graph API为Microsoft Outlook集成提供服务器实现。它包括身份验证处理、邮件操作和用于处理Outlook数据的各种实用程序功能。

特性

  • Microsoft Graph API集成
  • OAuth2身份验证流程
  • 邮件操作(发送、读取、管理)
  • 基于FastAPI的服务器实现
  • 基于环境的配置
  • 日志记录功能

项目结构

  • auth/ -身份验证相关模块
  • mail/ -邮件操作模块
  • utils/ -实用功能
  • main.py -主要应用入口点
  • server.py -服务器配置
  • config.py -配置设置
  • logger.py -日志记录配置
  • outlook_auth_server.py -Outlook身份验证服务器实现

先决条件

  • Python 3.8或更高版本
  • 已注册应用程序的Microsoft Azure帐户
  • Microsoft Graph API访问

安装

  1. 克隆存储库:
git clone [repository-url]
cd mcp-outlook-python
  1. 创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. 安装依赖项:
pip install -r requirements.txt

Azure应用程序注册和配置

要使用此MCP服务器,您需要首先在Azure门户中注册和配置应用程序。以下步骤将引导您完成注册新应用程序、配置其权限和生成客户端密钥的过程。

应用程序注册

  1. 打开 Azure门户 在您的浏览器中
  2. 使用Microsoft工作或个人帐户登录
  3. 搜索或点击“应用程序注册”
  4. 点击“新注册”
  5. 输入应用程序的名称,例如“Outlook MCP服务器”
  6. 选择“任何组织目录中的帐户和个人Microsoft帐户”选项
  7. 在“重定向URI”部分,从下拉列表中选择“Web”并输入http://localhost:3333/auth/callback“在文本框中
  8. 点击“注册”
  9. 从应用程序设置页面的概述部分,复制“应用程序(客户端)ID”,并将其作为.env文件中的MS_client_ID以及claude-config-sample.json文件中的OUTLOOK_client_ID输入

应用程序权限

  1. 从Azure门户的应用程序设置页面中,选择“管理”部分下的“API权限”选项
  2. 点击“添加权限”
  3. 点击“Microsoft Graph”
  4. 选择“委派权限”
  5. 搜索以下权限,并选中每个权限旁边的复选框
    • 离线访问
    • 用户。阅读
    • 邮件。阅读
    • 邮件。发送
    • 日历。阅读
    • 日历。读写
    • 联络。阅读
  6. 点击“添加权限”

客户端密钥

  1. 在Azure门户的应用程序设置页面中,选择管理部分下的“证书和机密”选项
  2. 切换到“客户端机密”选项卡
  3. 点击“新客户机密”
  4. 输入描述,例如“客户端密码”
  5. 选择最长可能的过期时间
  6. 点击“添加”
  7. 复制secret值并将其作为.env文件中的MS_CLIENT_secret以及claude-config-sample.json文件中的OUTLOOK_CLIENT_secret输入

配置

  1. 创建一个 .env 根目录中的文件,包含以下变量:
MS_CLIENT_ID=your-ms-client-id
MS_CLIENT_SECRET=your-ms-client-secret
MS_AUTH_SERVER_URL=your-ms-auth-server-url
  1. 更新中的配置 config.py 根据需要。

使用Claude Desktop

  1. 从以下位置复制示例配置 claude-config-sample.json 到您的Claude Desktop配置
  2. 重新启动克劳德桌面
  3. 使用Microsoft进行身份验证 authenticate 工具
  4. 使用电子邮件工具管理您的Outlook帐户

身份验证流程

  1. 在端口3333上启动本地身份验证服务器(使用 outlook-auth-server.js)
  2. 使用 authenticate 获取身份验证URL的工具
  3. 在浏览器中完成身份验证
  4. 代币存储在 ~/.outlook-mcp-tokens.json

故障排除

  • 身份验证问题:检查令牌文件和身份验证服务器日志
  • API调用失败:检查响应中的详细错误消息

依赖项

  • 快速
  • 优维康
  • python dotenv
  • 媒染剂
  • 媒染剂设置
  • 请求:
  • 意图tp
  • 主控程序