pCloud MCP 服务器

一个提供与pCloud API交互工具的MCP服务器,支持文件上传下载、管理等操作。

  • by abiheiri
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 abiheiri/pcloud-mcp-server

使用说明

pCloud MCP服务器

一个MCP(模型上下文协议)服务器,提供与pCloud API交互的工具。

特性

  • 列出文件夹内容
  • 将文件和文件夹下载到本地系统
  • 将文件和文件夹上传到pCloud
  • 重命名、移动和删除文件和文件夹
  • 管理垃圾箱(列出并恢复已删除的项目)

安装

  1. 克隆此存储库:

    git clone https://github.com/abiheiri/pcloud-mcp-server.git
    cd pcloud_mcp
    
  2. 创建虚拟环境并安装依赖关系:

    uv venv
    uv add "mcp[cli]" httpx
    

认证

挑选 一 以下方法:


选项A:用户名和密码

最简单的方法是使用您的用户名和密码作为环境变量。我们将在稍后的构建示例中讨论这一点。


选项B:OAuth访问令牌

如果您启用了双因素身份验证或只是不想使用密码,您将运行一个一次性设置,为您提供永久访问令牌。

注意:此方法要求您在pCloud开发人员门户中创建自己的应用程序。如果您无法使用该选项,您可能需要使用pCloud打开支持票以请求访问。

首先,从pCloud获取您的凭据:

  1. 在以下位置创建应用程序 pCloud开发者门户 获取客户端ID和密码
  2. 在您的应用程序中 设置,设置 重定向URI 到 http://localhost:53682/callback

然后运行安装程序一次:

紫外线:

PCLOUD_CLIENT_ID="your_id" PCLOUD_CLIENT_SECRET="your_secret" uv run pcloud-mcp --setup

使用Docker:

docker build -t pcloud-mcp:1.1 .

docker run --rm -it -p 53682:53682 \
  -e PCLOUD_CLIENT_ID="your_id" \
  -e PCLOUD_CLIENT_SECRET="your_secret" \
  pcloud-mcp:1.1 --setup

这将打开您的浏览器以授权该应用程序。一旦获得批准,它就会打印一个永久访问令牌。使用 PCLOUD_ACCESS_TOKEN 在接下来的配置中(见下面的示例)。


环境变量

选项A --用户名和密码:

变量 描述
PCLOUD_USERNAME 您的pCloud帐户电子邮件
PCLOUD_PASSWORD 您的pCloud帐户密码
PCLOUD_REGION API地区: us (默认)或 eu

选项B --OAuth访问令牌:

变量 描述
PCLOUD_ACCESS_TOKEN 永久令牌来自 --setup
PCLOUD_REGION API地区: us (默认)或 eu
PCLOUD_CLIENT_ID OAuth客户端ID(仅需要 --setup)
PCLOUD_CLIENT_SECRET OAuth客户端密钥(仅需要 --setup)

设置其中之一 PCLOUD_ACCESS_TOKEN 或两者 PCLOUD_USERNAME 和 PCLOUD_PASSWORD.

使用 eu 如果您的pCloud帐户是在欧洲注册的。

使用Claude Desktop

使用Claude Desktop运行此服务器有三种方法。

选项1:使用uv运行(最简单的开发)

将以下内容添加到您的Claude Desktop配置文件中:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

使用访问令牌:

{
  "mcpServers": {
    "pcloud": {
      "command": "/path/to/uv",
      "args": [
        "--directory",
        "/path/to/pcloud_mcp",
        "run",
        "pcloud-mcp"
      ],
      "env": {
        "PCLOUD_ACCESS_TOKEN": "your-access-token",
        "PCLOUD_REGION": "us"
      }
    }
  }
}

或使用用户名/密码:

{
  "mcpServers": {
    "pcloud": {
      "command": "/path/to/uv",
      "args": [
        "--directory",
        "/path/to/pcloud_mcp",
        "run",
        "pcloud-mcp"
      ],
      "env": {
        "PCLOUD_USERNAME": "youremail@example.com",
        "PCLOUD_PASSWORD": "yourpassword",
        "PCLOUD_REGION": "us"
      }
    }
  }
}

替换 /path/to/uv 使用您的紫外线路径(查找 which uv)以及 /path/to/pcloud_mcp 使用存储库路径。

选项2:直接使用Docker运行

首先,构建Docker镜像:

docker build -t pcloud-mcp:1.1 .

然后添加到您的Claude Desktop配置中:

使用访问令牌:

{
  "mcpServers": {
    "pcloud": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "PCLOUD_ACCESS_TOKEN=your-access-token",
        "-e", "PCLOUD_REGION=us",
        "pcloud-mcp:1.1"
      ]
    }
  }
}

或使用用户名/密码:

{
  "mcpServers": {
    "pcloud": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "PCLOUD_USERNAME=youremail@example.com",
        "-e", "PCLOUD_PASSWORD=yourpassword",
        "-e", "PCLOUD_REGION=us",
        "pcloud-mcp:1.1"
      ]
    }
  }
}

选项3:使用Docker MCP网关(推荐给Docker桌面用户)

如果你有带MCP网关的Docker桌面,你可以注册一次服务器并通过Docker进行管理。

  1. 塑造形象:

    docker build -t pcloud-mcp:1.1 .
    
  2. 获取您的访问令牌(如果使用选项B身份验证):

    docker run --rm -it -p 53682:53682 \
      -e PCLOUD_CLIENT_ID="your_id" \
      -e PCLOUD_CLIENT_SECRET="your_secret" \
      pcloud-mcp:1.1 --setup
    

    按照浏览器中的提示进行授权。从输出中复制访问令牌。

  3. 导入目录:

    docker mcp catalog import catalog.yaml
    

    进入 pcloud 当系统提示输入名称时。

  4. 启用服务器:

    docker mcp server enable pcloud
    
  5. 设置您的凭据(选择一种方法):

    使用访问令牌:

    docker mcp secret set pcloud.access_token="your-access-token"
    docker mcp secret set pcloud.region="us"
    

    或使用用户名/密码:

    docker mcp secret set pcloud.username="youremail@example.com"
    docker mcp secret set pcloud.password="yourpassword"
    docker mcp secret set pcloud.region="us"
    
  6. 将Claude Desktop连接到网关(如果尚未连接):

    docker mcp client connect claude-desktop
    

服务器现在将自动出现在Claude Desktop中。Docker管理容器的生命周期,在需要时启动,在空闲时停止。

你能做什么

配置后,只需问Claude以下问题:

  • “显示我的pCloud中有什么”
  • “列出我的文档文件夹中的所有文件”
  • “将report.pdf下载到我的下载文件夹”
  • “下载我的整个照片文件夹”
  • “将此文件上载到我的pCloud备份文件夹”
  • “将我的项目文件夹上载到pCloud”
  • “将我的旧文件夹重命名为新文件夹”
  • “将此文件移动到另一个文件夹”
  • “删除该文件夹”
  • “我的垃圾桶里有什么?”
  • “还原已删除的文件”

传输在后台运行,因此您可以在文件上传或下载时继续聊天。

发展

直接运行服务器:

uv run pcloud-mcp

测试导入:

uv run python -c "from pcloud_mcp import mcp; print('Server:', mcp.name)"

许可证

MIT许可证