SharePoint Docs MCP Server

使用说明(Markdown格式)

  • 项目简介

    • 该仓库实现了一个 MCP 服务器,用于向 LLM 客户端提供 SharePoint 文档相关的资源、工具和提示模板等上下文信息。核心功能包括文档搜索、文件下载、以及对 Excel 文件的解析与查询等能力。
  • 主要功能点

    • sharepoint_docs_search
      • 在 SharePoint(包含站点与 OneDrive)中按关键词搜索文档
      • 支持最大结果数、文件扩展名过滤
      • 支持返回详细信息或简化信息(详细时包含标题、路径、大小、修改日期、扩展名、摘要等,简化时仅返回标题、路径、扩展名)
    • sharepoint_docs_download
      • 根据给定路径下载文件并返回 Base64 编码的内容
    • sharepoint_excel
      • 读取或搜索 SharePoint 上的 Excel 文件
      • 支持按工作表、单元格范围读取,或按查询关键字搜索单元格
      • 支持格式信息(字体、填充、单元格合并、行高列宽等)的可选包含
      • 支持 header_rows、data_rows 的分离,以及 metadata_only 模式
      • 支持冻结窗格、多工作表处理、多个范围/行列大小的安全限制
    • tool 注册与禁用
      • 注册三个工具并允许通过环境变量禁用部分工具
    • 错误处理
      • 集成统一的错误分类与自然语言描述,便于对话式代理理解
    • 认证与客户端获取
      • 支持证书模式(单例 SharePoint 客户端)和 OAuth 模式(通过 FastMCP 的上下文传递令牌)
  • 安装步骤

      1. 确保使用 Python 3.12 环境
      1. 安装并运行运行环境(示例:通过 uvx 从 GitHub 直接启动,或本地安装并使用 uv 启动)
      1. 配置环境变量(见下方配置说明),根据需要选择证书认证或 OAuth 认证
      1. 启动服务器
      • stdio 模式(适用于本地桌面或开发环境)
        • 运行命令示例:uv run sharepoint-docs-mcp --transport stdio
      • HTTP 模式(网络服务)
        • 运行命令示例:uv run sharepoint-docs-mcp --transport http --host 0.0.0.0 --port 8000
  • 服务器配置(客户端无需了解,仅供 MCP 服务端配置理解;以下为示例 JSON 配置,说明 server 名称、命令和参数)

    • 配置示例 1(stdio 传输) { "server_name": "SharePointDocsMCP", "command": "uv", "args": ["run", "sharepoint-docs-mcp", "--transport", "stdio"] } 注释:server_name 为 MCP 客户端显示的服务器名称,command 为启动命令,args 为启动参数,使用 stdio 传输时无需对外暴露接口。
    • 配置示例 2(HTTP 传输) { "server_name": "SharePointDocsMCP", "command": "uv", "args": ["run", "sharepoint-docs-mcp", "--transport", "http", "--host", "0.0.0.0", "--port", "8000"] } 注释:HTTP 传输允许通过网络访问 MCP 服务,需自行确保安全措施(如认证、防火墙等)。
    • 说明
      • 以上配置仅用于客户端/运维在页面化或自动化工具中描述如何启动服务器;具体环境变量配置与运行时参数,请参考项目文档中的 Setup、Usage 指南。
  • 基本使用方法

    • 先配置 SharePoint 相关的凭据与网络参数(证书模式或 OAuth 模式)
    • 启动服务器(上述 stdio 或 http 其中之一)
    • 使用 MCP 客户端与服务器交互,执行以下操作:
      • 搜索文档:调用 sharepoint_docs_search,提供查询关键词、可选的 max_results、file_extensions、response_format
      • 下载文件:调用 sharepoint_docs_download,传入文件路径
      • Excel 解析与查询:调用 sharepoint_excel,传入文件路径、sheet、cell_range、include_header、include_formatting、metadata_only 等参数;或传入 query 进行搜索
    • 如需调试或排错,可查看服务端日志输出(默认为输出到 stderr)

服务器信息