← 返回目录
M

Microsoft 365 MCP Server

社区
通过 Graph API 与 Microsoft 365 和 Office 服务交互的 MCP 服务器。
分类
云存储 第 4 / 15
Stars
★ 1.0k 非常热门
传输方式
stdio(本地进程) · Streamable HTTP
运行环境
Node.js 20+ (14+ may work wi · Docker
凭据
需要 API Key / 凭据
许可证
MIT
最近提交
工具数
10
61FMRS · C

该项目功能强大,覆盖 Microsoft 365 大部分 Graph API,支持多种部署模式和高级配置,但需注意权限管理、令牌存储和第三方风险。适合技术用户,建议仔细阅读文档。

最强项 · 文档质量 16/20 最弱项 · 可靠性 8/20

可靠性
8/20
安全与权限
13/20
维护活跃度
10/20
文档质量
16/20
安装易用性
14/20
查看各项评分依据
可靠性 8/20
仅依据 README 与仓库元数据评审,未提供源代码、CI 工作流或测试文件。README 描述了丰富的配置项、启动失败条件和分页/限流等边界处理,主路径看起来可行,但无法验证 MCP 初始化握手、工具列表与真实行为是否一致,因此可靠性不超过 12 且保守扣分。
安全与权限 13/20
未发现恶意代码、真实令牌泄露等红线问题。文档体现了较强的安全设计:默认日志脱敏、OS 凭据存储与 0600 文件回退、allowed-scopes 最小权限边界、read-only 模式、外部认证缓存 fail-closed、BYOT 与 OAuth 分离。但源代码不可审阅,危险写操作的显式确认机制未在材料中体现,默认 300+ 工具面较大,需依赖过滤机制,故未给满分。
维护活跃度 10/20
仓库未归档,使用 MIT 许可证,有 10 个未关闭 issue、支持渠道和 npm/CI 徽标。但未提供提交历史、版本发布记录、依赖更新策略或安全响应渠道,构建徽标无法独立验证,stars 仅作发现信号不计分,故按活跃但有治理/版本化缺口处理。
文档质量 16/20
README 覆盖面很强:安装、三种认证方式、CLI 与环境变量、工具预设、Token 存储、Key Vault、部署指引、Open WebUI 和 Claude 示例,并披露了 TOON 实验性、Node 版本和配置限制。扣分原因是引用的 docs/deployment.md 与源码未提供,且缺少独立故障排查章节。
安装易用性 14/20
npx 启动、Claude Desktop/Claude Code/Open WebUI 配置示例清晰,提供了 Windows 与 China 云注意事项、Node 版本要求、自定义 Azure 应用的可选步骤和 Docker 示例。但缺乏可验证的 CI/测试执行证据,自定义 OAuth 应用注册仍属手动步骤,因此按静态上限保守给分。

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

查看 FMRS 评分方法 →

选型与风险

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

适合谁

  • 希望将 Microsoft 365 数据集成到 AI 助手或自定义应用中的开发者。
  • 需要跨多服务(邮件、日历、文件、Teams 等)统一访问的场景。
  • 寻求通过 MCP 协议与 Graph API 交互的轻量级解决方案。

不适合谁

  • 对安全性要求极高的企业生产环境(需自行评估 scope 管理和部署复杂性)。
  • 需要管理 Microsoft 365 管理员权限(如安全警报、审计日志)的场景——可考虑 ms-365-admin-mcp-server(补充项目)。
  • 未安装 Node.js 的环境。
  • 需要非 Microsoft 云(如 GCC High)支持的环境(目前仅支持全球版和中国 21Vianet)。

所需权限

  • 需要 Microsoft Graph API 权限,具体随启用工具自动请求。例如:User.Read、Mail.Read、Files.Read 等。
  • 组织模式(--org-mode)需要额外的 Graph 权限,如 Teams、SharePoint 相关权限(例如 Sites.Read.All)。
  • 共享邮箱访问需要 Mail.Read.Shared 或 Mail.Send.Shared 委托权限。
  • 可使用 --allowed-scopes 限制工具暴露的 scope,--extra-scopes 添加额外 scope。注意:--allowed-scopes 只会收窄权限,不会扩大。

风险与副作用

  • 令牌安全性:文件存储的令牌可能被非授权访问,建议使用 OS 凭据存储或自定义安全路径。
  • 权限过宽:默认请求所有工具隐含的 scope,可能过大,需使用 allowed-scopes 或工具过滤来限制。
  • 多租户令牌风险:使用默认 'common' 租户时,个人账户的刷新令牌自 2026 年 6 月起可能被拒绝,导致会话失效。
  • 第三方项目风险:非微软官方,可能不如官方支持稳定。
  • HTTP 模式下 OAuth 配置复杂:需要正确设置 Azure AD 应用注册和重定向 URI。

安装接入

准备工作

运行环境:Node.js 20+ (14+ may work wi · Docker

MS365_MCP_CLIENT_SECRET 可选密钥
MS365_MCP_OAUTH_TOKEN 可选密钥
其他可选配置项(30 个)
MS365_MCP_CLIENT_ID 可选
MS365_MCP_TENANT_ID 可选
MS365_MCP_CLOUD_TYPE 可选
MS365_MCP_OUTPUT_FORMAT 可选
MS365_MCP_ORG_MODE 可选
MS365_MCP_ALLOWED_SCOPES 可选
MS365_MCP_EXTRA_SCOPES 可选
MS365_MCP_TOKEN_CACHE_PATH 可选
MS365_MCP_SELECTED_ACCOUNT_PATH 可选
MS365_MCP_EXPECTED_USERNAME 可选
MS365_MCP_EXPECTED_HOME_ACCOUNT_ID 可选
MS365_MCP_MAX_TOP 可选
MS365_MCP_MAX_PAGES 可选
MS365_MCP_MAX_ITEMS 可选
MS365_MCP_ALLOW_PAGINATION 可选
MS365_MCP_BODY_FORMAT 可选
MS365_MCP_MESSAGE_SIGNOFF_PREFIX 可选
MS365_MCP_MESSAGE_SIGNOFF_SUFFIX 可选
MS365_MCP_KEYVAULT_URL 可选
MS365_MCP_AUTH_CACHE_COMMAND 可选
MS365_MCP_AUTH_CACHE_COMMAND_TIMEOUT_MS 可选
MS365_MCP_DISABLE_DCR 可选
MS365_MCP_RATE_LIMIT_DISABLED 可选
MS365_MCP_TRUST_PROXY_HOPS 可选
MS365_MCP_REDACT_PII 可选
READ_ONLY 可选
ENABLED_TOOLS 可选
LOG_LEVEL 可选
SILENT 可选
MS365_MCP_FORCE_WORK_SCOPES 可选
  1. 确保已安装 Node.js 20 或更高版本。
  2. 在 Claude Desktop 配置文件中添加以下配置(Settings > Developer 编辑):
{
  "mcpServers": {
    "ms365": {
      "command": "npx",
      "args": ["-y", "@softeria/ms-365-mcp-server"]
    }
  }
}
  1. 保存配置并重启 Claude Desktop。
  2. 在客户端中调用 login 工具进行认证(设备代码流程)。
claude_desktop_config.json
{
  "mcpServers": {
    "ms365": {
      "command": "npx",
      "args": [
        "-y",
        "@softeria/ms-365-mcp-server"
      ]
    }
  }
}

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

.vscode/mcp.json
{
  "servers": {
    "ms365": {
      "command": "npx",
      "args": [
        "-y",
        "@softeria/ms-365-mcp-server"
      ]
    }
  }
}

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

Terminal
claude mcp add ms365 -- npx -y @softeria/ms-365-mcp-server

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

验证是否装好

在客户端工具列表中应出现 ms365 服务器的 login、list-mail-messages、list-calendar-events 等工具;调用 login 完成设备码登录后,调用 list-mail-messages 能返回邮件即证明连接成功。

常见排障

  1. 认证失败:检查是否已运行 --login 或调用 login 工具;确认设备代码流程步骤。
  2. 令牌丢失:默认令牌缓存可能因 npm 更新而丢失,设置 MS365_MCP_TOKEN_CACHE_PATH 和 MS365_MCP_SELECTED_ACCOUNT_PATH 到持久路径。
  3. 权限不足:使用 --list-permissions 查看所需权限,确保租户管理员已同意。
  4. 工具不可用:确认使用了正确的模式(个人 vs 组织)和预设(--preset)。
  5. 个人账户刷新令牌问题:设置 MS365_MCP_TENANT_ID=consumers 以避免 'common' 租户问题。
  6. HTTP 模式端口冲突:使用 --http [port] 指定端口,默认 3000。
  7. 代理问题:如果 OAuth 重定向不可达,设置 --public-url 为公网地址。

试试这样问

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

  • 登录我的 Microsoft 账户,然后列出我收件箱里最近的邮件
  • 列出我日历上接下来的几个日程安排
  • 列出我的 OneDrive 驱动器和最近修改的文件
  • 列出组织中的用户和共享邮箱

工具能力 10

login 写入
通过设备代码流程登录,获取或验证现有令牌。
list-mail-messages 只读
列出邮箱消息。
get-mail-message 只读
获取指定邮件消息的详情。
list-calendar-events 只读
列出日历事件。
list-drives 只读
列出 OneDrive 或 SharePoint 驱动器。
get-drive-item 只读
获取驱动器项目详情。
download-bytes 只读
通用二进制读取工具,用于下载文件、附件、照片等。
graph-batch 写入
执行批处理 Graph API 请求。
展开其余 2 个工具
list-shared-mailbox-messages 只读
列出共享邮箱的消息(需要组织模式和委托权限)。
list-users 只读
列出组织中的用户和共享邮箱(组织模式)。

使用场景

个人账户:管理邮件、日历、OneDrive 文件、Excel、OneNote、待办事项等。
工作/学校账户:访问 Teams、SharePoint、共享邮箱、用户管理等组织功能。
构建自动化工作流:通过 MCP 直接与 Microsoft 365 数据交互,实现邮件处理、日历日程管理、文件操作等。
AI 助手集成:在 Claude 等 AI 工具中直接读取和操作 M365 数据,提高生产力。

支持客户端

Claude Desktop
Open WebUI

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

详细介绍

ms-365-mcp-server 是一个 Model Context Protocol (MCP) 服务器,通过 Microsoft Graph API 提供对 Microsoft 365 和 Office 服务的访问。它支持多个 Microsoft 云环境(全球版、中国 21Vianet 版),提供超过 300 种工具,涵盖邮件、日历、OneDrive 文件、Excel、OneNote、待办事项、Planner、联系人、用户资料、搜索,以及组织模式的 Teams、SharePoint、在线会议等。支持多种认证方式(设备代码流、OAuth 授权码流、自带令牌),并提供多账户支持、工具预设、动态工具发现、TOON 输出格式(减少 Token 使用)、只读模式、工具过滤、范围限制等高级功能。该项目是第三方开源项目(MIT 许可证),非微软官方。

同类可选方案

将 reMarkable 平板电脑作为 AI 助手的“第二大脑”——读取文档、浏览文件、提取文字并进行手写识别。

★ 243 · 工具数 13 与当前对比 →

源版本 a73c42797bea 数据同步于 2026-10-11 查看 FMRS 评分方法