Skip to main content
Glama
Zerg00s

SharePoint Online MCP Server

by Zerg00s

SharePoint Online MCP-сервер

Это сервер MCP для Claude Desktop, который позволяет вам взаимодействовать с SharePoint Online с помощью SharePoint REST API. Он разработан для использования с приложением Claude Desktop , но может использоваться и другими клиентами MCP.

Выполнение

Компонент

Операция

Доступный

Пользователи

✅

Список пользователей сайта по ролям

✅

Список групп сайтов

✅

Получить участников группы

✅

Добавить участника группы

✅

Удалить участника группы

✅

Сайты

✅

Получить информацию о сайте

✅

Обновить свойства сайта

✅

Получить глобальные навигационные ссылки

✅

Получить быстрые навигационные ссылки

✅

Добавить навигационную ссылку

✅

Обновить навигационную ссылку

✅

Удалить навигационную ссылку

✅

Получить дочерние сайты

✅

Создать подсайт

❌

Удалить подсайт

✅

Списки

✅

Получить все списки

✅

Создать список

✅

Список обновлений

❌

Получить список полей

✅

Создать поле списка

✅

Обновить поле списка

✅

Удалить поле списка

✅

Установить форматирование поля списка

❌

Установить форматирование списка

❌

Удалить список

✅

Просмотры списка

✅

Получить список просмотров

✅

Удалить список просмотра

✅

Создать список просмотра

✅

Обновление списка просмотра

✅

Получить поля просмотра

✅

Добавить поле просмотра

✅

Удалить поле просмотра

✅

Удалить все поля просмотра

✅

Переместить поле просмотра

✅

Список элементов

✅

Получить все элементы списка

✅

Создать элемент списка

✅

Обновить элемент списка

✅

Удалить элемент списка

✅

Список типов контента

❌

Получить все типы контента списка

❌

Создать список Тип контента

❌

Тип содержимого списка обновлений

❌

Удалить список Тип контента

❌

Страницы

❌

Создать современную страницу

❌

Документы

❌

Создать документ

❌

Загрузить документ

❌

Копировать документ

❌

Таксономия

❌

Получить группу таксономии

❌

Создать метку таксономии

❌

Обновить метку таксономии

❌

Удалить метку таксономии

❌

Related MCP server: SharePoint MCP Server

Параметры аутентификации

Сервер поддерживает два метода аутентификации:

  1. Аутентификация по секретному клиенту — традиционный идентификатор клиента и секрет. Это аутентификация только для приложения, которая устарела и не будет работать после апреля 2026 года.

  2. Аутентификация с помощью сертификата — более современный метод с использованием регистрации приложения Azure AD с сертификатом

Вариант 1: Аутентификация по секретному ключу клиента (не будет работать после апреля 2026 г.)

Для этого параметра требуется роль администратора SharePoint.

Этапы конфигурации

⚠️ Для создания приложения SharePoint вам необходимо быть администратором клиента SharePoint или глобальным администратором.

Разрешить приложения, поддерживающие только SharePoint

  • Загрузите и установите SharePoint Online Management Shell здесь .

  • Откройте PowerShell и выполните следующую команду, чтобы убедиться, что приложения, работающие только с SharePoint, включены:

Connect-SPOService -Url https://<your-tenant>-admin.sharepoint.com/
Set-SPOTenant -DisableCustomAppAuthentication $false

Создание приложения только для SharePoint с использованием Client Secret

  • Откройте https://<your-tenant>.sharepoint.com/_layouts/15/appregnew.aspx

  • Нажмите Generate , чтобы создать новый идентификатор клиента и секрет.

  • Заполните следующие поля:

    • Домен приложения: www.example.com (или любой другой домен, которым вы владеете)

    • URL-адрес перенаправления: http://example.comРегистрация приложения

  • Нажмите Create , чтобы создать приложение.

  • Скопируйте значения Client ID и Client Secret в безопасное место. Они вам понадобятся позже.

Предоставить разрешения приложению

  • Откройте https://<your-tenant>.sharepoint.com/_layouts/15/appinv.aspx

  • Вставьте значение Client ID в поле App ID и нажмите Lookup .Искать

  • Вставьте следующий XML-код в поле App Permission Request XML :

<AppPermissionRequests AllowAppOnlyPolicy="true">
   <AppPermissionRequest Scope="http://sharepoint/content/tenant" Right="FullControl" />
