Skip to main content

mcp-pcloud-crunchtools

Secure MCP server for pCloud cloud storage. Browse, search, read, and manage files and folders in a pCloud account through the Model Context Protocol.

Authentication is token-based, OAuth preferred. pCloud accounts with two-factor authentication enabled cannot be accessed with a username and password, and password-derived tokens travel in the URL query string. This server never derives a credential from a password and never puts one in a URL.

Installation

# uvx (zero-install)
uvx mcp-pcloud-crunchtools

# PyPI
pip install mcp-pcloud-crunchtools

# Container
podman run quay.io/crunchtools/mcp-pcloud

Configuration

Variable Required Description
PCLOUD_ACCESS_TOKEN one of OAuth access token — sent as an Authorization: Bearer header
PCLOUD_AUTH_TOKEN one of pCloud session token — sent in a POST body
PCLOUD_API_HOST no api.pcloud.com (default) or eapi.pcloud.com for EU accounts

At least one credential is required. When both are set, the OAuth token wins.

Every credential variable also accepts a _FILE form (PCLOUD_ACCESS_TOKEN_FILE, PCLOUD_AUTH_TOKEN_FILE) pointing at a file that holds the value. The _FILE form takes precedence and is preferred for container deployments — it works with podman secrets, Kubernetes secret volumes, and systemd LoadCredential=. The server warns (but does not fail) if the file is group- or world-readable.

Which token do I have?

Create an OAuth access token at pCloud my_apps. If you only have the token the pCloud desktop client stores, that is a session token: pCloud rejects it as an access_token with result 2094, so set it as PCLOUD_AUTH_TOKEN instead. Both carry the same authority over the account — protect them identically.

Claude Code

claude mcp add mcp-pcloud-crunchtools \
    --env PCLOUD_ACCESS_TOKEN=your_token_here \
    -- uvx mcp-pcloud-crunchtools

Transports

mcp-pcloud-crunchtools                                    # stdio (default)
mcp-pcloud-crunchtools --transport sse --port 8028
mcp-pcloud-crunchtools --transport streamable-http --port 8028

Tools

Folderspcloud_list_folder, pcloud_create_folder, pcloud_delete_folder, pcloud_rename_folder, pcloud_copy_folder

Filespcloud_get_file_info, pcloud_delete_file, pcloud_rename_file, pcloud_copy_file, pcloud_read_text_file, pcloud_get_checksum

Linkspcloud_get_file_link, pcloud_create_public_link

Search & accountpcloud_search, pcloud_get_user_info

pcloud_create_public_link publishes a file to anyone holding the returned URL, and pcloud_get_file_link returns a time-limited direct download URL. Treat both as credential-issuing operations when building tool allowlists.

Security

  • OAuth token held as a Pydantic SecretStr, never logged and scrubbed from error messages
  • Token sent in an Authorization header, never in a URL
  • All arguments validated by Pydantic models with extra="forbid"; paths must be absolute and may not contain .. traversal segments
  • TLS certificate validation always on, 30s request timeout, 10 MB response ceiling
  • No filesystem access, shell execution, or code evaluation

Development

uv sync
uv run ruff check src tests
uv run mypy src
uv run pytest -v
gourmand --full .
podman build -f Containerfile .

License

AGPL-3.0-or-later

Release files for mcp-pcloud-crunchtools 2.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-pcloud-crunchtools 2.1.0
File Size Uploaded
mcp_pcloud_crunchtools-2.1.0.tar.gz 38.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-pcloud-crunchtools 2.1.0
File Interpreter ABI Platform
mcp_pcloud_crunchtools-2.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 67.9 kB

Release files / mcp_pcloud_crunchtools-2.1.0.tar.gz

Download URL mcp_pcloud_crunchtools-2.1.0.tar.gz
Size 38.6 kB
Tags Source
SHA-256 checksum
How to use checksums
8d0c05638ed3be98af853fa25a37fc5bf399b1f5515c28c626473b8862afd7c3
BLAKE2b-256 checksum
How to use checksums
c1f1715baa99c078d5db5a4fbbcaa2f411b21827b4b53a664ccc7b61bd4435af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / mcp_pcloud_crunchtools-2.1.0-py3-none-any.whl

Download URL mcp_pcloud_crunchtools-2.1.0-py3-none-any.whl
Size 29.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6586a55e087857f939148a4e2308120ac76664608f14d3c261442d665ecc8f5a
BLAKE2b-256 checksum
How to use checksums
333ddd16895ad43674980553b480d40e6df33bb2bd27f6a4b80db23b98bf1c2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release history Release notifications | RSS feed

2.5.0

2 release files

2.4.0

2 release files

2.3.0

2 release files

This release

2.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page