项目简介
这是一个基于 Model Context Protocol (MCP) 的服务器端程序,专为开发者设计,用于通过 MCP 协议与 LLM 客户端交互,提供访问 Microsoft 365 文件和驱动器的能力。它允许 LLM 调用预定义工具来获取文件上下文信息并执行文件相关的操作。
主要功能点
- 提供访问 Microsoft 365(以前称 Office 365)文件和驱动器的工具。
- 支持的操作包括:
- 列出用户可访问的驱动器。
- 获取特定驱动器的详细信息。
- 列出驱动器根目录或指定目录下的子项(文件和文件夹)。
- 根据过滤条件搜索驱动器中的项目。
- 获取文件的元数据、内容或 PDF 表示。
- 通过调用 Microsoft Graph API 实现这些功能。
- 需要配置 Microsoft Entra ID(以前称 Azure AD)凭据以进行认证。
安装步骤
- 从 GitHub 克隆此仓库到本地。
- 进入克隆到本地的仓库目录。
- 安装 Node.js 依赖。运行此服务器通常通过 'npx' 命令执行,这会按需安装所需的包。
服务器配置
您需要将以下配置信息添加到您的 MCP 客户端的服务器配置中。这是一个 JSON 结构,您需要根据您的实际环境填充占位符 '<...>'。
- 'name': 服务器的友好名称,例如 "Files-MCP-Server"。
- 'type': MCP 客户端与服务器建立连接的方式。根据仓库的 README 示例,此处使用 'stdio'。
- 'command': 启动服务器的命令。在此处填写 'npx'。
- 'args': 传递给启动命令的参数列表。在此处填写 '["-y", "<您的 MCP 服务器仓库在本地的绝对路径>"]'。'npx -y' 命令会查找并运行指定路径下的项目入口点。请将 '<您的 MCP 服务器仓库在本地的绝对路径>' 替换为您克隆仓库的实际文件系统路径。
- 'env': 启动服务器进程时需要的环境变量。这是一个包含键值对的对象,需要提供 Microsoft Entra ID 认证所需的凭据:
- 'ODMCP_TENANT_ID': 您的 Microsoft Entra ID 租户 ID。
- 'ODMCP_CLIENT_ID': 为此服务器在 Microsoft Entra ID 中注册的应用程序的客户端 ID。
- 'ODMCP_THUMBPRINT': 用于证书认证的证书指纹。
- 'ODMCP_PRIVATE_KEY': 用于证书认证的私钥,需要进行 Base64 编码。您可以使用仓库提供的工具('npm run encode-key')来编码您的私钥。
基本使用方法
- 确保您已按照安装步骤将仓库克隆到本地。
- 在服务器仓库的根目录创建一个名为 '.env' 的文件,并填写上面“服务器配置”部分列出的四个环境变量('ODMCP_TENANT_ID', 'ODMCP_CLIENT_ID', 'ODMCP_THUMBPRINT', 'ODMCP_PRIVATE_KEY')的实际值。
- 按照上面的说明配置您的 MCP 客户端,使其通过 'stdio' 连接方式指向您本地运行的此 MCP 服务器仓库的路径。
- 启动您的 MCP 客户端。客户端将自动启动并连接到此 MCP 服务器,发现并可以使用其提供的文件访问工具。
- 重要提示: 此项目仅供开发和测试环境使用,不适用于生产环境。使用前请务必参考 Microsoft Identity Platform 安全指南,并采取适当的安全措施。
信息
分类
数据库与文件