使用说明
SharePoint在线MCP服务器🚀
最强大的SharePoint MCP服务器,通过SharePoint REST API实现与SharePoint Online的无缝交互。
此MCP服务器设计用于 克劳德桌面 应用程序,但也可以由其他MCP客户端使用,例如 克莱恩 也。
目录
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://<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_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": "<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>"
}
}
}
}
- 保存配置文件并重新启动Claude Desktop。确保通过任务托盘图标完全退出应用程序:
如何与MCP服务器“对话”
- 打开克劳德桌面,问一个问题,比如
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.
对于贡献者
构建一个新的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 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