Token导航 LogoToken导航TokenDH.com
Ms365 MCP Server logo
办公协作stdio官方级别未说明来源级核验

Ms365 MCP Server

MCP Server

通过Microsoft Graph API提供对Microsoft 365邮件(Outlook)和日历的访问,支持邮件读取、发送、搜索以及日历事件管理。

工具数

12

提示词数

0

GitHub Stars

0

资源数

0
邮件管理办公自动化PythonClaude日程管理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ronaldzuniga

提供方

ronaldzuniga

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 -m venv .venv

详细介绍

微软365 MCP服务器

一个MCP服务器,允许Claude Desktop和Claude Code通过Microsoft Graph API访问您的Microsoft 365电子邮件(Outlook)和日历。

快速入门概述

设置此MCP服务器需要两个主要步骤:

  1. Azure AD安装程序 (5-10分钟,一次性):在Azure中创建应用程序注册以获取凭据
  2. 本地安装 (5分钟):安装服务器并配置Claude Desktop或Claude Code

下面详细介绍了这两种方法,并附有分步说明。

包含的工具

工具说明
ms365_list_emails列出来自任何文件夹(收件箱、已发送等)的电子邮件
ms365_read_email按ID阅读完整的电子邮件内容
ms365_search_emails按关键字搜索电子邮件
ms365_send_email发送电子邮件
ms365_create_draft创建电子邮件草稿而不发送
ms365_reply_email回复电子邮件
ms365_list_mail_folders列出所有具有计数的邮件文件夹
ms365_list_events列出日期范围内的日历事件
ms365_get_event获取完整的活动详细信息
ms365_list_calendars列出所有日历
ms365_find_free_time查看人们的忙/闲
ms365_get_profile获取您的Microsoft 365个人资料

______________________________________________________________________

Azure AD安装程序(首先需要)

在使用此MCP服务器之前,您需要创建Azure AD应用程序注册以获取您的 MS_CLIENT_IDMS_TENANT_ID这只需要做一次。

步骤1:创建应用程序注册

  1. 转到Azure门户

- 引导到 portal.azure.com - 使用您的Microsoft 365帐户登录

  1. 访问应用程序注册

- 在顶部搜索栏中,键入“应用程序注册” - 点击 应用程序注册 从搜索结果中

  1. 创建新注册

- 点击 “+新注册” 顶部的按钮 - 填写登记表: - 名字: MS365 MCP Server (或您喜欢的任何名称) - 支持的帐户类型:选择 “仅此组织目录中的帐户(单个租户)” - 重定向URI: - 选择 “移动和桌面应用程序” 从下拉列表中 - 输入: http://localhost - 点击 “注册” 按钮

  1. 复制您的凭据

- 您将被带到应用程序的概述页面 - 复制并保存这两个值(稍后您将需要它们): - 应用程序(客户端)ID → 这是你的 MS_CLIENT_ID - 目录(租户)ID → 这是你的 MS_TENANT_ID - 请将这些值放在手边——您将在下面的设置步骤中使用它们

第2步:设置API权限

  1. 导航到API权限

- 在左侧边栏中,单击 “API权限”

  1. 添加Microsoft图形权限

- 点击 “+添加权限” - 选择 “Microsoft Graph” - 选择 “委托权限”

  1. 添加所需权限

- 搜索并添加以下每个权限: - ✅ 邮件。阅读 -阅读您的电子邮件 - ✅ 邮件。读写 -创建和管理电子邮件草稿 - ✅ 邮件。发送 -从您的帐户发送电子邮件 - ✅ 日历。阅读 -阅读您的日历 - ✅ 用户。阅读 -读取基本配置文件信息 - 点击 “添加权限” 完成后

  1. 授予管理员同意

- 返回API权限页,查找 “授予\[您的组织\]管理员同意” 按钮 - 如果你是管理员:单击按钮并确认 - 如果你不是管理员:请您的IT管理员同意 - 您应该在“状态”列下看到所有权限的绿色复选标记

步骤3:验证您的设置

当您具备以下条件时,您的Azure配置即告完成:

  • ✅ 已复制应用程序(客户端)ID
  • ✅ 目录(租户)ID已复制
  • ✅ 已添加和授予的所有五个权限(绿色复选标记)

现在,您已准备好继续进行本地安装!

______________________________________________________________________

本地安装

先决条件

  • Python 3.10+
  • 已安装克劳德桌面或克劳德代码CLI
  • MS_CLIENT_IDMS_tennal_ID 从上面的Azure设置

步骤1:克隆或下载项目

复制 ms365-mcp-server 将文件夹移动到计算机上的永久位置:

# Example: put it in your home directory
cp -r ms365-mcp-server ~/ms365-mcp-server
cd ~/ms365-mcp-server

步骤2:创建虚拟环境并安装依赖项

cd ~/ms365-mcp-server
python3 -m venv .venv
source .venv/bin/activate       # macOS/Linux
# .venv\Scripts\activate        # Windows

pip install -r requirements.txt

步骤3:首次身份验证

手动运行服务器一次以完成交互式Microsoft登录:

cd ~/ms365-mcp-server
source .venv/bin/activate

