Mcp Server Microsoft365  Filesearch

Mcp Server Microsoft365 Filesearch

🚀 MCP 服务器 - 微软 365 文件搜索(SharePoint 和 OneDrive)

本项目是一个模型上下文协议 (MCP) 服务器的实现,可在微软 365 环境中提供高级文件搜索功能。它能高效地进行文件发现、元数据分析,并与业务流程集成,通过提供来自 SharePoint/OneDrive 的内容达成上述目标。

点击查看相关资源

✨ 主要特性

  • 提供在微软 365 环境中的高级文件搜索功能。
  • 具备文件发现、元数据分析能力,并可与业务流程集成。
  • 利用本地缓存提高性能,减少冗余 API 调用。

📦 安装指南

文档中未提及安装步骤,暂不提供相关内容。

💻 使用示例

基础用法

该服务器提供两个核心工具,以下是它们的使用说明:

search_m365_files

在微软 365 环境中执行文件搜索。

# 输入:
# query (字符串):搜索词或条件。
# 返回值:文件元数据对象数组。元数据包括文件内容摘要、*驱动器 ID* 和 *文件 ID*,以及其他详细信息。

get_file_content

检索特定文件的内容。

# 输入:
# driveid (字符串):父驱动器的唯一标识符。
# fileid (字符串):文件的唯一标识符。
# 返回值:作为二进制流的文件内容。
# 注意:使用本地缓存来加快重复访问的速度。

高级用法

暂无高级用法相关内容。

📚 详细文档

组件

工具

该服务器提供两个核心工具:

  • search_m365_files
    在微软 365 环境中执行文件搜索。
    输入

    • query (字符串):搜索词或条件。
      返回值:文件元数据对象数组。元数据包括文件内容摘要、驱动器 ID文件 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 客户端 ID",
"CLIENT_SECRET": "MS 图秘密客户",
"TENANT_ID": "租户 ID",
"REGION": "搜索区域"
}
}
}

微软图应用注册

要使用此服务器,您需要在 Azure Portal 中注册一个应用程序:

  1. 注册一个新的应用程序。
  2. 记录下 客户端 ID租户 ID
  3. 证书和秘密 下创建一个 客户秘密
  4. API 权限 下,添加以下 委托或应用权限
    • Sites.Read.All
    • Files.Read.All
  5. 点击 授予管理员同意 这些权限。

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

📄 许可证

该项目根据 MIT License 发布。您可以自由使用、修改和分发该软件,只要注明出处即可。

  • 0 关注
  • 0 收藏,7 浏览
  • system 提出于 2025-09-23 01:03

相似服务问题