Token导航 LogoToken导航TokenDH.com
One Drive MCP Server logo
AI代理stdio官方级别未说明来源级核验

One Drive MCP Server

MCP Server

一个开源的基于Model Context Protocol (MCP)的Microsoft OneDrive服务器,支持路径基础的文件操作(列表、读取、写入、删除、移动、创建文件夹),适用于需要管理OAuth令牌生命周期的应用程序。

工具数

7

提示词数

0

GitHub Stars

0

资源数

0
开源容器化部署Python文件管理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

devops-consultants

提供方

devops-consultants

最后核验

2026/5/17 20:20

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -p 8080:8080 ghcr.io/devops-consultants/one-drive-mcp-server:latest

详细介绍

OneDrive MCP服务器

公开针对Microsoft Graph API的基于路径的文件操作(列出、读取、写入、删除、移动、创建文件夹)。设计用于与管理OAuth令牌生命周期的应用程序一起进行容器化部署。

特性

  • 可流式HTTP传输 --MCP端点位于 /mcp,与容器化MCP客户端兼容
  • 无状态承载令牌身份验证 --每个会话的令牌通过 Authorization 标头,服务器中没有OAuth流
  • 基于路径的界面 --代理使用人类可读的路径,如 /Documents/report.md
  • 乐观并发 --基于ETag的安全并行写入冲突检测
  • 多会话支持 --具有独立令牌的并发代理
  • 文本和二进制 --文本文件为UTF-8,二进制文件为base64
  • 上传会话 --大于4MB的文件自动分块上传
  • 费率限制处理 --自动重试 Retry-After 支持

快速开始

码头工人

docker pull ghcr.io/devops-consultants/one-drive-mcp-server:latest
docker run -p 8080:8080 ghcr.io/devops-consultants/one-drive-mcp-server:latest

Docker Compose

docker-compose up

本地开发

pip install -e ".[dev]"
python -m onedrive_mcp.server

环境变量

变量默认值描述
PORT8080服务器侦听端口
HOST0.0.0.0服务器绑定地址
MAX_FILE_SIZE26214400 (25MB)读取操作的最大文件大小(字节)

端点

端点方法描述
/mcpPOSTMCP可流式HTTP端点
/healthGET健康检查--返回 {"status": "ok"}

认证

服务器需要Microsoft OAuth访问令牌 Authorization 每个MCP会话的标题:

Authorization: Bearer 

令牌必须具有 Files.ReadWrite.All 范围。服务器 从不存储或刷新令牌 --调用应用程序负责获取和刷新令牌。

工具

与配套的Google Drive MCP服务器具有相同名称和模式的七个工具:

list_files(path)

列出目录中的文件和文件夹。

参数:

  • path (字符串,默认值: "/")--列表的目录路径

退货: 条目数组,每个条目都有 name, path, type (“文件”/“文件夹”), size, modified, etag

read_file(path)

读取文件的内容和元数据。

参数:

  • path (string)--文件路径

退货: content, etag, mime_type, size, binary (布尔值)

文本文件(mime类型以开头 text/,加 application/json, application/xml, application/yaml)以UTF-8字符串形式返回 binary: false。所有其他文件都使用base64编码 binary: true.

write_file(path, content, etag?)

创建或更新文件。

参数:

  • path (string)--文件路径
  • content (string)--文件内容
  • etag (字符串,可选)--ETag用于冲突检测

退货: path, etagsize

etag 如果提供了,服务器会发送 If-Match 头球如果不匹配,则返回 conflict 当前ETag出现错误。

delete_file(path)

删除文件。

参数:

  • path (string)--文件路径

退货: {"success": true}

file_info(path)

在不下载内容的情况下获取文件/文件夹元数据。

参数:

  • path (string)--文件或文件夹的路径

退货: name, path, type, size, modified, etag, mime_type

create_folder(path)

创建一个文件夹(包括中间文件夹)。

参数:

  • path (string)--要创建的文件夹路径

退货: {"path": ""}

move_file(source, destination)

移动或重命名文件。

参数:

  • source (string)--当前文件路径
  • destination (string)--新文件路径

退货: {"path": ""}

图形API路径语法

Microsoft Graph API本机支持基于路径的文件访问,使其比Google Drive更简单:

用户路径图形API URL
/ (根)GET /me/drive/root
/DocumentsGET /me/drive/root:/Documents:
/Documents/report.mdGET /me/drive/root:/Documents/report.md:
/Documents/report.md (内容)GET /me/drive/root:/Documents/report.md:/content
/Documents (儿童)GET /me/drive/root:/Documents:/children

不需要路径到ID的解析-Graph API将路径转换为服务器端的项ID。

OneDrive特定行为

  • Etag格式:Microsoft使用 @odata.etag 在格式中 "{guid},{version}"这些是不透明的字符串——按原样存储和传递它们。
  • 上传会话:大于4MB的文件使用Graph API上传会话机制上传,该机制以约3.75MB的块上传。
  • 节流:Microsoft Graph强制执行速率限制。服务器会自动重试HTTP 429响应,遵守 Retry-After 头球
  • 路径编码:Graph API内部处理URL编码。带有空格和特殊字符的路径自然工作。
  • 文件夹创建:用途 @microsoft.graph.conflictBehavior: "fail" 要检测现有文件夹,请制作 create_folder 幂等性。

错误响应

所有错误都遵循一致的格式:

{"error": "", "message": ""}
错误代码HTTP状态描述
not_found404文件或文件夹不存在
permission_denied403用户无法访问资源
auth_expired401OAuth令牌已过期或无效
rate_limited429超出Microsoft Graph速率限制
conflict412ETag不匹配(自上次读取以来文件已修改)
file_too_large--文件超出配置的最大大小
api_error各种其他图形API错误

许可证

Apache许可证2.0——请参阅 许可证 了解详情。

目录标签

目录标签

开源容器化部署Python文件管理本地部署OneDriveMCP协议

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP