Microsoft 365复制品MCP服务器
 ](https://www.npmjs.com/package/m365-copilot-mcp) ](https://www.npmjs.com/package/m365-copilot-mcp) 
注: 这是一个非官方的MCP服务器,但由微软工程师开发,集成了最新的微软365 Copilot API。我们欢迎您的反馈和贡献!
通过模型上下文协议(MCP)将您的AI助手连接到Microsoft 365。此服务器使AI工具能够访问您的SharePoint文档、OneDrive文件、电子邮件、团队对话等,同时尊重您组织的访问控制。
概述
这 m365-copilot-mcp 服务器为AI助手提供了三种强大的功能:
| 能力 | 目的 | 用例 |
|---|---|---|
| 📄 检索 | 从M365数据中提取相关文本内容 | 使用文档、电子邮件和对话中的信息回答问题 |
| 🔍 搜索 | 查找特定文档和文件 | 查找文件,在M365环境中发现相关内容 |
| 💬 聊天 | M365 Copilot支持的对话式AI | 询问您的日程安排,获取摘要,与时间感知查询进行交互 |
了解更多: 这些能力建立在官方 Microsoft 365复制品API.
先决条件
- Node.js 20+ -运行时环境
- Microsoft 365帐户 -使用Microsoft 365复制副本许可证
- MCP兼容AI工具 -例如Claude Code、GitHub Copilot或任何其他MCP客户端
视频教程
通过以下分步视频指南了解如何安装和使用M365 Copilot MCP服务器:
📺 Claude Code与M365 Copilot MCP服务器

点击上图观看教程 关于如何使用Claude Code安装和使用M365 Copilot MCP服务器。
📺 GitHub Copilot与M365 Copilot MCP服务器
](https://youtu.be/MVnTHrXbP4U)
点击上图观看教程 关于如何在VS Code中安装和使用带有GitHub Copilot的M365 Copilot MCP服务器。
配置
在AI工具的设置中配置MCP服务器。服务器使用 npx 直接从npm运行,无需全局安装。
克劳德代码
使用Claude Code CLI添加服务器:
macOS/Linux:
claude mcp add --scope user --transport stdio m365-copilot -- npx -y m365-copilot-mcp窗户:
claude mcp add --scope user --transport stdio m365-copilot -- cmd /c "npx -y m365-copilot-mcp"这 -y 标志自动接受提示,以及 npx 将下载并运行该软件包的最新版本。
GitHub副本(VS代码)
创建一个 .vscode/mcp.json 将文件添加到项目根目录中,或添加到VS Code用户设置中:
选项1:项目级配置 (.vscode/mcp.json):
{
"servers": {
"m365-copilot": {
"command": "npx",
"args": ["-y", "m365-copilot-mcp"]
}
}
}选项2:用户级配置 (VS代码 settings.json):
{
"mcp.servers": {
"m365-copilot": {
"command": "npx",
"args": ["-y", "m365-copilot-mcp"]
}
}
}要求: VS代码1.99+,安装了GitHub Copilot扩展。
其他MCP客户端
对于其他MCP兼容工具,请使用以下命令 npx:
npx -y m365-copilot-mcp有关MCP服务器配置说明,请参阅特定AI工具的文档。
认证
首次使用时,服务器将自动打开您的浏览器进行Microsoft 365身份验证。登录一次后,您的凭据将安全地缓存在本地,无需再次登录。
无头环境(Linux服务器)
无需配置! 如果你在没有浏览器的无头Linux服务器上运行MCP服务器,服务器将 自动地 检测到这一点并回退到 设备代码流:
- 服务器将显示一个URL(
https://microsoft.com/devicelogin)以及控制台中的代码 - 使用浏览器在任何设备(手机、笔记本电脑等)上打开URL
- 输入代码并使用您的Microsoft 365帐户登录
- 服务器将自动完成身份验证
这是自动发生的——只需在任何其他平台上运行相同的配置。
安全与隐私
您的数据是安全的。 MCP服务器:
- ✅ 仅通过官方Microsoft Graph API读取数据
- ✅ 尊重组织的访问控制和权限
- ✅ 在您的计算机上本地存储身份验证令牌(加密)
- ✅ 不存储、收集或传输任何M365内容
- ✅ 直接对Microsoft进行API调用-不涉及第三方服务器
使用您自己的Azure AD应用程序(可选)
如果您有安全问题或组织要求,可以使用自己的Azure AD应用程序,而不是内置的应用程序。然而, 这是完全可选的 -默认配置对大多数用户来说是安全且足够的。
Azure AD应用程序注册设置
在创建自己的Azure AD应用程序时,您 必须 在应用程序注册中注册重定向URI:
- 首选 Azure 门户 → Azure Active Directory→ 应用程序注册
- 选择您的应用程序(或创建一个新的应用程序)
- 引导到 认证 → 添加平台 → 移动和桌面应用程序
- 添加重定向URI:
http://localhost - 保存配置
注: 默认重定向URI为 http://localhostAzure AD将匹配此URI,而不管应用程序使用的实际端口如何,使其与动态端口分配无缝协作。您可以使用自定义 REDIRECT_URI 如果需要,环境变量(例如。, https://login.microsoftonline.com/common/oauth2/nativeclient).
配置
要使用自定义Azure AD应用程序,请在配置过程中提供环境变量:
克劳德代码
macOS/Linux:
claude mcp add --scope user --transport stdio m365-copilot \
--env AZURE_CLIENT_ID=your-client-id \
--env AZURE_TENANT_ID=your-tenant-id \
-- npx -y m365-copilot-mcp窗户:
claude mcp add --scope user --transport stdio m365-copilot --env AZURE_CLIENT_ID=your-client-id --env AZURE_TENANT_ID=your-tenant-id -- cmd /c "npx -y m365-copilot-mcp"GitHub副本(VS代码)
将环境变量添加到配置中:
{
"servers": {
"m365-copilot": {
"command": "npx",
"args": ["-y", "m365-copilot-mcp"],
"env": {
"AZURE_CLIENT_ID": "your-client-id",
"AZURE_TENANT_ID": "your-tenant-id"
}
}
}
}可选环境变量:
REDIRECT_URI:自定义重定向URI(默认值:http://localhost,备选方案:https://login.microsoftonline.com/common/oauth2/nativeclient)
所需的Microsoft Graph API权限:
- 地点。读。全部
- 文件夹。读。全部
- 邮件。阅读
- 聊天。阅读
- 频道消息。读。全部
- 在线会议记录。读。全部
- 人。读。全部
- 外部项目。读。全部
可用工具
您的AI助手现在可以使用这三个工具与您的M365内容进行交互:
1.m365复印机检索
从SharePoint和OneDrive内容中检索相关文本摘要以回答问题。
最适合:
- 根据您的文档回答问题
- 查找隐藏在内容中的信息
- 将人工智能响应与您的实际数据联系起来
示例提示:
- “我的文档中提到的第四季度项目截止日期是什么?”
- “总结团队对新功能的决定”
- “我们公司的政策对远程工作有什么规定?”
2.m365复印机搜索
在M365环境中搜索以查找特定的文档和文件。
最适合:
- 查找特定文档
- 获取要打开或共享的文档链接
- 在SharePoint和OneDrive中查找相关文件
示例提示:
- “查找VPN设置指南”
- “搜索第四季度预算电子表格”
- “查找有关网络安全策略的文档”
3.m365copilotchat
允许与Microsoft 365 Copilot进行对话式交互,并了解您的日历、任务和内容。
最适合:
- 询问你的日程安排和会议
- 获取最近活动的摘要
- 需要上下文的时间感知查询
示例提示:
- “我明天有什么会议?”
- “总结最近关于产品发布的讨论”
- “本周我的行动项目是什么?”
注: 此工具要求您的时区采用IANA格式(例如,“美洲/纽约”、“欧洲/伦敦”、“亚洲/上海”)。
账户管理
切换帐户(m365复印机注销)
如果您需要切换到其他Microsoft 365帐户,可以使用注销工具清除缓存的凭据。
如何使用:
- 询问您的AI助手:“退出Microsoft 365”或“切换到其他帐户”
- 该工具将清除所有缓存的身份验证数据
- 重新启动MCP服务器 使注销完全生效
- 下次使用时,系统将提示您使用其他帐户登录
这有助于:
- 在工作和个人M365帐户之间切换
- 解决身份验证问题
- 使用不同用户权限进行测试
运作原理
┌─────────────────┐
│ AI Assistant │
│ (Claude, etc.) │
└────────┬────────┘
│
│ MCP Protocol
▼
┌─────────────────┐
│ m365-copilot-mcp│
│ Server │
└────────┬────────┘
│
│ Microsoft Graph API
▼
┌─────────────────┐
│ Microsoft 365 │
│ (Your Data) │
└─────────────────┘MCP服务器充当您的AI助手和Microsoft 365之间的安全桥梁,使用官方的Microsoft API根据您的权限访问您的数据。
故障排除
身份验证问题
问题: 想要切换到其他Microsoft 365帐户 解决方案: 使用 m365copilotlogout 工具清除缓存的凭据,然后重新启动MCP服务器。下次使用时,系统将提示您使用其他帐户登录。
问题: 身份验证期间重定向URI不匹配错误 解决方案: 确保 http://localhost 已在您的Azure AD应用注册中注册 认证→ 移动和桌面应用程序Azure AD将匹配此URI,而不管实际使用的端口如何。如果使用自定义重定向URI,请设置 REDIRECT_URI 环境变量以匹配您的Azure AD配置。
问题: 浏览器无法打开进行登录 解决方案:
- 在无头系统(Linux服务器)上,服务器将 自动地 回退到设备代码流
- 检查控制台输出的身份验证URL和代码
- 在带有浏览器的系统上,检查防火墙设置或尝试自定义重定向URI
问题: “权限被拒绝”错误 解决方案: 确保您的Microsoft 365帐户可以访问请求的资源。如果您最近更改了权限或帐户,请尝试使用注销工具并重新进行身份验证。
连接问题
问题: AI助手找不到MCP服务器 解决方案:
- 验证安装:
npm list -g m365-copilot-mcp - 检查是否安装了Node.js 20+:
node --version - 重启你的AI助手
工具不工作
问题: 聊天工具因时区错误而失败 解决方案: 确保您以IANA格式提供时区(例如“美国/纽约”)
问题: 未返回任何结果 解决方案: 验证您是否可以访问M365内容并登录到正确的帐户
支持的平台
- ✅ Windows 10/11
- ✅ macOS 10.15+
- ✅ Linux(Ubuntu 20.04+,其他发行版)
反馈与支持
该项目正在积极维护中。我们欢迎您的反馈和贡献!
- 报告问题:
- 功能请求:
- 项目文件:
- API文件: Microsoft 365复制品API
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
______________________________________________________________________
由微软工程师开发 | 由Microsoft 365 Copilot API提供支持