</AppPermissionRequests>
  • Нажмите Create , а затем Trust It , чтобы предоставить приложению разрешения.Доверься этому

Вариант 2: Аутентификация по сертификату

Аутентификация на основе сертификатов обеспечивает лучшую безопасность, чем клиентские секреты. Она использует сертификат для подтверждения подлинности приложения вместо общего секрета.

⚠️ Для этого параметра требуется роль глобального администратора для предоставления необходимых разрешений приложению.

Клонировать репозиторий

git clone https://github.com/Zerg00s/server-sharepoint.git

Создать приложение Azure AD с сертификатом

Перейдите к клонированному репозиторию и используйте предоставленный скрипт PowerShell для создания приложения Azure AD с сертификатом:

.\Create-SPAppCertificate.ps1 -AppName "SharePoint-Server-MCP" -CertName "SharePoint-Server-MCP-Cert" -CertPassword "YourSecureP@ssw0rd!"

Этот сценарий будет

  1. Создайте самоподписанный сертификат в своем хранилище сертификатов.

  2. Зарегистрируйте приложение Azure AD

  3. Добавить сертификат в приложение

  4. Настройте необходимые разрешения SharePoint

  5. Сгенерировать файлы конфигурации с необходимыми настройками

  6. Выведите claude_desktop_config.json , совместимый с Claude Desktop

Предоставить согласие администратора

После запуска скрипта вы получите URL-адрес согласия администратора. Откройте его в браузере и войдите в систему как глобальный администратор, чтобы предоставить согласие на разрешения.

Установить Node.js

Установите Node.js версии: 22.14.0 или более поздней

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

  • Загрузите Claude Desktop и установите его.

  • В Claude Desktop перейдите в File > Settings > Developer .Файл > Настройки

  • Нажмите «Изменить конфигурацию».Конфигурация

  • Откройте файл конфигурации claude_desktop_config.json в редакторе. Вы также можете использовать файл claude_desktop_config.json, сгенерированный скриптом PowerShell ранее.

  • Вставьте следующее в конфигурацию и обновите раздел mcpServers , указав собственные значения:

Для аутентификации сертификата

{
  "mcpServers": {
    "server-sharepoint": {
      "command": "npx",
      "args": [
        "-y",
        "server-sharepoint"
      ],
      "env": {
        "AZURE_APPLICATION_ID": "<your-app-id>",
        "AZURE_APPLICATION_CERTIFICATE_THUMBPRINT": "<your-certificate-thumbprint>",
        "AZURE_APPLICATION_CERTIFICATE_PASSWORD": "<your-certificate-password>",
        "M365_TENANT_ID": "<your-tenant-id>"
      }
    }
  }
} 

Для аутентификации по секретному ключу клиента (не рекомендуется)

{
  "mcpServers": {
    "server-sharepoint": {
      "command": "npx",
      "args": [
        "-y",
        "server-sharepoint"
      ],
      "env": {
        "SHAREPOINT_CLIENT_ID": "<your-client-id>",
        "SHAREPOINT_CLIENT_SECRET": "<your-client-secret>",
        "M365_TENANT_ID": "<your-tenant-id>"
      }
    }
  }
} 

💡 Узнайте, как получить идентификатор арендатора от Entra ID

  • Сохраните файл конфигурации и перезапустите Claude Desktop. Убедитесь, что вы полностью вышли из приложения с помощью значка в трее задач:Приложение Quick Claude

Как «общаться» с сервером MCP

  • Откройте Claude Desktop и задайте вопрос типа Get me the list of lists from https://<your-tenant>.sharepoint.com/sites/Dashboard-Communication. Present the results in a table form. don't use code .

Пример результата

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

Управление сайтом

  • getSite — получите подробную информацию о сайте SharePoint

  • updateSite — обновление свойств сайта, включая заголовок, описание и URL-адрес логотипа.

  • getSubsites — Получить все дочерние сайты с сайта

  • deleteSubsite - Удалить подсайт (требуется подтверждение)

  • getGlobalNavigationLinks — Получить глобальные (верхние) навигационные ссылки

  • getQuickNavigationLinks — Получить быстрые (левые) навигационные ссылки

  • addNavigationLink — Добавить навигационную ссылку к глобальной или быстрой навигации

  • updateNavigationLink — обновить существующую навигационную ссылку

  • deleteNavigationLink — Удалить навигационную ссылку

  • getSiteUsers — получение пользователей с сайта с дополнительной фильтрацией по ролям (владельцы, участники, посетители)

  • getSiteGroups — получить все группы SharePoint для сайта

