Использование сервера MCP для создания приложений с помощью агента кодирования

Применяется к: Для разработчиков

MCP-сервер SharePoint Embedded — это сервер протокола Model Context Protocol с открытым исходным кодом, позволяющий MCP-совместимым клиентам ИИ настраивать приложения SharePoint Embedded и управлять ими на естественном языке. Поддерживаемые клиенты включают GitHub Copilot в Visual Studio Code или CLI, рабочий стол Claude, Cursor и Azure AI Foundry. Он распространяется как @microsoft/spe-mcp пакет npm и запускается локально на вашем компьютере в качестве средства разработчика.

Вместо того, чтобы переходить по порталам и соединять команды Microsoft Graph и Azure CLI вручную, вы описываете то, что хотите, — "создать тип пробного контейнера для моего приложения", а клиент ИИ вызывает инструменты сервера для выполнения этой задачи.

Примечание.

SharePoint Embedded MCP Server — это средство разработчика с открытым кодом, выпущенное в ознакомительной версии. Его исходный код, полный справочник по инструменту и средство отслеживания проблем находятся в репозитории microsoft/SharePoint-Embedded-MCP-Server на GitHub.

Важно!

Чтобы начать разработку с использованием SharePoint Embedded, вам потребуется административный доступ к клиенту Microsoft 365.

Если у вас еще нет клиента, вы можете получить свой собственный с помощью программы для разработчиков Microsoft 365, Microsoft Customer Digital Experience или бесплатной пробной версии лицензии Microsoft 365 E3.

Доступные инструменты

Сервер предоставляет инструменты, которые клиент ИИ может вызывать от вашего имени.

Категория Что делают инструменты Репрезентативные инструменты
Подготовка и состояние Проверьте свое удостоверение вошедшего в систему удостоверение и готовность к подготовке. Создавайте приложения-владельцы, типы контейнеров, регистрации типов контейнеров и контейнеры, а также управляйте ими. 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
Документация Поиск и получение официальной документации по SharePoint Embedded и Microsoft Graph через сервер Microsoft Learn MCP. docs_search, docs_fetch

Полный версионный список инструментов, флагов командной строки и переменных среды см. в файле сведений о сервере.

Предварительные условия

  • Node.js версии 22 или более поздней.
  • Интерфейс командной строки Azure, вход в систему с помощью az login --allow-no-subscriptions. Флаг --allow-no-subscriptions необходим только для клиентов Microsoft 365, у которых нет подписки на Azure.
  • Клиент Microsoft 365 и доступ администратора клиента (глобальный администратор или администратор приложения).
  • MCP-совместимый клиент, например Visual Studio Code с GitHub Copilot, Claude Desktop или Cursor.

Установка и настройка

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 Chat в режиме агента для вызова его инструментов.

Claude Desktop

Добавьте сервер в %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

Любой клиент, поддерживающий серверы MCP через транспорт stdio, может запустить сервер с помощью той же npx -y @microsoft/spe-mcp start команды. Сведения о том, где зарегистрировать серверы MCP, см. в документации клиента.

Конфигурация

Сервер принимает операционную конфигурацию с помощью флагов CLI или эквивалентных переменных среды. Если вы установите оба параметра для одного параметра, флаг CLI имеет преимущественную силу.

Флаг интерфейса командной строки Переменная среды Описание
--client-id SPE_CLIENT_ID Идентификатор приложения Microsoft Entra ID (клиента) приложения-владельца. Пропустите его, чтобы использовать режим начальной загрузки.
--tenant-id SPE_TENANT_ID Идентификатор клиента Microsoft Entra ID. Если вы опустили его, сервер обнаруживает его из интерфейса командной строки Azure.
--read-only SPE_READ_ONLY Рекламировать и разрешать только средства чтения, перечисления, получения и поиска. Отклонение изменяющих вызовов.
--tools SPE_TOOLS Ограничьте инструменты профилем (readOnly, docsOnly, provisioningcontent, или admin) или списком разделенных запятыми имен инструментов.
--data-dir SPE_DATA_DIR Путь к кэшу маркеров и состоянию подготовки. Используйте уникальный абсолютный путь или ~/ путь для каждого экземпляра сервера. Предоставление общего доступа к этому каталогу может перезаписать кэшированное состояние проверки подлинности и подготовки. Не используйте путь относительно текущего каталога. Значение по умолчанию: ~/.spe-mcp.

