mcpField
M
Microsoft 365 File Search MCP Server (SharePoint & OneDrive)

Microsoft 365 File Search MCP Server (SharePoint & OneDrive)

本地服务
github.com/godwin3737搜索与检索1181 周前更新

关于 Microsoft 365 File Search MCP Server (SharePoint & OneDrive)

此 MCP 服务可搜索 SharePoint 和 OneDrive 中的 Microsoft 365 文件并读取文件内容,适用于需要查找和访问文件的工作流,并通过本地缓存复用下载内容。

主要功能

  1. 01搜索 Microsoft 365 文件
  2. 02返回文件元数据和摘要
  3. 03按 drive ID 和 file ID 获取内容
  4. 04在本地缓存已下载文件

适用场景

  1. 01查找 SharePoint 或 OneDrive 文件
  2. 02查看搜索结果元数据
  3. 03读取选定文件的内容
  4. 04重复访问时复用缓存文件

MCP 相关

通过 MCP 工具向客户端提供文件搜索和内容读取功能。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP 服务 - Microsoft 365 文件搜索(SharePoint 和 OneDrive)

概述

一种模型上下文协议(MCP)服务实现,可在 Microsoft 365 中提供高级文件搜索功能。该服务通过提供 SharePoint/OneDrive 中的内容,实现高效的文件查找、元数据分析以及与业务工作流的集成。

https://github.com/user-attachments/assets/bbe63c02-f6d9-4c9b-8f98-36fc22a081cc

组件

工具

该服务提供 2 个核心工具:

  • search_m365_files
    在 M365 环境中搜索文件。
    输入:

    • query(字符串):搜索词或条件。
      返回:文件元数据对象数组。元数据包括文件内容摘要、drive ID 和 file ID 等信息。
  • get_file_content
    获取特定文件的内容。
    输入:

    • driveid(字符串):父级驱动器的唯一标识符。
    • fileid(字符串):文件的唯一标识符。
      返回:以二进制流形式提供的文件内容。
      注意:使用本地缓存加快重复访问速度。
缓存

为提升性能并减少重复的 API 调用,该服务会在本地缓存已下载的文件。这在处理大型文档或频繁访问的文件时尤其有用。

  • 缓存文件存储在 ./src/mcp_m365_filesearch/.local/downloads 目录中(相对于项目根目录)。
  • 通过 get_file_content 请求文件时,该服务会先检查缓存。
  • 如果文件已缓存,则直接从磁盘返回,无需发起新的 API 调用。

此功能可确保更快的响应时间,并高效利用 API 速率限制。

与 Claude Desktop 配合使用

若要将该服务与 Claude Desktop 集成,请更新你的 claude_desktop_config.json:

"mcpServers": {
  "M365 File Search (SharePoint/OneDrive)": {
    "command": "uv",
    "args": [
      "--directory",
      "full_path_to_parent_directory",
      "run",
      ".\\src\\mcp_m365_filesearch\\server.py"
    ],
    "env": {
      "CLIENT_ID": "MSGraph Client ID",
      "CLIENT_SECRET": "MS Graph Client Secret",
      "TENANT_ID": "TENANT ID",
      "REGION": "SEARCH REGION"
    }
  }
}

Microsoft Graph 应用注册

若要使用此服务,你需要在 Azure 门户中注册一个应用程序:

  1. 注册一个新应用程序。
  2. 记下 Client ID 和 Tenant ID。
  3. 在 Certificates & Secrets 下创建一个 Client Secret。
  4. 在 API permissions 下添加以下 delegated 或 application 权限:
    • Sites.Read.All
    • Files.Read.All
  5. 点击 Grant admin consent,授予这些权限。

确保在 MCP 服务的 env 配置中正确设置这些值。

许可证

本项目根据 MIT 许可证授权。
你可以自由使用、修改和分发本项目,但需注明出处。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。