🚀 SharePoint Online MCP Server
SharePoint Online MCP Server 是一款功能強大的服務器,它能夠藉助 SharePoint REST API 與 SharePoint Online 實現無縫交互。該服務器專為與 Claude Desktop 應用搭配使用而設計,但也可被其他 MCP 客戶端(如 Cline)使用。
🚀 快速開始
若要使用 SharePoint Online MCP Server,需按照以下步驟操作:
- 完成身份驗證配置(包含客戶端密鑰驗證或證書驗證)。
- 安裝 Node.js(版本 22.14.0 或更高)。
- 安裝並配置 Claude Desktop。
- 開始與 MCP 服務器進行交互。
✨ 主要特性
- 強大的交互能力:藉助 SharePoint REST API,實現與 SharePoint Online 的無縫交互。
- 多客戶端支持:不僅能與 Claude Desktop 搭配使用,還能被其他 MCP 客戶端(如 Cline)使用。
- 多種身份驗證方式:支持客戶端密鑰驗證和證書驗證兩種方式。
📦 安裝指南
安裝 Node.js
安裝 Node.js 版本 22.14.0 或更高。
安裝並配置 Claude Desktop
- 下載 Claude Desktop 並進行安裝。
- 在 Claude Desktop 中,依次點擊
File
> Settings
> Developer
。
- 點擊
Edit Config
。
- 在編輯器中打開
claude_desktop_config.json
配置文件。你也可以使用之前 PowerShell 腳本生成的 claude_desktop_config.json
文件。
- 將以下內容粘貼到配置中,並根據自身情況更新
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 獲取租戶 ID
- 保存配置文件並重啟 Claude Desktop。確保通過任務欄圖標完全退出應用。
💻 使用示例
基礎用法
在 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
。

