使用 MCP 服务器通过编码代理生成应用

适用于: 开发人员版

单击一下即可将 SharePoint Embedded MCP 服务器添加到编码代理:

使用预发行版本? 将服务器添加到 Visual Studio Code 预览体验计划。

对于其他 MCP 客户端,使用相同的 npx 命令注册服务器:

# Claude Code
claude mcp add spe -- npx -y @microsoft/spe-mcp start

# OpenAI Codex CLI
codex mcp add spe -- npx -y @microsoft/spe-mcp start

SharePoint Embedded MCP 服务器是一个开源 模型上下文协议 服务器,它允许 MCP 兼容的 AI 客户端通过自然语言设置和管理 SharePoint Embedded 应用程序。 支持的客户端包括 Visual Studio Code 或 CLI 中的 GitHub Copilot、Claude Desktop、Cursor 和 Azure AI Foundry。 它作为 npm 包分发 @microsoft/spe-mcp ,并作为开发人员工具在计算机上本地运行。

无需单击门户并手动将 Microsoft Graph 和 Azure CLI 命令拼接在一起,只需描述所需内容(“为我的应用创建试用容器类型”),AI 客户端会调用服务器的工具来执行此操作。

注意

SharePoint Embedded MCP 服务器是预览版中发布的开源开发人员工具。 其源代码、完整工具参考和问题跟踪器位于 GitHub 上的 microsoft/SharePoint-Embedded-MCP-Server 存储库中。

重要

若要开始使用 SharePoint Embedded 进行构建,需要对 Microsoft 365 租户具有管理访问权限。

如果还没有租户,则可以使用 Microsoft 365 开发人员计划、Microsoft 客户数字体验或 Microsoft 365 E3 许可证的免费试用版获取自己的租户。

可用工具

服务器公开 AI 客户端可以代表你调用的工具。

类别 工具的作用 代表工具
预配和状态 检查你的登录身份和预配准备情况。 创建和管理拥有的应用程序、 容器类型、容器类型注册和容器。 status_get, project_app_create, project_provision, container_type_create, container_type_register, container_create
计费 选择 Azure 订阅和资源组,将容器类型连接到标准计费,然后检查计费分类或试用到期。 azure_subscriptions_list, azure_resource_groups_list, billing_setup, billing_check
基架、运行和部署 生成引用应用程序,编写其配置,设定示例内容种子,在本地运行它,并将其部署到 Azure。 project_scaffold, project_hydrate_config, project_seed_sample_data, project_run_local, project_deploy
内容操作 (选择加入) 在明确同意后,为示例内容提供种子、上传文件、创建文件夹、搜索、预览和管理共享。 content_access_grant, project_seed_sample_data, content_file_upload, content_search, content_sharing_manage
容器权限和生命周期 管理容器权限以及存档、还原或删除容器。 container_permissions_manage, container_archive_restore, container_delete
文档 通过 Microsoft Learn MCP 服务器搜索和提取官方 SharePoint Embedded 和 Microsoft Graph 文档。 docs_search, docs_fetch

有关工具、CLI 标志和环境变量的完整版本控制列表,请参阅 服务器自述文件。

先决条件

  • Node.js 版本 22 或更高版本。
  • Azure CLI,使用以下网址登录。az login --allow-no-subscriptions 没有 Azure 订阅的仅限 Microsoft 365 租户需要此--allow-no-subscriptions标志。
  • Microsoft 365 租户和租户管理员访问权限 (全局管理员或应用程序管理员) 。
  • 与 MCP 兼容的客户端,例如带有 GitHub Copilot、Claude Desktop 或 Cursor 的 Visual Studio Code。

安装和配置

MCP 客户端使用 npx启动服务器,因此没有单独的全局安装。 使用本文顶部的一键式按钮,或使用以下客户端特定步骤手动将服务器条目添加到客户端的 MCP 配置。

Visual Studio Code

在工作区中添加 MCP 服务器条目 .vscode/mcp.json :

{
  "servers": {
    "spe": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@microsoft/spe-mcp", "start"]
    }
  }
}

该-y标志允许 Visual Studio Code 以非交互方式启动服务器。 注册服务器后,在代理模式下使用 Copilot 对话助手调用其工具。

Claude 桌面

将服务器添加到 %APPDATA%\Claude\claude_desktop_config.json (Windows) 或 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) :

{
  "mcpServers": {
    "spe": {
      "command": "npx",
      "args": ["-y", "@microsoft/spe-mcp", "start"]
    }
  }
}

光标和其他 MCP 客户端

任何通过 stdio 传输支持 MCP 服务器的客户端都可以使用相同的 npx -y @microsoft/spe-mcp start 命令运行服务器。 请参阅客户端文档,了解在何处注册 MCP 服务器。

