Microsoft 365 CLI服务器

一个用于运行Microsoft 365 CLI命令的服务器,旨在支持VS Code和GitHub Copilot Agent的集成,未来可能扩展支持Microsoft 365应用开发。

  • by Adam-it
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 adam-it/microsoft-365-mcp-server

使用说明

微软365 MCP服务器

[!重要]
此存储库已移动到 cli-microsoft365-mcp服务器

💡 描述

目前,这是一项正在进行的工作,更多的是POC而不是解决方案。 目标是创建一个MCP服务器,允许为Microsoft 365命令运行任何类型的CLI。 主要目的是使此MCP服务器准备好在VS Code中使用,以便GitHub Copilot Agent可以使用它。将来,此MCP服务器应作为专用的VS Code扩展或子扩展分发到 SPFx工具包VS代码扩展. 在不久的将来,此MCP服务器不仅可以运行Microsoft 365命令的CLI,还可以提供更多功能来支持为Microsoft 365开发应用程序,例如帮助创建SPFx web部件、扩展程序或Teams应用程序或M365 Copilot Agent。

📦 先决条件

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

🚀 如何构建和运行

在任何事情开始之前 npm install 安装所有依赖项。

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

npm run build

为了测试此工具,您需要创建Entra应用程序需求和证书,以便此MCP服务器可以作为应用程序对Microsoft 365进行身份验证。为了创建具有所需作用域的证书和应用程序,并将其与证书一起添加到租户中,请运行 createApp.ps1 编写脚本并按照说明进行操作。创建证书时,除密码外,大多数内容都可以留空。需要密码。正如脚本所使用的 适用于Microsoft 365的命令行界面 要创建应用程序req和其他内容,您首先需要使用以下命令在全球范围内安装Microsoft 365的CLI npm i -g @pnp/cli-microsoft365 并以管理员身份登录到您的租户。执行脚本后,您应该在Entra ID上看到一个“MCP服务器测试”应用程序注册表,其中包含所需的范围和证书。您还应该在 temp 文件夹。你以后会需要它们的。

使用检查器运行MCP

测试M365 MCP服务器的方法之一是使用 MCP检查员. 首先使用以下命令启动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服务器正在运行,并且应该能够查询工具并在本地执行它们。

在VS代码中运行MCP

也可以在本地构建的VS Code中运行MCP服务器,以便GitHub Copilot Agent可以使用它。 截至目前,这仅在VS Code Insiders中受支持。 首先使用以下命令启动M365 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
            ],
            "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代理中。测试它们。

🎬 演示

👉 电影🎬

🔗 资源