SharePoint证书认证服务器

一个通过证书认证实现与Microsoft SharePoint无缝集成的MCP服务器,支持文档、文件夹和其他SharePoint资源的安全交互。

  • by peacockery-studio
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 peacockery-studio/mcp-sharepoint-cert

使用说明

SharePoint MCP服务器(证书认证)

一个全面的MCP服务器,用于与Microsoft SharePoint无缝集成,使用 基于证书的身份验证。使MCP客户端能够安全地与文档、文件夹和其他SharePoint资源交互,而无需客户端机密。

快速开始

1.安装

使用uvx(推荐):

uvx mcp-sharepoint-cert

或者用uv安装:

uv pip install mcp-sharepoint-cert

2.运行交互式安装程序

uvx mcp-sharepoint-cert-setup

安装向导将:

  1. 生成用于身份验证的证书
  2. 指导您完成Azure配置
  3. 收集您的Azure应用程序详细信息
  4. 询问你使用哪种AI助手(克劳德桌面、克劳德代码、光标、风帆)
  5. 输出a AI就绪提示 粘贴到助手中以完成配置

向导生成 INSTALL_WITH_AI.md -只需将其粘贴到您的AI助手中,让它为您配置一切!

3.配置Azure(一次性设置)

  1. 首选 Azure门户 → 应用程序注册 → 新注册
  2. 命名它(例如。, mcp-sharepoint),单击 注册
  3. 保存 应用程序(客户端)ID 和 目录(租户)ID
  4. 首选 证书和秘密 → 证书 → 上传证书
    • 上传 certs/sharepoint.crt 由setup命令生成的文件
  5. 首选 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-thumbprint

5.独立运行

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 批之间的延迟(秒)

发展

需求

设置

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千记