配置

服务器通过 CLI 标志或等效环境变量接受操作配置。 为同一选项设置两者时,CLI 标志优先。

CLI 标志 环境变量 说明
--client-id SPE_CLIENT_ID Microsoft Entra ID应用程序 (客户端) 拥有应用程序的 ID。 省略它以使用引导模式。
--tenant-id SPE_TENANT_ID Microsoft Entra ID 租户 ID。 忽略它时,服务器会从 Azure CLI 发现它。
--read-only SPE_READ_ONLY 播发并仅允许读取、列出、获取和搜索工具。 拒绝变异调用。
--tools SPE_TOOLS 将工具限制为配置文件 (readOnly、 、 provisioningcontent或 admin) 或docsOnly以逗号分隔的工具名称列表。
--data-dir SPE_DATA_DIR 令牌缓存和预配状态的路径。 对每个服务器实例使用唯一的绝对路径或 ~/ 路径。 共享此目录可能会覆盖缓存的身份验证和预配状态。 不要使用相对于当前目录的路径。 默认值为 ~/.spe-mcp。

在客户端 MCP 配置对象的env数组或变量中args设置标志。 运行 npx -y @microsoft/spe-mcp start --help 或参阅 服务器配置参考 以获取完整的版本控制选项列表。

选择服务器进行身份验证的方式

服务器支持两种运行模式。

  • (建议使用 Bootstrap 模式来开始使用) :无需注册应用。 服务器将 Azure CLI 会话用于控制平面,并按需预配拥有的 Microsoft Entra ID 应用程序。 登录一次,并在没有客户端 ID 的情况下启动服务器:

    az login --allow-no-subscriptions
    
  • 预配应用模式:传递现有公共客户端 Microsoft Entra ID 应用程序,该应用程序已具有管理员同意的委派权限 FileStorageContainer.Selected、 和 FileStorageContainerType.Manage.AllFileStorageContainerTypeReg.Manage.All。 通过 SPE_CLIENT_ID and SPE_TENANT_ID 环境变量 (或 --client-id and --tenant-id 标志) 提供应用 ID 和租户 ID:

    {
      "servers": {
        "spe": {
          "type": "stdio",
          "command": "npx",
          "args": ["-y", "@microsoft/spe-mcp", "start"],
          "env": {
            "SPE_CLIENT_ID": "your-client-id",
            "SPE_TENANT_ID": "your-tenant-id"
          }
        }
      }
    }
    

重要

在适用的应用注册上配置重定向 URI:

  • 拥有 MCP 服务器的应用注册:在 “移动和桌面应用程序”下,添加 http://localhost 交互式登录。
  • 拥有 React 单页应用程序的应用注册 (SPA) :在单页应用程序下,添加 显示的本地应用 URL project_run_local 以及 返回的project_deploy已部署 URL 在预预配应用模式下,如果服务器无法更新应用注册,请手动添加这些重定向 URI。
  • 单独的 C# Web 应用注册:C# 基架使用 Web 重定向 URI 预配此注册。 不要将 C# 应用的重定向 URI 添加到拥有应用注册。

在 Microsoft Entra 管理中心的“应用注册>身份验证”下管理重定向 URI。

在引导模式下,第一个 SharePoint Embedded 调用会为一次性许可打开浏览器并缓存令牌,因此不需要单独的终端步骤。 有关完整的身份验证瀑布、令牌存储详细信息和无外设/自动化指南,请参阅 服务器自述文件。

试用

在客户端中注册服务器并完成 Azure CLI 登录后,要求 AI 客户端使用 SharePoint Embedded。 例如,在 Copilot 对话助手中:

  • “列出我的 SharePoint Embedded 容器类型。”
  • “为应用 ID abc-123 创建名为 Contoso Docs 的试用容器类型。”
  • “预配新的 SharePoint Embedded 应用并搭建 React 示例。”

客户端调用匹配工具,首次提示您同意,并报告结果。

控制服务器可执行的操作

服务器包含用于限制公开和可调用的工具的控件,这在希望 AI 客户端浏览环境而无需进行更改时非常有用:

  • 只读模式:播发并仅允许读取、列表、获取和搜索工具,并拒绝任何变异调用。 设置 --read-only 标志或 SPE_READ_ONLY 环境变量。
  • 工具配置文件:使用--tools标志或SPE_TOOLS环境变量将公开的工具限制为配置文件 (readOnly、 、 provisioningcontent或 admin) 或docsOnly以逗号分隔的工具名称列表。

有关其他操作选项,请参阅 配置 。

内容操作工具也受到单独的明确同意的限制,因此在你选择加入之前,AI 客户端无法读取或更改容器中的文件。 有关完整的安全模型,请参阅服务器存储库中的 安全控制 。