← 返回目录
M

M365 Assistant MCP Server

社区
连接 Claude 与 Microsoft 365 的 MCP 服务器
分类
团队协作 第 44 / 55
Stars
★ 443 热门
传输方式
stdio(本地进程)
运行环境
Node.js 14.0.0+
凭据
需要 API Key / 凭据
最近提交
⚠
工具数
28
42FMRS · D

该服务器功能全面,覆盖 Outlook、OneDrive 和 Power Automate,但配置复杂,需要 Azure AD 注册,且权限较大。适合熟悉 Azure 的开发者,但需注意安全配置。

最强项 · 文档质量 13/20 最弱项 · 维护活跃度 4/20

可靠性
5/20
安全与权限
9/20
维护活跃度
4/20
文档质量
13/20
安装易用性
11/20
查看各项评分依据
可靠性 5/20
证据:仅提供 README 与仓库元数据,无源码、无服务器清单、无 CI/测试日志可验证。README 描述的模块化目录结构、工具清单和 test mode 设计上自洽,声称有 Jest 测试(npm test),但这些只是声明而非可核查证据。扣分:25 个未关闭 issue、没有任何执行证据,按静态校准规则(无真实 CI 与提交测试则可靠性不超过 12)和缺证扣分原则,关键路径只能评为“可能合理”,无法确认启动、握手与工具行为是否一致。
安全与权限 9/20
证据:README 展示 OAuth 2.0 委托权限体系,权限列表接近最小权限(Mail/Calendars/Files 的 Read 与 ReadWrite、offline_access、User.Read),重定向为 localhost:3333,并明确告诫使用 client secret 的 VALUE 而非 Secret ID。扣分:令牌明文保存于 ~/.outlook-mcp-tokens.json,未说明加密或权限保护;delete-event、onedrive-delete、send-email、flow-run 等高风险/不可逆操作未见确认机制文档;数据流向与保留策略未完整披露。未触发红线(无恶意代码、窃取凭证、真实令牌泄露证据)。
维护活跃度 4/20
证据:仓库未归档,stars 较多但仅作发现信号,不计分。扣分:许可证未知,README 未提及 license 文件或条款;无版本发布、提交频率、依赖更新、安全响应渠道的任何证据;25 个未关闭 issue。按“无许可证属重大治理缺口”从严处理,维护项只能给低分。
文档质量 13/20
证据:README 分层较完整——安装、Azure 应用注册步骤、权限清单、.env 与 Claude Desktop 配置 JSON 示例、认证流程、故障排查、测试与扩展指引,并披露了 Power Automate 的访问限制。扣分:工具表仅一句话描述,无逐工具参数 schema;无速率限制/成本/数据保留说明;MS_CLIENT_ID 与 OUTLOOK_CLIENT_ID 双命名体系容易混淆,属于隐藏假设。
安装易用性 11/20
证据:安装路径清晰可循(npm install → Azure 注册与授权 → .env 配置 → Claude Desktop 配置 → 启动 auth-server → authenticate 工具),并给出客户端配置示例和端口占用处理办法。扣分:无 CI 或测试执行证据,静态校准规定此类情况 setup 不超过 15;流程依赖手动 Azure 配置、独立认证服务器和本地 token 文件,步骤多且较脆弱。

静态评测 · 未实际运行收录于 2026-08-07

查看 FMRS 评分方法 →

选型与风险

能访问什么访问网络修改第三方账户数据

适合谁

  • 需要集成 Microsoft 365 与 AI 助手的开发者
  • 希望用自然语言操作 Outlook 和 OneDrive 的个人用户
  • 需要自动化邮件和日历管理的团队

不适合谁

  • 对安全性要求极高且不愿使用第三方服务器的组织
  • 需要与 Microsoft Teams 或 SharePoint 深度集成的用户(未支持)
  • 希望开箱即用、无需 Azure 配置的初级用户

所需权限

  • Microsoft Graph 委托权限:offline_access, User.Read, Mail.ReadWrite, Mail.Send, Calendars.ReadWrite, Files.ReadWrite
  • Power Automate API 范围(可选):https://service.flow.microsoft.com//.default
  • 本地文件系统:令牌存储于 ~/.outlook-mcp-tokens.json

风险与副作用

  • OAuth 令牌以明文存储在本地文件,存在泄露风险
  • 需要 Azure 应用注册,配置错误可能导致服务不可用
  • Power Automate 集成仅支持解决方案感知且手动触发的流程
  • 使用第三方服务器可能带来供应链安全风险

安装接入

准备工作

运行环境:Node.js 14.0.0+