Управление списком

  • getLists — получить все доступные списки на сайте SharePoint

  • createList — создание нового списка или библиотеки документов с пользовательскими настройками и дополнительным пользовательским URL-адресом.

  • deleteList — удалить список или библиотеку документов (требуется подтверждение)

  • getListFields — получение подробной информации о полях/столбцах в списке

  • createListField — создание нового поля/столбца с помощью двухэтапного процесса: сначала с чистым именем для правильной генерации внутреннего имени, затем обновление до желаемого отображаемого имени с пробелами.

  • updateListField — обновление поля, включая отображаемое имя, варианты выбора и другие свойства.

  • deleteListField — удаление поля/столбца из списка (требуется подтверждение)

  • getListViews — Получить все представления для списка с необязательными полями

  • createListView — создание пользовательского представления с выбранными полями и фильтрами

  • updateListView — обновление настроек и полей существующего представления

  • deleteListView — удаление представления из списка (нельзя удалить представления по умолчанию)

Управление полем просмотра списка

  • getViewFields — Получить все поля в определенном списке

  • addViewField — Добавить поле в список

  • removeViewField — удаление поля из списка

  • removeAllViewFields — удалить все поля из списка

  • moveViewFieldTo — перемещение поля в определенную позицию в списке.

Управление элементами списка

  • getListItems — Получить все элементы из определенного списка

  • createListItem — создание нового элемента с пользовательскими значениями полей

  • updateListItem — обновление значений полей существующего элемента

  • deleteListItem — Удалить элемент из списка

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

  • getGroupMembers — получить всех участников определенной группы SharePoint

  • addGroupMember — Добавить пользователя в группу SharePoint

  • removeGroupMember — удаление пользователя из группы SharePoint


Для авторов

  • Создайте новый пакет npm

npm run build
npm publish
npx clear-npx-cache
npm cache clean --force

Запустите MCP Inspector локально

npx @modelcontextprotocol/inspector node build/src/index.js

Документация MCP Server Context 7 для LLM

[ [https://context7.com/modelcontextprotocol/servers]\\\\(Документация](https://context7.com/modelcontextprotocol/servers%5D%5C(MCP) MCP Server Context 7 для LLM)

Местное развитие

  • Клонировать репозиторий

  • nvm use 22.14.0

  • npm install

  • Обновите конфигурацию MCP в файле claude_desktop_config.json . Пример:

Для аутентификации секретного клиента (не будет работать после апреля 2026 г.)

{
"mcpServers": {
  "sharepoint": {
      "command": "node",
      "args": [
        "C:\\trash\\server-sharepoint\\build\\index.js"
      ],
      "env": {
        "SHAREPOINT_CLIENT_ID": "aaa2ce0f-7c97-4e51-acd9-4ac99e6831d0",
        "SHAREPOINT_CLIENT_SECRET": "bbb0OFF+aWkua2NJRERUMGduMmhsWDhGUTVPUHJZLXd5dldSemNPUw==",
        "M365_TENANT_ID": "22bcd981-eaa6-475f-aac3-3afca0c35261"
      }
    }
  }
}

Для аутентификации сертификата (рекомендуется)

{
"mcpServers": {
  "sharepoint": {
      "command": "node",
      "args": [
        "C:\\trash\\server-sharepoint\\build\\index.js"
      ],
      "env": {
        "AZURE_APPLICATION_ID": "5bc793c7-3eb0-4b86-88bf-b464b2459c4c",
        "AZURE_APPLICATION_CERTIFICATE_THUMBPRINT": "3D38D1D8AC3228CAD35E527D1105101B0B90CE86",
        "AZURE_APPLICATION_CERTIFICATE_PASSWORD": "TemporaryP@ssw0rd",
        "M365_TENANT_ID": "11bcd981-eaa6-475f-aac3-3afca0c35261"
      }
    }
  }
}
  • Внести изменения в код

  • Соберите код npm run build

  • Тест с помощью MCP Inspector: npx @modelcontextprotocol/inspector node build/src/index.js -y

Related MCP Connectors

Related MCP Servers