返回市场
mcp-共享点

mcp-共享点

作者:Sofias-ai44 星标更新:2025-11-15

项目介绍

SharePoint MCP Server

License: MIT PyPI version

一个全面的MCP服务器,用于与Microsoft SharePoint无缝集成,使MCP客户端能够与文档、文件夹和其他SharePoint资源进行交互。该服务器以高效和易用性为核心,支持文本和二进制文件操作。由Sofias tech开发。

<a href="https://glama.ai/mcp/servers/@Sofias-ai/mcp-sharepoint"> <img width="380" height="200" src="https://gips2.baidu.com/it/u=2848749928,2812171083&fm=3081&app=3081&f=PNG?w=760&h=400" alt="SharePoint Server MCP server" /> </a>

✨ 主要特性

此服务器通过模型上下文协议(MCP)提供了一个简洁高效的接口来访问SharePoint资源,并优化了文档管理和内容处理的操作。

🛠️ 可用工具

服务器实现了10个全面的工具,用于完整的SharePoint管理:

📁 文件夹管理

  • List_SharePoint_Folders: 列出指定目录或根目录下的所有文件夹
  • Create_Folder: 在指定目录下创建新文件夹
  • Delete_Folder: 安全地从SharePoint中删除空文件夹
  • Get_SharePoint_Tree: 获取SharePoint文件夹结构的递归树视图

📄 文档管理

  • List_SharePoint_Documents: 获取指定文件夹内的所有文档及其元数据
  • Get_Document_Content: 检索并处理文档内容(支持从PDF、Word、Excel中提取文本)
  • Upload_Document: 将新文档上传到指定文件夹(支持文本和二进制内容)
  • Upload_Document_From_Path: 直接从本地文件系统上传大文件
  • Update_Document: 更新现有文档的内容
  • Delete_Document: 从指定文件夹中删除文档

🎯 高级内容处理

服务器包括智能内容提取能力:

  • 📊 Excel 文件: 从所有工作表中提取数据,转换为可读的文本格式(每个工作表前50行)
  • 📝 Word 文档: 处理段落和表格,保持结构
  • 📄 PDF 文件: 使用PyMuPDF进行全文提取,准确解析内容
  • 📃 文本文件: 直接处理各种文本格式(JSON、XML、HTML、MD、代码文件)
  • 🔧 二进制支持: 基于Base64编码/解码,实现无缝的二进制文件处理

🏗️ 架构

服务器设计考虑了资源效率和维护性:

  • 高效使用SharePoint API,选择性加载属性以最小化带宽
  • 智能错误处理,通过装饰器实现更干净、可靠的代码
  • 清晰的责任分离,在资源管理和工具实现之间
  • 优化的内容处理,自动检测类型,处理文本和二进制文件
  • 可配置的树形操作,具有深度限制和批量处理大型目录的能力
  • 异步/等待支持,实现非阻塞操作

设置

  1. 在Azure AD中注册一个应用程序,并赋予适当的SharePoint权限
  2. 获取已注册应用的客户端ID和客户端密钥
  3. 确定您的SharePoint站点URL以及您想要操作的文档库路径

环境变量

服务器需要以下环境变量:

必需变量

  • SHP_ID_APP: 您的Azure AD应用程序客户端ID
  • SHP_ID_APP_SECRET: 您的Azure AD应用程序客户端密钥
  • SHP_SITE_URL: 您的SharePoint站点URL
  • SHP_DOC_LIBRARY: 文档库路径(默认:"Shared Documents/mcp_server")
  • SHP_TENANT_ID: 您的Microsoft租户ID

可选配置变量

  • SHP_MAX_DEPTH: 树形操作的最大文件夹深度(默认:15)
  • SHP_MAX_FOLDERS_PER_LEVEL: 每级处理的最大文件夹数(默认:100)
  • SHP_LEVEL_DELAY: 处理各级之间的延迟(秒,默认:0.5)

快速开始

安装

pip install -e .

或者从PyPI安装:

pip install mcp-sharepoint-server

使用uv:

uv pip install mcp-sharepoint-server

Claude Desktop 集成

要与Claude Desktop集成,请更新配置文件:

Windows: %APPDATA%/Claude/claude_desktop_config.json macOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json

标准集成

"mcpServers": {
  "sharepoint": {
    "command": "mcp-sharepoint",
    "env": {
      "SHP_ID_APP": "your-app-id",
      "SHP_ID_APP_SECRET": "your-app-secret",
      "SHP_SITE_URL": "https://your-tenant.sharepoint.com/sites/your-site",
      "SHP_DOC_LIBRARY": "Shared Documents/your-folder",
      "SHP_TENANT_ID": "your-tenant-id",
      "SHP_MAX_DEPTH": "15",
      "SHP_MAX_FOLDERS_PER_LEVEL": "100",
      "SHP_LEVEL_DELAY": "0.5"
    }
  }
}

使用uvx

"mcpServers": {
  "sharepoint": {
    "command": "uvx",
    "args": [
      "mcp-sharepoint"
    ],
    "env": {
      "SHP_ID_APP": "your-app-id",
      "SHP_ID_APP_SECRET": "your-app-secret",
      "SHP_SITE_URL": "https://your-tenant.sharepoint.com/sites/your-site",
      "SHP_DOC_LIBRARY": "Shared Documents/your-folder",
      "SHP_TENANT_ID": "your-tenant-id",
      "SHP_MAX_DEPTH": "15",
      "SHP_MAX_FOLDERS_PER_LEVEL": "100",
      "SHP_LEVEL_DELAY": "0.5"
    }
  }
}

开发

要求

  • Python 3.10+
  • requirements.txtpyproject.toml 中列出的依赖项

本地开发

  1. 克隆仓库
  2. 创建虚拟环境:
    python -m venv .venv
    source .venv/bin/activate  # Windows: .venv\Scripts\activate
    
  3. 安装开发依赖项:
    pip install -e .
    
  4. 创建一个.env文件,包含您的SharePoint凭据:
    SHP_ID_APP=your-app-id
    SHP_ID_APP_SECRET=your-app-secret
    SHP_SITE_URL=https://your-tenant.sharepoint.com/sites/your-site
    SHP_DOC_LIBRARY=Shared Documents/your-folder
    SHP_TENANT_ID=your-tenant-id
    
  5. 运行服务器:
    python -m mcp_sharepoint
    

调试

对于调试MCP服务器,您可以使用MCP Inspector

npx @modelcontextprotocol/inspector -- python -m mcp_sharepoint

许可证

本项目采用MIT许可证 - 查看LICENSE文件获取详情。

版权所有 © 2025 sofias tech