关于 Microsoft 365 MCP Server
Microsoft 365 MCP Server 是基于 CLI for Microsoft 365 的 MCP 服务,允许用自然语言管理 Microsoft 365 的多个服务。它面向需要在 Teams、SharePoint、Planner 等领域执行管理任务的用户,并复用本地已完成的 m365 登录上下文。
主要功能
- 01以自然语言执行 CLI for Microsoft 365 命令
- 02支持搜索、查看文档和运行 m365 命令
- 03复用 m365 login 建立的认证上下文
- 04附带用于脚本和自动化的 Copilot Skills
适用场景
- 01通过自然语言管理 SharePoint Online 列表和站点
- 02创建 Teams 团队并发布欢迎消息
- 03查看或禁用 Power Automate 流
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露 m365SearchCommands、m365GetCommandDocs、m365RunCommand 和 m365GetBestPractices 四个工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| query | string | 是 | 用于查找相关命令的搜索查询(例如,"sharepoint list"、"teams channel"、"user add") |
| limit | number | 否 | 要返回的最大结果数(默认值:10,最大值:50) |
详细介绍
CLI for Microsoft 365 MCP 服务
💡 说明
此 MCP 服务支持使用自然语言执行任意 CLI for Microsoft 365 命令。它可以处理复杂的提示词,并将其拆解为一系列 CLI for Microsoft 365 命令来执行,从而尝试满足用户的请求。借助此服务,你可以管理 Microsoft 365 的许多不同领域,例如:Entra ID、OneDrive、OneNote、Outlook、Planner、Power Apps、Power Automate、Power Platform、SharePoint Embedded、SharePoint Online、Teams、Viva Engage 等等……
为获得最佳效果,请搭配 Claude Sonnet 4 或 Claude Sonnet 3.7 使用。
📦 先决条件
- Node.js 20.x 或更高版本
- 全局安装 CLI for Microsoft 365(
npm i -g @pnp/cli-microsoft365)
🚀 安装和使用
👉 请参阅 CLI for Microsoft 365 MCP 服务指南
👉 请参阅 入门视频 🎬
此 MCP 服务使用全局安装的 CLI for Microsoft 365,你需要使用 npm i -g @pnp/cli-microsoft365 进行全局安装。
安装 CLI for Microsoft 365 后,通过运行以下命令完成初始设置:
m365 setup
如需了解更多信息,请参阅登录 Microsoft 365
设置 CLI for Microsoft 365 后,请使用以下命令更新其配置:
m365 cli config set --key prompt --value false
m365 cli config set --key output --value text
m365 cli config set --key helpMode --value full
这样可以确保发生错误或命令未正确执行时,MCP 服务能从 CLI for Microsoft 365 获取尽可能多的信息。
MCP 服务不会为你执行任何身份验证。你需要先使用 CLI for Microsoft 365,通过 m365 login 命令进行身份验证。完成身份验证后,MCP 服务将在运行任何工具时使用相同的身份验证上下文。
最后,请参照所选 MCP 主机的说明,在你偏好的 MCP 客户端中安装 MCP 服务。下文提供了适用于 VS Code 的指南。
添加到 VS Code
有多种方法可以将 MCP 服务添加到 VS Code。最常见的方法是:
-
打开命令面板(Ctrl+Shift+P,或在 macOS 上按 Cmd+Shift+P),然后输入
MCP: Add Server。 -
选择
Command (stdio)作为服务类型。 -
输入运行 MCP 服务的命令:
npx -y @pnp/cli-microsoft365-mcp-server@latest -
为服务命名(例如,
CLI for Microsoft 365 MCP Server)。
完成后,.vscode/mcp.json 文件中应包含以下配置:
{
"servers": {
"CLI for Microsoft 365 MCP Server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@pnp/cli-microsoft365-mcp-server@latest"
]
}
}
}
现在,在 VS Code 中打开 GitHub Copilot 聊天时,你应该可以从可用 MCP 服务列表中选择 CLI for Microsoft 365 MCP Server,并开始用自然语言管理 Microsoft 365。在提示词中指定“Using CLI for Microsoft 365, I want you to...”,GitHub Copilot Agent 就会使用 MCP 服务来执行你的请求。
添加到 GitHub Copilot CLI
如果你正在使用 GitHub Copilot CLI,可以按以下步骤将 CLI for Microsoft 365 MCP 服务添加到 Copilot:
- 首先,运行以下命令启动 Copilot CLI:
copilot
- 使用 copilot mcp 命令添加 MCP 服务:
/mcp add
- 这会打开 MCP 表单,你需要填写以下信息:
- 服务名称:可以随意填写,但不要使用空格字符,例如
cli-microsoft365-mcp-server - 服务类型:选择
Local - 命令:
npx - 参数:
"-y", "@pnp/cli-microsoft365-mcp-server@latest"其余字段可以保留默认值。
然后按 Ctrl+S 保存 MCP 服务,再按 q 退出 MCP 表单。
现在,你应该可以在 GitHub Copilot CLI 中使用 CLI for Microsoft 365 MCP 服务,只需在提示词中指定它,例如“Using CLI for Microsoft 365, I want you to...”。
添加到 Claude
使用 Claude Desktop 时,可以手动将 MCP 服务添加到 Claude Desktop 配置中。
手动添加到 Claude Desktop 配置
- 在 Claude Desktop 中,点击左上角的汉堡菜单图标打开 Settings。
- 选择 File > Settings(或按
Ctrl + ,)。 - 在 Developer 选项卡中,点击 Edit Config。 注意:如果你看不到 Developer 选项卡,需要先在 Help > Enable Developer Mode 中启用它。
- 这会打开文件资源管理器。使用你喜欢的文本编辑器编辑
claude_desktop_config.json。 将以下配置添加到文件中。
{
"mcpServers": {
"CLI-Microsoft365": {
"command": "npx",
"args": ["-y", "@pnp/cli-microsoft365-mcp-server@latest"]
}
}
}
- 退出 Claude Desktop 并重新启动。每次修改代码或配置后,都需要重新启动 Claude Desktop 才能使更改生效。
注意:在 Windows 中,关闭窗口不会退出 Claude,它会继续在后台运行。你可以在系统托盘中找到它。右键点击图标并选择 Quit,即可完全退出应用。
完成!现在,你应该可以在 Claude Desktop 中使用 CLI-Microsoft365 MCP 服务了。
添加到 Cursor
使用 Cursor 时,可以按以下步骤添加 MCP 服务:
- 在聊天选项中选择
Agent settings。 - 转到
Tools & MCP选项卡,然后点击New MCP server。 - 按如下方式修改
mcp.json配置:
{
"mcpServers": {
"CLI for Microsoft 365 MCP Server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@pnp/cli-microsoft365-mcp-server@latest"
]
}
}
}
- 在
Tools & MCP选项卡中保存并启用“CLI for Microsoft 365 MCP Server”,然后等待工具加载。
📷 使用场景
以下只是一些使用此 MCP 服务的示例。它能够处理许多不同的任务,因此欢迎你尽情尝试,基本上可以通过自然语言管理整个 Microsoft 365。
你也可以查看 CLI for Microsoft 365 wiki,了解更多可用于管理 Microsoft 365 的 场景。
管理 SharePoint Online
在以下示例中,MCP 服务创建了一个 SharePoint 列表,添加了新列,并填充了几个测试项目。
提示词: "Add a new list to this site with title "awesome ducks". Then add new columns to that list including them in the default view. The first should be a text description columns and the second one should be a user column. Then add 3 items to this list with some funny jokes about docs added in the description column and adding my user in the user column. use emojis 🙂"