Установите флаги в массиве args или переменные в объекте env конфигурации MCP клиента. Полный список вариантов с управлением версиями можно запустить npx -y @microsoft/spe-mcp start --help в справочнике по конфигурации сервера .

Выбор способа проверки подлинности сервера

Сервер поддерживает два режима работы.

  • Режим начальной загрузки (рекомендуется для начала работы): регистрация приложения не требуется. Сервер использует сеанс интерфейса командной строки Azure для уровня управления и по требованию подготавливает приложение, владеющее Microsoft Entra ID. Войдите один раз и запустите сервер без идентификатора клиента:

    az login --allow-no-subscriptions
    
  • Режим подготовки приложения: передача существующего общедоступного клиентского приложения Microsoft Entra ID, которое уже имеет делегированные разрешения администратора для FileStorageContainer.Selected, FileStorageContainerType.Manage.Allи FileStorageContainerTypeReg.Manage.All. Укажите идентификатор приложения и идентификатор клиента с помощью SPE_CLIENT_ID переменных среды and SPE_TENANT_ID (или флагов --client-id and --tenant-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 интерактивный вход.
  • Владение регистрацией одностраничного приложения (SPA) React: В разделе "Одностраничное приложение" добавьте URL-адрес локального приложения, отображаемый приложением, project_run_local и развернутый URL-адрес, возвращаемый приложением project_deploy. В режиме предварительной подготовки приложения добавьте эти URI перенаправления вручную, если сервер не может обновить регистрацию приложения.
  • Отдельная регистрация веб-приложений C#: шаблон C# подготавливает для этой регистрации URI веб-перенаправления. Не добавляйте URI перенаправления приложения C# при регистрации приложения-владельца.

Управление URI перенаправления в разделе "Регистрация приложений>Проверка подлинности" в Центре администрирования Microsoft Entra.

В режиме начальной загрузки первый вызов SharePoint Embedded открывает браузер для однократного согласия и кэширует маркер, поэтому отдельный шаг терминала не требуется. Полный каскад аутентификации, сведения о хранилище маркеров, а также руководство по автоматизации без монитора см. в файле сведений о сервере.

Попробуйте

Зарегистрировав сервер в клиенте и выполнив вход в интерфейс командной строки Azure, попросите ИИ-клиента поработать с SharePoint Embedded. Например, в чате Copilot:

  • "Список типов моих контейнеров SharePoint Embedded".
  • "Создать пробный тип контейнера с именем "Документы Contoso" для идентификатора приложения abc-123".
  • "Подготовьте новое приложение SharePoint Embedded и создайте пример React".

Клиент вызывает средства сопоставления, запрашивает согласие в первый раз и сообщает о результатах.

Управление возможностями сервера

Сервер включает элементы управления для ограничения инструментов, доступных и вызываемых. Это удобно, если вы хотите, чтобы ИИ-клиент исследовал вашу среду без изменений:

  • Режим только для чтения: объявлять и разрешать только средства чтения, перечисления, получения и поиска, а также отклонять любой изменяющийся вызов. Установите --read-only флаг или переменную SPE_READ_ONLY среды.
  • Профили инструментов: Ограничьте открытые инструменты профилем (readOnly, docsOnly, provisioningcontent, , или admin) или списком разделенных запятыми имен инструментов, используя --tools флаг или переменную SPE_TOOLS окружения.

Другие рабочие параметры см. в разделе "Конфигурация ".

Инструменты работы с содержимым также ограничены отдельным явным согласием, поэтому ИИ-клиент не сможет читать или изменять файлы в контейнерах, пока вы не дадите согласие. Полное описание модели безопасности см. в разделе Элементы управления безопасностью в репозитории сервера.