📚 詳細文檔
SharePoint 操作可用性
用戶操作
操作 |
是否可用 |
備註 |
列出網站用戶 |
✅ |
|
列出網站組 |
✅ |
|
獲取組成員 |
✅ |
|
添加組成員 |
✅ |
|
刪除組成員 |
✅ |
|
獲取用戶配置文件 |
❌ |
/_api/SP.UserProfiles.PeopleManager |
更新用戶配置文件 |
❌ |
|
網站操作
操作 |
是否可用 |
獲取網站詳情 |
✅ |
更新網站屬性 |
✅ |
獲取全局導航鏈接 |
✅ |
獲取快速導航鏈接 |
✅ |
添加導航鏈接 |
✅ |
更新導航鏈接 |
✅ |
刪除導航鏈接 |
✅ |
獲取子網站 |
✅ |
創建子網站 |
❌ |
刪除子網站 |
✅ |
區域設置操作
操作 |
是否可用 |
獲取區域設置 |
✅ |
更新區域設置 |
❌ |
功能操作
操作 |
是否可用 |
獲取網站集功能 |
✅ |
獲取所有網站功能 |
✅ |
獲取網站功能 |
✅ |
獲取所有網站功能 |
✅ |
激活功能 |
❌ |
停用功能 |
❌ |
列表操作
操作 |
是否可用 |
備註 |
獲取所有列表 |
✅ |
|
創建列表 |
✅ |
|
向列表添加網站內容類型 |
✅ |
|
從列表中刪除內容類型 |
✅ |
|
向列表內容類型添加字段 |
❌ |
|
從列表內容類型刪除字段 |
❌ |
|
更新列表 |
✅ |
|
獲取列表字段 |
✅ |
|
創建列表字段 |
✅ |
僅適用於基本場景 |
更新列表字段 |
✅ |
|
刪除列表字段 |
✅ |
|
設置列表字段格式 |
❌ |
|
設置列表視圖格式 |
❌ |
|
刪除列表 |
✅ |
|
列表視圖操作
操作 |
是否可用 |
獲取列表視圖 |
✅ |
刪除列表視圖 |
✅ |
創建列表視圖 |
✅ |
更新列表視圖 |
✅ |
獲取視圖字段 |
✅ |
添加視圖字段 |
✅ |
刪除視圖字段 |
✅ |
刪除所有視圖字段 |
✅ |
移動視圖字段 |
✅ |
列表內容類型操作
操作 |
是否可用 |
備註 |
獲取所有列表內容類型 |
✅ |
|
獲取列表內容類型 |
✅ |
|
創建列表內容類型 |
❌ |
|
更新列表內容類型 |
✅ |
僅可更改 CT 標題和組 |
刪除列表內容類型 |
✅ |
|
列表項操作
操作 |
是否可用 |
獲取所有列表項 |
✅ |
創建列表項 |
✅ |
更新列表項 |
✅ |
刪除列表項 |
✅ |
網站內容類型操作
操作 |
是否可用 |
備註 |
獲取所有網站內容類型 |
✅ |
|
獲取網站內容類型 |
✅ |
|
創建網站內容類型 |
❌ |
|
更新網站內容類型 |
✅ |
僅可更改 CT 標題和組 |
刪除網站內容類型 |
✅ |
|
頁面操作
操作 |
是否可用 |
創建現代頁面 |
✅ |
刪除現代頁面 |
✅ |
列出現代頁面 |
✅ |
添加頁面 Web 部件 |
❌ |
刪除頁面 Web 部件 |
❌ |
移動頁面 Web 部件 |
❌ |
更新頁面 Web 部件 |
❌ |
文檔操作
操作 |
是否可用 |
創建文檔 |
❌ |
上傳文檔 |
❌ |
移動文檔 |
❌ |
複製文檔 |
❌ |
分類操作
操作 |
是否可用 |
獲取分類組 |
❌ |
創建分類標籤 |
❌ |
更新分類標籤 |
❌ |
刪除分類標籤 |
❌ |
搜索操作
操作 |
是否可用 |
在 SharePoint 網站內搜索 |
✅ |
身份驗證選項
服務器支持兩種身份驗證方法:
- 客戶端密鑰驗證:傳統的客戶端 ID 和密鑰驗證方式。這是一種僅應用程序的身份驗證方法,已被棄用,2026 年 4 月後將無法使用。
- 證書驗證:一種更現代的方法,使用帶有證書的 Azure AD 應用註冊。
選項 1:客戶端密鑰驗證(2026 年 4 月後將無法使用)
此選項需要 SharePoint 管理員角色。
配置步驟
⚠️ 重要提示
你需要是 SharePoint 租戶管理員或全局管理員才能創建 SharePoint 應用。
允許僅 SharePoint 應用
- 從 此處 下載並安裝 SharePoint Online Management Shell。
- 打開 PowerShell,運行以下命令,確保僅 SharePoint 應用已啟用:
Connect-SPOService -Url https://<your-tenant>-admin.sharepoint.com/
Set-SPOTenant -DisableCustomAppAuthentication $false
創建帶有客戶端密鑰的僅 SharePoint 應用
- 打開
https://<your-tenant>.sharepoint.com/_layouts/15/appregnew.aspx
。
- 點擊
Generate
創建新的客戶端 ID 和密鑰。
- 填寫以下字段:
- 應用域名:
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!"
此腳本將執行以下操作:
- 在你的證書存儲中創建自簽名證書。
- 註冊 Azure AD 應用程序。
- 將證書添加到應用程序。
- 配置所需的 SharePoint 權限。
- 生成包含必要設置的配置文件。
- 輸出與 Claude Desktop 兼容的
claude_desktop_config.json
文件。
授予管理員同意
運行腳本後,你將獲得一個管理員同意 URL。在瀏覽器中打開該 URL,並以全局管理員身份登錄,以授予權限同意。
貢獻者指南
構建新的 npm 包
npm run build
npm publish
npx clear-npx-cache
npm cache clean --force
本地運行 MCP 檢查器
npx @modelcontextprotocol/inspector node build/src/index.js
MCP 服務器上下文 7 針對大語言模型的文檔
MCP 服務器上下文 7 針對大語言模型的文檔
SharePoint REST API 文檔
本地開發
- 克隆倉庫
nvm use 22.14.0
npm install
- 更新
claude_desktop_config.json
文件中的 MCP 配置。示例如下:
客戶端密鑰驗證(2026 年 4 月後將無法使用)
{
"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 檢查器進行測試:
npx @modelcontextprotocol/inspector node build/src/index.js -y
。
📄 許可證
本項目採用 MIT 許可證,詳情請見 LICENSE 文件。