mcpField
I
iCloud Drive Docs

iCloud Drive Docs

本地服务
github.com/js713-lab文件与存储26 周前更新

关于 iCloud Drive Docs

icloud-docs-mcp 是只读的跨平台 MCP 服务,用于查找和读取 iCloud Drive 文档,也适用于没有 Mac 的用户。它使用非官方 iCloud 客户端,并通过本地 stdio 运行。

主要功能

  1. 01列出 Drive 文件夹
  2. 02按文件名或路径搜索
  3. 03将文件下载到本地缓存
  4. 04提取常见文档的文本
  5. 05检查登录会话状态

适用场景

  1. 01查找 iCloud Drive 中的文档
  2. 02读取 PDF 或电子表格文本
  3. 03引用文档中的段落
  4. 04检查 iCloud 会话是否有效

MCP 相关

本地 stdio MCP 服务提供状态检查、文件夹列表、搜索、下载和文本读取工具。iCloud 登录须在 MCP 会话之外完成。

配置

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

暂未收录安装方式

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

代码仓库
安装包
mcpbicloud-docs-mcp-0.1.0.mcpb

工具

还没有获取到工具列表

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

详细介绍

icloud-docs-mcp

iCloud Drive 文档 — 只读 MCP。列出、搜索、下载、读取。

你的 Agent 可以在 iCloud Drive 中找到 PDF,并引用第 3 页的内容。

适用于 iCloud Drive 的只读 Model Context Protocol 服务。支持 Linux、Windows 或 macOS — 无需 Mac、Spotlight 或 ~/Library。

来源:js713-lab/icloud4u-mcp。可安装的软件包和 CLI 名称为 icloud-docs-mcp。

Mail / Calendar / Contacts MCP 已经存在。如果你不使用 Mac,Drive 仍是 Apple 生态中的短板。这正是切入点:无需 Mac 即可跨平台使用 Drive。 这是一款实用工具,而非一个类别。

它可以列出文件夹、按文件名搜索、下载文件,并从常见文档中提取文本。它没有默认 Apple ID、不附带文档,也没有针对特定公司的搜索逻辑。

Apple 不会发布第三方 iCloud Drive API。本服务使用非官方的 pyicloud 库。你无法控制这条连接。Apple 可以更改某个端点,在有人再次对其进行逆向工程之前,这个工具就会停止工作。不要承诺本仓库无法保证的可靠性。

示例:

在 iCloud Drive 中找到发票,并引用第 3 页的内容。

它不是什么

  • 不是 Mail、Calendar、Contacts 或 Notes
  • 不是 macOS 本地的 Drive MCP(此类 MCP 已经使用 Spotlight / ~/Library)
  • 不是托管式 / HTTP MCP(它在本地通过 stdio 运行)
  • 不是模型会话中的双重身份验证提示
  • 不支持上传、重命名或删除
  • 不提供可靠性 SLA。非官方客户端可能会失效。

免责声明

这不是 Apple 产品。Apple 不会发布第三方 iCloud Drive API。Apple 更改端点时,非官方客户端可能会失效;使用它也可能违反 Apple 的条款。风险由你自行承担;请在本地使用,并仅用于你控制的帐户。

请勿将此服务暴露在网络上。Cookiejar 文件属于登录凭据:切勿提交它们、将它们粘贴到问题中,或签入 .env。请参阅 SECURITY.md。

status 工具会返回已配置的 Apple ID 和本地缓存路径,以便客户端判断登录是否成功。它绝不会返回密码。

安装

Python 3.10+

从此仓库安装:

git clone https://github.com/js713-lab/icloud4u-mcp.git
cd icloud4u-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e .

从 GitHub 安装:

pip install git+https://github.com/js713-lab/icloud4u-mcp.git

或者,等软件包发布到 PyPI 后:

pip install icloud-docs-mcp

将 .env.example 复制为 .env,并将 ICLOUD_USERNAME 设置为你的 Apple ID。.env 已加入 gitignore。

cp .env.example .env

登录(首次必须执行)

MCP 进程不会等待输入双重身份验证代码。请在真实终端中登录:

export ICLOUD_USERNAME='[email protected]'
icloud-docs-mcp login

系统会提示你输入密码;如果 Apple 要求,还会提示输入 6 位设备验证码。受信任的 cookiejar 会存储在:

$XDG_DATA_HOME/icloud-docs-mcp/<sanitized-username>/

(如果未设置 XDG_DATA_HOME,则位于 ~/.local/share/icloud-docs-mcp/...。)

如果工具返回 NEED_LOGIN 或 NEED_2FA,请再次运行 icloud-docs-mcp login,然后重试。

icloud-docs-mcp status

工具

工具用途
status会话状态。返回 Apple ID 和缓存路径,不会返回密码。
list_folder列出一个目录。空路径表示 Drive 根目录(或 ICLOUD_ROOT)。
search按文件名 / 路径查询,可选 ext,结果数量有限。
download将 Drive 文件复制到本地缓存。返回路径,不返回字节内容。
read_text如有需要则先下载;从 pdf、docx、xlsx、txt、csv 中提取文本。

search 和 read_text 都限制了结果数量,以免向结果限制较小的 MCP 客户端返回过多内容。

环境变量

变量必需含义
ICLOUD_USERNAME是Apple ID。无默认值。
ICLOUD_PASSWORD否未设置时,登录 CLI 会提示输入。避免将其放入 MCP 环境变量中。
ICLOUD_SESSION_DIR否Cookiejar 目录覆盖项。
ICLOUD_DOWNLOAD_DIR否本地下载缓存。
ICLOUD_ROOT否Drive 文件夹前缀;所有工具的操作范围都限定在此路径下。

MCP 客户端

默认命令(无参数)会通过 stdio 使用 MCP:

icloud-docs-mcp
Grok
[mcp_servers.icloud_docs]
command = "icloud-docs-mcp"
env = { ICLOUD_USERNAME = "${ICLOUD_USERNAME}" }
startup_timeout_sec = 45
tool_timeout_sec = 180
tool_timeouts = { search = 180, download = 300, read_text = 180 }
Claude Desktop / Cursor
{
  "mcpServers": {
    "icloud-docs": {
      "command": "icloud-docs-mcp",
      "env": {
        "ICLOUD_USERNAME": "<your-apple-id>"
      }
    }
  }
}

如果客户端无法继承你的 PATH,请使用 venv 二进制文件的绝对路径。

Grok 也可以从此仓库加载 .mcp.json:

grok plugin install js713-lab/icloud4u-mcp --trust

这只会启动服务。你仍需在该机器上运行 pip install icloud-docs-mcp(或 pip install -e .)和 icloud-docs-mcp login。

要将版本发布到 PyPI 和官方 MCP Registry,请参阅 PUBLISH.md。

开发

pip install -e ".[dev]"
pytest

测试会模拟 Apple。CI 绝不能登录 iCloud。请参阅 CONTRIBUTING.md。

许可证

MIT。安全问题报告请参阅:SECURITY.md。


由 CodeCrafter 维护 · 联系方式:[email protected]。

评论

支持 Markdown

第一次接触 MCP?

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

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