export MS_CLIENT_ID="your-client-id-here"
export MS_TENANT_ID="your-tenant-id-here"

python server.py

这将打开您的浏览器进行Microsoft登录。登录并授予权限。 一旦完成,a token_cache.json 文件已创建——该文件存储您的刷新令牌,因此您不需要再次登录(令牌自动续订约90天)。

Ctrl+C 登录成功后停止服务器。

步骤4:配置Claude桌面

打开Claude Desktop的配置文件:

重要:使用 MS_CLIENT_IDMS_TENANT_ID 您是从上面的Azure设置中复制的。

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 视窗: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

添加MCP服务器配置。将路径和凭据替换为您自己的:

{
  "mcpServers": {
    "ms365": {
      "command": "/Users/YOURUSER/ms365-mcp-server/.venv/bin/python",
      "args": [
        "/Users/YOURUSER/ms365-mcp-server/server.py"
      ],
      "env": {
        "MS_CLIENT_ID": "your-client-id-here",
        "MS_TENANT_ID": "your-tenant-id-here"
      }
    }
  }
}
重要提示: 在虚拟环境中使用Python二进制文件的完整路径,而不仅仅是 python3.

找到你的Python路径:

# macOS/Linux
source ~/ms365-mcp-server/.venv/bin/activate
which python
# Outputs something like: /Users/youruser/ms365-mcp-server/.venv/bin/python

# Windows
# Usually: C:\Users\YOURUSER\ms365-mcp-server\.venv\Scripts\python.exe

步骤5:重新启动克劳德桌面

完全退出Claude Desktop并重新打开它。您应该看到🔌 图标或开始对话时可用的MCP工具。

______________________________________________________________________

Claude代码(CLI)的设置

如果您使用的是Claude Code(命令行工具),请按照以下步骤操作:

先决条件

  • Python 3.10+
  • 已安装Claude Code CLI
  • Azure AD应用程序注册(MS_CLIENT_ID和MS_TENANT_ID)

步骤1-3:与克劳德桌面相同

按照上述Claude Desktop设置中的步骤1-3进行操作(克隆、创建venv、首次身份验证)。

步骤4:配置克劳德代码MCP设置

打开或创建Claude Code MCP配置文件:

重要:使用 MS_CLIENT_IDMS_TENANT_ID 您是从上面的Azure设置中复制的。

  • macOS/Linux: ~/.claude/mcp_settings.json
  • 视窗: %USERPROFILE%\.claude\mcp_settings.json

添加MCP服务器配置:

{
  "mcpServers": {
    "ms365": {
      "command": "/Users/YOURUSER/ms365_mcp_server/.venv/bin/python",
      "args": [
        "/Users/YOURUSER/ms365_mcp_server/server.py"
      ],
      "env": {
        "MS_CLIENT_ID": "your-client-id-here",
        "MS_TENANT_ID": "your-tenant-id-here"
      }
    }
  }
}

重要提示: 在虚拟环境中使用Python二进制文件的完整路径。

步骤5:测试连接

启动Claude Code并验证MCP服务器是否已加载:

claude-code

ms365工具应该在您的会话中可用。

______________________________________________________________________

使用示例

配置后,只需与Claude Desktop自然聊天:

  • “阅读我最新的电子邮件”
  • “在我的电子邮件中搜索马里奥关于密尔沃基工具的消息”
  • “这周我的日程表上有什么?”
  • “找我和你之间的空闲时间mario@qualitara.com明天”
  • “发送电子邮件至john@example.com主题为“会议记录”。.."
  • “回复最后一封电子邮件,说我下午3点会到”

______________________________________________________________________

故障排除

“身份验证已过期”错误

删除 token_cache.json 并运行 python server.py 再次进行重新认证。

工具未显示在Claude Desktop中

  1. 检查配置文件路径是否正确
  2. 确保Python路径指向venv的Python(不是系统Python)
  3. 完全重新启动Claude Desktop(退出,而不仅仅是关闭窗口)
  4. 检查Claude Desktop日志是否有错误

Microsoft Graph的权限错误

返回到Azure AD应用程序注册→ API权限并确保 Mail.Read, Mail.ReadWrite, Mail.Send, Calendars.Read,以及 User.Read 均经管理员同意。

令牌缓存位置

token_cache.json 与保存在同一目录中 server.py。请确保该进程具有对该文件夹的写入权限。

______________________________________________________________________

文件结构

ms365-mcp-server/
├── server.py           # Main MCP server with all tools
├── auth.py             # MSAL authentication (token acquire + cache)
├── graph_client.py     # Microsoft Graph API client
├── requirements.txt    # Python dependencies
├── token_cache.json    # Auto-generated after first login (DO NOT COMMIT)
└── README.md           # This file

______________________________________________________________________

安全说明

  • 不需要客户机密。 这使用了SOAP PublicClientApplication 使用交互式身份验证——微软推荐的桌面/CLI应用程序方法。
  • token_cache.json 包含您的刷新令牌。把它当作密码。不要将其提交给版本控制。
  • 刷新令牌每次使用会自动更新约90天。

目录标签

目录标签

邮件管理办公自动化PythonClaude日程管理本地部署日历管理Microsoft365集成API集成

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

12

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotokenlocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP