SharePoint MCP服务器(证书认证)
](https://badge.fury.io/py/mcp-sharepoint-cert)     
一个全面的MCP服务器,用于与Microsoft SharePoint无缝集成,使用 基于证书的身份验证。使MCP客户端能够安全地与文档、文件夹和其他SharePoint资源交互,而无需客户端机密。
快速开始
1.安装
使用uvx(推荐):
uvx mcp-sharepoint-cert或者用uv安装:
uv pip install mcp-sharepoint-cert2.运行交互式安装程序
uvx mcp-sharepoint-cert-setup安装向导将:
- 生成用于身份验证的证书
- 指导您完成Azure配置
- 收集您的Azure应用程序详细信息
- 询问你使用哪种AI助手(克劳德桌面、克劳德代码、光标、风帆)
- 输出a AI就绪提示 粘贴到助手中以完成配置
向导生成 INSTALL_WITH_AI.md -只需将其粘贴到您的AI助手中,让它为您配置一切!
3.配置Azure(一次性设置)
- 首选 Azure门户 → 应用程序注册 → 新注册
- 命名它(例如。,
mcp-sharepoint),单击 注册 - 保存 应用程序(客户端)ID 和 目录(租户)ID
- 首选 证书和秘密 → 证书 → 上传证书
- 上传 certs/sharepoint.crt 由setup命令生成的文件
- 首选 API权限 → 添加权限 → SharePoint → 应用程序权限
- 添加 Sites.FullControl.All (或 Sites.ReadWrite.All 仅用于读/写) - 点击 授予管理员同意
4.配置您的AI助手
安装向导输出 INSTALL_WITH_AI.md -将此粘贴到您的AI助手(Claude、Cursor等)中,它将自动为您配置MCP服务器。
或手动配置 -创建a .env 文件:
SHP_ID_APP=your-application-client-id
SHP_TENANT_ID=your-directory-tenant-id
SHP_SITE_URL=https://your-tenant.sharepoint.com/sites/your-site
SHP_DOC_LIBRARY=Shared Documents
SHP_CERT_PATH=certs/sharepoint.pem
SHP_CERT_THUMBPRINT=your-certificate-thumbprint5.独立运行
mcp-sharepoint-cert您应该看到:
Connected to SharePoint: YourSiteName
MCP server ready - waiting for connections...Claude桌面集成
添加到您的Claude Desktop配置中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"sharepoint": {
"command": "uvx",
"args": ["mcp-sharepoint-cert"],
"env": {
"SHP_ID_APP": "your-app-id",
"SHP_TENANT_ID": "your-tenant-id",
"SHP_SITE_URL": "https://your-tenant.sharepoint.com/sites/your-site",
"SHP_DOC_LIBRARY": "Shared Documents",
"SHP_CERT_PATH": "/path/to/certs/sharepoint.pem",
"SHP_CERT_THUMBPRINT": "your-thumbprint"
}
}
}
}可用工具
服务器提供 14工具 对于完整的SharePoint管理:
文件夹管理
List_SharePoint_Folders-列出目录中的文件夹Create_Folder-创建新文件夹Delete_Folder-删除空文件夹Get_SharePoint_Tree-获取递归文件夹结构
文档管理
List_SharePoint_Documents-列出包含元数据的文档Get_Document_Content-读取文档内容(支持PDF、Word、Excel)Upload_Document-上传新文档(文本或二进制)Upload_Document_From_Path-从本地文件系统上传Update_Document-更新现有文档Delete_Document-删除文档Download_Document-下载到本地文件系统
元数据操作
Get_File_Metadata-获取文件元数据字段Update_File_Metadata-更新文件元数据
内容处理
常见文件类型的智能内容提取:
- PDF -通过PyMuPDF进行全文提取
- Word(.docx) -段落和表格
- Excel(.xlsx) -所有纸张,每张前50行
- 文本文件 -JSON、XML、HTML、MD、代码文件
- 二进制 -其他类型的Base64编码
环境变量
必需
| 变量 | 描述 |
|---|---|
SHP_ID_APP | Azure AD应用程序客户端ID |
SHP_TENANT_ID | Microsoft租户ID |
SHP_SITE_URL | SharePoint网站URL |
SHP_DOC_LIBRARY | 文档库路径(默认: Shared Documents) |
SHP_CERT_PATH | 证书PEM文件的路径 |
SHP_CERT_THUMBPRINT | 证书指纹(SHA1) |
可选的
| 变量 | 默认值 | 描述 |
|---|---|---|
SHP_MAX_DEPTH | 15 | 树操作的最大文件夹深度 |
SHP_MAX_FOLDERS_PER_LEVEL | 100 | 每层最多可容纳100个文件夹 |
SHP_LEVEL_DELAY | 0.5 | 级别之间的延迟(秒) |
SHP_BATCH_DELAY | 0.1 | 批之间的延迟(秒) |
发展
需求
- Python 3.12+
- 紫外线
设置
git clone https://github.com/peacockery-studio/mcp-sharepoint-cert.git
cd mcp-sharepoint-cert
uv sync --group dev在本地运行
uv run mcp-sharepoint-cert代码质量
uv run ruff check src/ # Lint
uv run ruff format src/ # Format
uv run ty check src/ # Type check
uv run pytest # Tests使用MCP检查器进行调试
npx @modelcontextprotocol/inspector -- uv run mcp-sharepoint-cert故障排除
“身份验证失败”(401)
- 验证证书是否已上传到Azure AD
- 检查指纹匹配
- 确保证书未过期
“拒绝访问”(403)
- 授予API权限的管理员同意
- 验证
Sites.FullControl.All或Sites.ReadWrite.All被授予
“未找到网站”(404)
- 检查
SHP_SITE_URL是正确的 - 验证站点是否存在且可访问
许可证
MIT许可证-请参阅 许可证 了解详情。
版权所有(c)2025千记