管理 Microsoft Teams
以下示例展示了如何创建新的 Microsoft Teams 团队,并在 General 频道中发布欢迎帖。
提示词: "Create a new Team on Teams with name "Awesome Ducks" and in the General channel adda a welcome post"

管理 Power Platform 解决方案
在此示例中,MCP 服务禁用了一个 Power Automate 流。
提示词: "can you check if I have HoursReportingReminder flow and if so disable it"

管理 Planner
在以下示例中,MCP 服务创建了一个新的 Planner 计划,并添加了示例分组和任务。
提示词: "can you create a new plan in planner to manage work for the awesome ducks. I need some sample buckets and tasks to get started"

🛠️ 工具
| 工具 | 描述 |
|---|---|
| m365SearchCommands | 根据查询字符串进行模糊搜索,在 Microsoft 365 CLI 中搜索命令。与获取所有命令相比,这种方式效率更高,因为它只返回相关匹配项。请先使用此工具查找相关命令。 |
| m365GetCommandDocs | 获取指定 Microsoft 365 CLI 命令的文档,供 Model Context Protocol 使用,以提供有关该命令的详细信息,包括示例、用例和选项说明 |
| m365RunCommand | 运行指定的 Microsoft 365 CLI 命令,供 Model Context Protocol 执行该命令、返回结果并根据响应进行推理 |
| m365GetBestPractices | 获取在脚本中使用 Microsoft 365 CLI 的最佳实践,包括身份验证检查、错误处理、输出处理和配置方面的指导 |
🎓 技能
此仓库包含自定义 GitHub Copilot 技能,用于教会 AI 如何高效使用 CLI for Microsoft 365。检测到相关任务时,GitHub Copilot 会自动加载这些技能。
| 技能 | 描述 |
|---|---|
cli-microsoft365 | 指导 Copilot 直接在终端中运行 m365 命令。涵盖命令语法、身份验证方法、输出格式、JMESPath 筛选,以及管理 SharePoint Online、Entra ID、Teams、Power Platform 等的常见模式。在要求 Copilot 交互式运行 CLI for Microsoft 365 命令时使用。 |
cli-microsoft365-script | 指导 Copilot 编写 PowerShell 脚本,使用 m365 命令自动执行 Microsoft 365 管理任务。涵盖脚本设置、使用 Invoke-CLICommand 帮助程序进行结构化错误处理、CI/CD 身份验证、批量操作、CSV 处理和安全最佳实践。在要求 Copilot 创建自动化脚本时使用。 |
🏗️ 如何在本地构建和运行
首先,运行 npm install 安装所有依赖项。
然后,运行以下命令构建项目:
npm run build
在 VS Code 中运行本地构建的 MCP
也可以在 VS Code 中运行本地构建的 MCP 服务,以便 GitHub Copilot Agent 使用。 首先,使用以下命令启动 CLI for Microsoft 365 MCP 服务:
npm run start
现在,进入 VS Code 的 GitHub Copilot Agent 模式,点击工具图标并选择 Add more tools。然后选择 Add MCP server,再选择 Command (stdio),并输入以下命令:
node FULL_PATH_TO_YOUR_PROJECT/dist/index.js
按 Enter 键并随意为其命名。建议在测试时将其添加到 workspace 作用域。之后,打开 .vscode/mcp.json 文件并进行修改,以传入身份验证所需的环境变量。
{
"servers": {
"m365-mcp-server": {
"type": "stdio",
"command": "node",
"args": [
"FULL_PATH_TO_YOUR_PROJECT/dist/index.js" // e.g. C:/workspace/repo/microsoft-365-mcp-server/dist/index.js
]
}
}
}
使用检查器运行本地构建的 MCP(调试)
测试 CLI for Microsoft 365 MCP 服务的一种方式是使用 MCP Inspector。 这种设置主要用于调试和在本地测试 MCP 服务。 首先,使用以下命令启动 MCP 服务:
npm run start
现在,要为 MCP 服务运行检查器,请在仓库根目录位置运行以下命令:
npx @modelcontextprotocol/inspector node dist/index.js
之后,等待检查器启动并在浏览器中打开。你应该会看到 MCP 服务正在运行,并且可以查询工具并在本地执行它们。
🔗 资源
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。