OUTLOOK_CLIENT_ID 必填 Azure Portal 应用注册的 Application (client) ID,用于 Claude Desktop 配置。
OUTLOOK_CLIENT_SECRET 必填密钥 Azure Portal '证书和密码'中生成的客户端密码 VALUE(不是 Secret ID),务必保密。
MS_CLIENT_SECRET 可选密钥 与 OUTLOOK_CLIENT_SECRET 相同,用于 .env 文件的客户端密码 VALUE。
其他可选配置项(3 个)
USE_TEST_MODE 可选 设为 true 时使用模拟数据测试而不调用真实 API,默认 false。
MS_CLIENT_ID 可选 与 OUTLOOK_CLIENT_ID 相同,用于 .env 文件的 Azure 应用客户端 ID。
MS_TENANT_ID 可选 Azure 应用的租户 ID,单租户应用设置此项可避免 /common 端点错误。
  1. 克隆仓库并安装依赖:npm install。
  2. 在 Azure 门户注册应用(需配置重定向 URI 为 http://localhost:3333/auth/callback)。
  3. 添加所需 API 权限(Mail.Read、Mail.Send、Calendars.ReadWrite 等)。
  4. 复制 .env.example 为 .env,填入 Azure 凭据。
  5. 更新 Claude Desktop 配置,指向 index.js。
  6. 运行 npm run auth-server,使用 authenticate 工具完成 OAuth 认证。
  7. 可选:配置 Power Automate 的额外权限。
claude_desktop_config.json
{
  "mcpServers": {
    "m365-assistant": {
      "command": "node",
      "args": [
        "/path/to/outlook-mcp/index.js"
      ],
      "env": {
        "USE_TEST_MODE": "false",
        "OUTLOOK_CLIENT_ID": "your-client-id",
        "OUTLOOK_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

以 Claude Desktop 为例。其他客户端的配置文件位置或字段可能不同(如 VS Code 使用 servers 字段),可用下方配置生成器转换。

.vscode/mcp.json
{
  "servers": {
    "m365-assistant": {
      "command": "node",
      "args": [
        "/path/to/outlook-mcp/index.js"
      ],
      "env": {
        "USE_TEST_MODE": "false",
        "OUTLOOK_CLIENT_ID": "your-client-id",
        "OUTLOOK_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

写入项目的 .vscode/mcp.json(VS Code 使用 servers 字段)。

Terminal
claude mcp add m365-assistant -e USE_TEST_MODE=false -e OUTLOOK_CLIENT_ID=your-client-id -e OUTLOOK_CLIENT_SECRET=your-client-secret -- node /path/to/outlook-mcp/index.js

在终端运行;先把 <…> 占位符换成你自己的值。

验证是否装好

完成 OAuth 认证后,在客户端工具列表中应能看到 list-emails、send-email、onedrive-list 等工具;运行一个 list-emails 请求并返回真实邮件即证明连接成功。

常见排障

  1. 模块错误:运行 `npm install`
  2. 端口 3333 被占用:`npx kill-port 3333` 后重启
  3. 无效客户端密钥:确保使用密钥值而非密钥 ID
  4. 认证失败:删除 `~/.outlook-mcp-tokens.json` 并重新认证

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 帮我列出收件箱里最近的 10 封邮件
  • 搜索一下所有包含'发票'的邮件
  • 帮我在日历上创建一个明天下午 3 点的会议
  • 把 OneDrive 里 reports 文件夹的文件列出来

工具能力 28

list-emails 只读
列出收件箱中的最近电子邮件
search-emails 只读
使用筛选条件搜索电子邮件
read-email 只读
读取电子邮件内容
send-email 破坏性
发送新电子邮件
mark-as-read 写入
将邮件标记为已读/未读
list-events 只读
列出日历事件
create-event 写入
创建日历事件
accept-event 写入
接受事件邀请
展开其余 20 个工具
decline-event 写入
拒绝事件邀请
delete-event 破坏性
删除日历事件
list-folders 只读
列出邮件文件夹
create-folder 写入
创建邮件文件夹
move-emails 写入
在文件夹之间移动电子邮件
list-rules 只读
列出收件箱规则
create-rule 写入
创建收件箱规则
onedrive-list 只读
列出指定路径下的文件
onedrive-search 只读
按查询搜索文件
onedrive-download 只读
获取下载 URL
onedrive-upload 写入
上传小文件(<4MB)
onedrive-upload-large 写入
分块上传大文件(>4MB)
onedrive-share 写入
创建共享链接
onedrive-create-folder 写入
创建文件夹
onedrive-delete 破坏性
删除文件或文件夹
flow-list-environments 只读
列出 Power Platform 环境
flow-list 只读
列出环境中的流程
flow-run 写入
触发手动流程
flow-list-runs 只读
获取流程运行历史
flow-toggle 写入
启用/禁用流程

使用场景

通过自然语言管理 Outlook 邮件和日历
在 OneDrive 中搜索、上传和共享文件
从 Claude 触发和监控 Power Automate 流程

支持客户端

Claude Desktop

依据项目文档列出,未经本站实测。

详细介绍

M365 Assistant MCP Server 是一个基于模型上下文协议(MCP)的服务器,通过 Microsoft Graph API 和 Power Automate API 将 Claude 与 Microsoft 365 服务连接起来。它支持 Outlook 邮件、日历、文件夹和规则管理,OneDrive 文件操作,以及 Power Automate 流程控制。提供 OAuth 2.0 认证、测试模式和模块化设计。

同类可选方案

源版本 95d6ff2d2489 数据同步于 2026-10-12 查看 FMRS 评分方法