SharePoint在线MCP服务器🚀
](https://nodejs.org/en/download/)       
最强大的SharePoint MCP服务器,通过SharePoint REST API实现与SharePoint Online的无缝交互。
目录
- 用户 - 站点 - 区域设置 - 特性 - 列表 - 列表视图 - 列出内容类型 - 列出项目 - 网站内容类型 - 页面 - 文件 - 分类学
- 选项1:客户端秘密身份验证 - 配置步骤 - 仅允许SharePoint应用程序 - 使用客户端密码创建仅限SharePoint的应用程序 - 授予应用程序权限 - 选项2:证书身份验证 - 克隆仓库 - 使用证书创建Azure AD应用程序 - 授予管理员同意
- 证书身份验证配置 - 客户端秘密身份验证配置
- - 在本地运行MCP检查器 - MCP服务器上下文7 LLM文档 - SharePoint REST API文档 - 地方发展
SharePoint操作可用性
用户
|操作|可用|备注| |-----------|-----------|--| |列出网站用户|✅ | | |列出网站用户组|✅ | | |获取组成员|✅ | | |添加组成员|✅ | | |删除组成员|✅ | | |获取用户资料|❌ | /\_api/SP.UserProfiles。人事经理| |更新用户配置文件|❌ | |
站点
| 操作 | 可用 |
|---|---|
| 获取网站详细信息 | ✅ |
| 更新站点属性 | ✅ |
| 获取全球导航链接 | ✅ |
| 获取快速导航链接 | ✅ |
| 添加导航链接 | ✅ |
| 更新导航链接 | ✅ |
| 删除导航链接 | ✅ |
| 获取子网站 | ✅ |
| 创建子站点 | ❌ |
| 删除子站点 | ✅ |
区域设置
| 操作 | 可用 |
|---|---|
| 获取区域设置 | ✅ |
| 更新区域设置 | ❌ |
特性
| 操作 | 可用 |
|---|---|
| 获取网站集功能 | ✅ |
| 获取所有网站功能 | ✅ |
| 获取网站功能 | ✅ |
| 获取所有网站功能 | ✅ |
| 激活功能 | ❌ |
| 停用功能 | ❌ |
列表
|操作|可用|备注| |-----------|-----------|--| |获取所有列表|✅ | | |创建列表|✅ | | |将网站内容类型添加到列表|✅ | | |从列表中删除内容类型|✅ | | |将字段添加到列表内容类型|❌ | | |从列表内容类型中删除字段|❌ | | |更新列表|✅ | | |获取列表字段|✅ | | |创建列表字段|✅ | 仅适用于基本场景| |更新列表字段|✅ | | |删除列表字段|✅ | | |设置列表字段格式|❌ | | |设置列表视图格式|❌ | | |删除列表|✅ | |
列表视图
| 操作 | 可用 |
|---|---|
| 获取列表视图 | ✅ |
| 删除列表视图 | ✅ |
| 创建列表视图 | ✅ |
| 更新列表视图 | ✅ |
| 获取视图字段 | ✅ |
| 添加视图字段 | ✅ |
| 删除视图字段 | ✅ |
| 删除所有视图字段 | ✅ |
| 移动视图字段 | ✅ |
列出内容类型
|操作|可用|备注| |-----------|-----------|--| |获取所有列表内容类型|✅ | | |获取列表内容类型|✅ | | |创建列表内容类型|❌ | | |更新列表内容类型|✅ | 仅更改CT标题和组| |删除列表内容类型|✅ | |
列出项目
| 操作 | 可用 |
|---|---|
| 获取所有列表项 | ✅ |
| 创建列表项 | ✅ |
| 更新列表项 | ✅ |
| 删除列表项 | ✅ |
网站内容类型
|操作|可用|备注| |-----------|-----------|-| |获取所有网站内容类型|✅ | | |获取网站内容类型|✅ | | |创建网站内容类型|❌ | | |更新网站内容类型|✅ | 仅更改CT标题和组| |删除网站内容类型|✅ | |
页面
| 操作 | 可用 |
|---|---|
| 创建现代页面 | ✅ |
| 删除现代页面 | ✅ |
| 列出现代页面 | ✅ |
| 添加页面Web部件 | ❌ |
| 删除页面Web部件 | ❌ |
| 移动页面Web部件 | ❌ |
| 更新页面Web部件 | ❌ |
文件
| 操作 | 可用 |
|---|---|
| 创建文档 | ❌ |
| 上传文档 | ❌ |
| 移动文档 | ❌ |
| 复制文档 | ❌ |
分类学
| 操作 | 可用 |
|---|---|
| 获取分类组 | ❌ |
| 创建分类标签 | ❌ |
| 更新分类标签 | ❌ |
| 删除分类标签 | ❌ |
搜索
| 操作 | 可用 |
|---|---|
| 在SharePoint网站内搜索 | ✅ |
______________________________________________________________________
身份验证选项
服务器支持两种身份验证方法:
- 客户端秘密身份验证 -传统的客户端ID和密码。这是被弃用的仅限应用程序的身份验证,在2026年4月之后将无法使用。
- 证书身份验证 -使用Azure AD应用程序注册证书的更现代方法
选项1:客户端秘密身份验证(2026年4月后将不起作用)
此选项需要SharePoint管理员角色。
配置步骤
⚠️ 您需要是SharePoint租户管理员或全局管理员才能创建SharePoint应用程序。
仅允许SharePoint应用程序
- 从下载并安装SharePoint Online命令行管理程序 这里.
- 打开PowerShell并运行以下命令,以确保仅启用SharePoint应用程序:
Connect-SPOService -Url https://-admin.sharepoint.com/
Set-SPOTenant -DisableCustomAppAuthentication $false使用客户端密码创建仅限SharePoint的应用程序
- 打开
https://.sharepoint.com/_layouts/15/appregnew.aspx - 点击
Generate以创建新的客户端ID和密钥。 - 填写以下字段:
- 应用程序域: www.example.com (或您拥有的任何域名) - 重定向URL: http://example.com App registration
- 点击
Create创建应用程序。 - 复制
Client ID和Client Secret将价值观转移到安全的地方。你以后会需要它们的。
授予应用程序权限
- 打开
https://.sharepoint.com/_layouts/15/appinv.aspx - 粘贴
Client ID价值在App ID字段并单击Lookup.
- 将以下XML粘贴到
App Permission Request XML字段:
- 点击
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_config.json与Claude Desktop兼容
授予管理员同意
运行脚本后,您将获得一个管理员同意URL。在浏览器中打开它,并以全局管理员身份登录,以授予权限同意。
______________________________________________________________________
安装Node.js
安装Node.js版本: 22.14.0或更高版本
安装和配置Claude桌面
- 下载 克劳德桌面 并安装它。
- 在Claude Desktop中,转到
File>Settings>Developer.
- 单击编辑配置
- 在编辑器中打开claude_desktop_config.json配置文件。您还可以使用前面PowerShell脚本生成的claude_desktop_config.json文件。
- 将以下内容粘贴到配置中并更新
mcpServers拥有自己价值观的部分:
证书身份验证配置
{
"mcpServers": {
"server-sharepoint": {
"command": "npx",
"args": [
"-y",
"server-sharepoint"
],
"env": {
"AZURE_APPLICATION_ID": "",
"AZURE_APPLICATION_CERTIFICATE_THUMBPRINT": "",
"AZURE_APPLICATION_CERTIFICATE_PASSWORD": "",
"M365_TENANT_ID": ""
}
}
}
}
客户端秘密身份验证配置(不推荐)
{
"mcpServers": {
"server-sharepoint": {
"command": "npx",
"args": [
"-y",
"server-sharepoint"
],
"env": {
"SHAREPOINT_CLIENT_ID": "",
"SHAREPOINT_CLIENT_SECRET": "",
"M365_TENANT_ID": ""
}
}
}
} 💡了解如何从Entra ID获取租户ID
- 保存配置文件并重新启动Claude Desktop。确保通过任务托盘图标完全退出应用程序:
如何与MCP服务器“对话”
- 打开克劳德桌面,问一个问题,比如
Get me the list of lists from https://.sharepoint.com/sites/Dashboard-Communication. Present the results in a table form. don't use code.
______________________________________________________________________
对于贡献者
构建一个新的npm包
npm run build
npm publish
npx clear-npx-cache
npm cache clean --force在本地运行MCP检查器
npx @modelcontextprotocol/inspector node build/src/index.jsMCP服务器上下文7 LLM文档
SharePoint REST API文档
地方发展
- 克隆仓库
nvm use 22.14.0npm install- 在中更新MCP配置
claude_desktop_config.json文件。样品:
用于客户端秘密身份验证(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
