Microsoft 365 Copilot 服务器

@pnp/cli-microsoft365-mcp-server
0 Stars 44 次浏览 pnp 更新于 2026-08-23

一个MCP服务器,通过GitHub Copilot代理启用运行Microsoft 365命令的CLI,允许用户使用自然语言与Microsoft 365服务进行交互。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Microsoft 365 MCP 服务器

💡 说明

目前这是一个正在进行中的工作,更像是一个概念验证而不是一个完整的解决方案。
目标是创建一个MCP服务器,允许运行任何类型的Microsoft 365命令行界面(CLI)命令。

📦 先决条件

  • Node.js 20.x 或更高版本

🚀 如何构建和运行

在开始之前,请先运行 npm install 以安装所有依赖项。

然后,为了构建项目,请运行:

npm run build

为了测试此工具,您需要创建一个Entra应用程序请求和证书,以便此MCP服务器可以作为应用程序对Microsoft 365进行身份验证。要创建证书并将应用程序请求与所需范围一起添加到您的租户中,并附带证书,请运行 createApp.ps1 脚本并按照说明操作。在创建证书时,除了密码外,大多数内容都可以留空。密码是必需的。由于脚本使用 CLI for Microsoft 365 创建应用程序请求和其他内容,因此您首先需要全局安装CLI for Microsoft 365,使用 npm i -g @pnp/cli-microsoft365 并以管理员身份登录到您的租户。执行脚本后,您应该会在Entra ID上看到一个带有必要范围和证书的“MCP Server Test”应用注册。您还应该在 temp 文件夹中看到证书文件和导出的Base64编码证书。稍后您将需要这些。

使用检查器运行MCP

测试M365 MCP服务器的一种方法是使用 MCP Inspector
首先使用以下命令启动M365 MCP服务器:

npm run start

现在,为了让您的MCP服务器也能通过环境变量传递所需的参数,以便MCP服务器可以使用它们来对Microsoft 365进行身份验证,您可以运行以下命令:

npx @modelcontextprotocol/inspector -e CertificatePassword='YOUR_PASSOWRD' -e AppId='ENTRA_APP_REG_ID' -e TenantId='TENANT_ID' -e TenantUrl='TENANT_URL' -e CertificateBase64Encoded='BASE64_ENCODED_VALUE_OF_YOUR_CERT' node dist/index.js

之后等待检查器启动并在浏览器中打开检查器。您应该能看到正在运行的MCP服务器,并且能够查询工具并在本地执行它们。

inspector

在VS Code中运行MCP

也可以从本地构建在VS Code中运行MCP服务器,以便它可以被GitHub Copilot Agent使用。
目前这仅支持在VS Code Insiders中。
首先使用以下命令启动M365 MCP服务器:

npm run start

现在进入VS Code GitHub Copilot Agent模式,点击工具图标并选择“添加更多工具”。然后选择“添加MCP服务器”,接着选择“命令(stdio)”并输入以下命令:

node FULL_PATH_TO_YOUR_PROJECT/dist/index.js

按回车键并为其命名。建议将其添加到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
            ],
            "env": {
                "CertificateBase64Encoded": "BASE64_ENCODED_VALUE_OF_YOUR_CERT",
                "CertificatePassword": "YOUR_PASSOWRD",
                "AppId": "ENTRA_APP_REG_ID",
                "TenantId": "TENANT_ID",
                "TenantUrl": "TENANT_URL" // e.g. https://tenanttocheck.sharepoint.com/
            }
        }
    }
}

点击开始,您应该会看到有4个新工具被添加到了您的GitHub Copilot Agent中。请测试它们。

vs code

🎬 演示

👉 视频 🎬

🔗 资源