mcp-pcloud-crunchtools
This server exposes pCloud cloud storage through MCP, letting you browse, manage, search, read, and share files and folders in a pCloud account.
Folder operations: list folder contents, create folders, delete folders (optionally recursive), rename/move folders, and copy folders.
File operations: get file metadata, delete files, rename/move files, copy files, and read UTF-8 text file contents.
Checksums & links: retrieve stored SHA256/SHA1/MD5 checksums, get temporary direct download links, and create public share links.
Search & account: search files/folders by name and view account profile/quota.
Authorization support: start and check OAuth authorization flows via MCP tools (pcloud_auth_start, pcloud_auth_result, pcloud_auth_status).
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-pcloud-crunchtoolsList the files in my pCloud root folder"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 OAuth 2.0. Register an application, run mcp-pcloud-crunchtools login once, and the server manages the bearer token from there. 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 — the client secret is only ever sent in a POST body.
Installation
# uvx (zero-install)
uvx mcp-pcloud-crunchtools
# PyPI
pip install mcp-pcloud-crunchtools
# Container
podman run quay.io/crunchtools/mcp-pcloudRelated MCP server: MCP Google Suite
Configuration
Register an application at pCloud my_apps, add http://localhost:8029/callback to its redirect URIs, then:
export PCLOUD_CLIENT_ID=your_client_id
export PCLOUD_CLIENT_SECRET=your_client_secret
mcp-pcloud-crunchtools loginlogin opens a browser, you approve the app, and the resulting bearer token is cached at ~/.config/mcp-pcloud/tokens.json (0600). That is the whole setup. pCloud access tokens do not expire — its oauth2_token endpoint returns no refresh_token and no expires_in — so there is no renewal cycle and nothing to rotate on a schedule. The token stays valid until you revoke the app from the pCloud console, which does not touch your account password or any other session.
The login flow also records which data center holds the account, so the region is never configured by hand.
Variables
Variable | Required | Description |
| preferred | pCloud application client id |
| preferred | pCloud application client secret |
| alternative | A bearer token supplied directly, for containers and CI |
| last resort | A pCloud desktop-client session token |
| no | Where |
| no |
|
Modes are selected in that order: a client id and secret together select OAuth application mode and outrank everything else; otherwise a static access token is used; a session token is the last resort.
Every credential variable also accepts a _FILE form (PCLOUD_CLIENT_SECRET_FILE, PCLOUD_ACCESS_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.
Headless hosts
A container has no browser, and login cannot run inside one. Prefer
authorizing over MCP: call pcloud_auth_start, open the URL it returns,
approve, and pCloud redirects to the server's own /callback route, which
completes the exchange. Nothing is copied by hand and no port is forwarded.
This needs PCLOUD_OAUTH_REDIRECT_URI set to a URL that reaches /callback
from your browser, and that same URL registered in the pCloud application.
Without a reachable callback URL, login --manual authorizes with no listener
at all: pCloud displays the code and you paste it back.
mcp-pcloud-crunchtools login --manualFailing both, forward the callback port and run login over SSH:
ssh -L 8029:localhost:8029 yourhost
mcp-pcloud-crunchtools login --no-browser # prints the URL; open it locallyAlternatively, run login on a workstation and copy the resulting tokens.json to the host.
Which credential do I have?
If you only have the token the pCloud desktop client stores, that is a session token, not an OAuth token: pCloud rejects it as an access_token with result 2094, so set it as PCLOUD_AUTH_TOKEN. Prefer an application: a session token is the account, carries no scope, and cannot be revoked independently of the client that issued it.
Claude Code
claude mcp add mcp-pcloud-crunchtools \
--env PCLOUD_CLIENT_ID=your_client_id \
--env PCLOUD_CLIENT_SECRET=your_client_secret \
-- uvx mcp-pcloud-crunchtoolsTransports
mcp-pcloud-crunchtools login # authorize once
mcp-pcloud-crunchtools # stdio (default)
mcp-pcloud-crunchtools serve --transport sse --port 8028
mcp-pcloud-crunchtools serve --transport streamable-http --port 8028Tools
Folders — pcloud_list_folder, pcloud_create_folder, pcloud_delete_folder, pcloud_rename_folder, pcloud_copy_folder
Files — pcloud_get_file_info, pcloud_delete_file, pcloud_rename_file, pcloud_copy_file, pcloud_read_text_file, pcloud_get_checksum
Links — pcloud_get_file_link, pcloud_create_public_link
Search & account — pcloud_search, pcloud_get_user_info
Authorization — pcloud_auth_status, pcloud_auth_start, pcloud_auth_result
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
Tokens and the client secret held as Pydantic
SecretStr, never logged and scrubbed from error messages, including a token loaded from the store rather than the environmentstateparameter checked with a constant-time comparison on the OAuth callback; the redirect'shostnameis validated against the known pCloud regions before it is usedToken store written 0600 via
os.open, never through a world-readable temporary fileToken sent in an
Authorizationheader, never in a URLAll arguments validated by Pydantic models with
extra="forbid"; paths must be absolute and may not contain..traversal segmentsTLS 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
Available Tools
18 toolspcloud_auth_resultPcloud Auth ResultA
Report the outcome of the most recent authorization redirect.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full behavioral burden. It clearly frames the tool as a reporting/read operation and adds the stateful 'most recent' qualifier, but it does not disclose behavior if no redirect has occurred or whether the result is consumed by the call. Adequate but not deeply transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One clean sentence that front-loads the action and resource. No filler, repetition, or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and an output schema present, the short description is nearly sufficient for a zero-argument reporting tool. It could add more explicit usage context, but the simple tool shape makes it reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero properties, so there is no parameter documentation burden. The baseline of 4 applies because the description does not need to explain parameters that do not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Report') and a specific resource ('outcome of the most recent authorization redirect'). The 'redirect' wording helps distinguish it from sibling auth tools like pcloud_auth_start and pcloud_auth_status, though it does not explicitly contrast with auth_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used after an authorization redirect but provides no explicit when-to-use guidance, prerequisites, or alternatives among the auth siblings. It is not misleading, but the agent must infer the intended call timing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pcloud_auth_startPcloud Auth StartA
Begin browser authorization and return the URL for the user to approve.
Open the returned URL. The user approves there, pCloud redirects back to this server, and the token is stored automatically -- nothing is copied back by hand. Then call pcloud_auth_status to confirm.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the full burden of behavioral disclosure. It explains that authorization happens in the browser, the redirect returns to this server, the token is stored automatically, and no manual copy/paste is required. It does not cover edge cases like repeated starts or token overwrites, but for a zero-parameter start action it is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The primary purpose is front-loaded in the first sentence, followed by compact operational detail. Every sentence earns its place and the overall description is short, scannable, and free of redundant words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with an output schema, the description covers the complete core workflow: initiate authorization, open URL, user approval, server redirect, automatic token storage, and confirmation via pcloud_auth_status. Minor omissions such as repeated-call behavior or edge cases do not materially affect an agent's ability to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description appropriately adds no parameter-specific information because there are no parameters to document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Begin browser authorization') and the expected deliverable (a URL for the user to approve). It also refers to the follow-up sibling pcloud_auth_status, helping an agent distinguish this tool as the entry point from the other auth-related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear step-by-step usage flow: open the returned URL, user approves, the server receives the redirect, the token is stored automatically, then call pcloud_auth_status to confirm. It does not explicitly list when not to use alternative auth tools, but the sequencing is clear enough for an agent to know this starts the process.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pcloud_auth_statusPcloud Auth StatusA
Report whether this server currently holds a usable pCloud credential.
Call this first. It says whether the server can reach pCloud, and if it cannot, what is missing and which tool fixes it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It clearly discloses the tool's behavior: it reports server-side credential status, and on failure, identifies what is missing and which tool fixes it. The verb 'Report' implies a non-mutating status check, though it does not explicitly state that no side effects occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler. The core purpose is front-loaded, and the usage directive ('Call this first') is placed prominently. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no parameters and an output schema, so return values are already structured. The description covers the operation's essence, its role as the first step, and what diagnostic information it provides. Nothing an agent needs to use it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so parameter semantics are not a concern. Per the rubric, 0 params earns a baseline 4; the description correctly focuses on behavior and output rather than parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Report whether') and a clear resource ('usable pCloud credential'), and its scope is distinct from sibling authentication tools like pcloud_auth_start and pcloud_auth_result. The phrase 'Call this first' further differentiates it as an initial status probe rather than an action tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit when-to-use guidance: 'Call this first.' It also explains what the tool will tell you if the server cannot reach pCloud, implying when to proceed with a fix. It does not name specific alternatives or provide when-not-to-use conditions, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pcloud_copy_filePcloud Copy FileC
Copy a file in pCloud to a new location.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| to_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full behavioral disclosure burden. It does not mention whether the destination file is overwritten, whether parent folders are created, whether metadata is preserved, or whether copying is non-destructive beyond the literal meaning of 'copy.'
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no filler, and the verb and resource are front-loaded. It is concise, though it achieves brevity at the expense of useful operational details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and two undocumented parameters, this description is not complete enough. The output schema covers return values, but the agent is left to guess destination path semantics, overwrite behavior, and edge cases like missing parent folders.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate by explaining path and to_path. The phrase 'new location' hints at the destination but does not clarify whether to_path should be a full target file path or a directory, nor whether the source filename is preserved at the destination.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation: 'Copy a file in pCloud to a new location.' It uses a specific verb and resource, and explicitly says 'file,' distinguishing it from sibling folder operations like pcloud_copy_folder.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as pcloud_copy_folder, pcloud_rename_file, or pcloud_delete_file. The description states what the tool does but provides no context for choosing it over sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pcloud_copy_folderPcloud Copy FolderB
Copy a folder in pCloud to a new location.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| to_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It states that a folder is copied, but does not explain behavior such as whether the copy is recursive, what happens if the destination already exists, or whether the original is preserved. This is minimal disclosure for a tool that could have important edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant wording. It immediately states the operation and result, earning its place without filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple operation and the presence of an output schema, a short description is partly justified; return values do not need explanation. However, the description lacks parameter semantics and edge-case behavior, and with no annotations the tool definition is only minimally viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides no descriptions for 'path' or 'to_path', and schema description coverage is 0%. The description only implies that one path is the source and the other is the destination; it does not explain path format, folder-only constraints, or whether destination parent folders need to exist. The description does not compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Copy') and resource ('folder') and clearly states the outcome: moving it to a new location. This distinguishes it from sibling tools like pcloud_copy_file, pcloud_delete_folder, and pcloud_rename_folder.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives. It does not mention that it is the appropriate choice for folders rather than files, nor does it provide any conditions, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pcloud_create_folderPcloud Create FolderC
Create a folder in pCloud, succeeding if it already exists.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the idempotent behavior (succeeding if folder exists), which is a useful trait. However, it does not mention permissions, side effects, error conditions, or what happens on failure, so it is only partially transparent. It avoids contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that states the core purpose and the idempotency detail. It is front-loaded and has no filler, but it omits essential parameter information, which slightly detracts from its efficiency. Still, it is well-structured for what it does include.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter) and an output schema present, the description is still sparse. It lacks any guidance on path format, usage context, or return behavior beyond the output schema. The idempotency note is helpful, but the overall description does not fully equip an agent to call the tool correctly. It falls below the minimum viable standard.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter, path, with zero description coverage. The tool description does not mention the parameter at all, let alone its format, relative vs absolute path, or examples. This is a critical gap; the agent cannot know how to construct a valid path. The description adds no value beyond the schema's bare type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (create) and resource (folder) and adds the idempotent behavior 'succeeding if it already exists,' which clarifies its purpose. It clearly distinguishes from siblings like delete, rename, and copy, though it does not explicitly name any alternative. It is concise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as pcloud_create_public_link or file operations. It does not mention any preconditions, exclusions, or preferred use cases, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pcloud_create_public_linkPcloud Create Public LinkA
Create a public share link for a file, exposing it to anyone with the URL.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It explicitly discloses the most important side effect: the file becomes accessible to anyone holding the URL. This goes beyond a generic 'create link' statement and warns of the privacy implication. It does not cover reversibility or permission requirements, but the core behavior is clearly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence with no filler. It front-loads the action ('Create a public share link') and immediately follows with the key consequence. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter tool with an output schema, the description covers the essential purpose and the critical privacy effect. It lacks usage routing, but that is already scored separately. The operational context needed to invoke the tool correctly is largely present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must compensate. It does specify that the path refers to a file, adding meaning to the bare 'path' parameter. However, it does not clarify path format, existence requirements, or whether folder paths are rejected, so it only partially compensates for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('create') and resource ('public share link'), and the phrase 'exposing it to anyone with the URL' clearly distinguishes it from sibling pcloud_get_file_link by emphasizing the public nature. An agent can tell this creates a shareable link rather than retrieving an existing one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as pcloud_get_file_link. It does not mention prerequisites, exclusions, or typical scenarios where one should be preferred, leaving the agent to infer usage from the surrounding tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pcloud_delete_filePcloud Delete FileC
Delete a file from pCloud.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It merely restates the action without mentioning that deletion is permanent, that the operation is destructive and irreversible, or what happens if the file does not exist. This is a significant gap for a deletion tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no redundancy or filler. It is appropriately front-loaded and concise, though this conciseness comes at the cost of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no annotations, the description is far too sparse. It does not cover irreversibility, path semantics, or error behavior. While an output schema exists, it does not compensate for the missing behavioral context needed to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'path' with no description (0% coverage). The description does not clarify the expected format (e.g., absolute vs. relative path), any restrictions, or what happens if the path is invalid. It adds no information beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Delete a file from pCloud,' which is a specific verb (delete) with a resource (file) and explicitly distinguishes from the sibling pcloud_delete_folder by specifying 'file.' An agent can immediately tell this tool from its folder-deletion counterpart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like pcloud_delete_folder or pcloud_rename_file. It never states conditions, exclusions, or prerequisites (e.g., path must point to a file, not a folder).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pcloud_delete_folderPcloud Delete FolderA
Delete a folder in pCloud. Set recursive to remove its contents too.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| recursive | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose destructive behavior and it does state deletion and that recursive removes contents. However, it stops short of noting irreversibility, permission requirements, or how a non-empty folder behaves when recursive is false, which are useful for a destructive tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence states the action and the key modifier. There is no filler or duplicated information, so every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with an output schema, the basic delete-and-recursive behavior is present. The main gap is that it never says what happens when recursive is false and the folder is non-empty, a key runtime detail affecting successful invocation. Still adequate as a minimal viable description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning only for recursive ('remove its contents too'), while path is left to schema/context. This is a partial compensation for two parameters, not a complete semantic explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with an explicit action and resource: 'Delete a folder in pCloud.' The noun 'folder' cleanly separates it from sibling tools like pcloud_delete_file and pcloud_list_folder, so an agent can tell which tool to pick without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly frames the tool's use as folder deletion and adds practical guidance with 'Set recursive to remove its contents too.' It does not explicitly contrast with the array of siblings or state a when-not condition, but the folder-vs-file distinction and recursive hint give enough context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pcloud_get_checksumPcloud Get ChecksumA
Get pCloud's stored SHA256, SHA1, and MD5 checksums for a file.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the behavioral burden. The word 'stored' adds useful meaning: the tool returns pCloud's precomputed checksums rather than computing them locally. However, it does not mention authentication requirements, error behavior, or whether any side effects occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler, fluff, or redundant content. It is front-loaded with the core purpose and includes the specific checksum algorithms, which is exactly what an agent needs at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a single parameter and an output schema, the tool is relatively simple. Still, the description lacks practical context such as path conventions, whether an authenticated session is required, and when to choose this tool over pcloud_get_file_info or pcloud_get_file_link. It is minimally viable but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the only parameter, 'path', has no schema description. The phrase 'for a file' clarifies that the path should identify a file rather than a folder, but the description does not specify path format such as '/folder/file.txt' or that it must be a pCloud path.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action ('Get') and the resource ('pCloud's stored SHA256, SHA1, and MD5 checksums') along with the target ('a file'). This is specific enough to distinguish it from sibling tools like pcloud_get_file_info or pcloud_get_file_link, even without naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only restates what the tool does and does not explain when to use it versus alternatives. There is no mention of when not to use it, no prerequisites, and no distinction from sibling file-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pcloud_get_file_infoPcloud Get File InfoC
Get metadata for a file in pCloud.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the behavioral burden, but it only implies a read operation. It does not disclose whether authentication is required, how invalid paths are handled, or whether the returned metadata has any size or format caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. It is concise, though it sacrifices useful parameter and usage detail for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with an output schema, the description is close to adequate, but the missing auth note and path semantics leave real gaps. An agent cannot be confident it will invoke this correctly on the first attempt.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single path parameter is given no additional context in the description. The agent is not told whether path is an absolute pCloud path, a file ID, or what format such as a leading slash is expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific operation ('Get metadata') and a clear resource ('a file in pCloud'), which distinguishes it from folder operations and from siblings like get_checksum or get_file_link. It does not explicitly contrast it with those sibling tools, so it misses the top tier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this tool rather than pcloud_get_checksum, pcloud_get_file_link, or pcloud_read_text_file, and no mention of prerequisites such as authentication. The only usage signal is implicit from the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pcloud_get_file_linkPcloud Get File LinkA
Get a temporary direct download URL for a file in pCloud.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the behavioral disclosure burden. It reveals that the returned link is temporary and direct, which is useful, but it omits details such as expiration length, authentication requirements, or side effects. Some non-schema behavior is disclosed, but much remains unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no redundant words. The key scoping terms 'temporary', 'direct download', and 'file' are included without elaboration, making the description maximally concise while still informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, has one required parameter, and an output schema, so the core invocation surface is covered. However, with no annotations or usage guidance, an agent lacks expiration/auth context and explicit differentiation from pcloud_create_public_link. The description is adequate but has clear gaps beyond the minimum.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only defines 'path' as a required string with no description (0% coverage). The description adds that the path refers to a file in pCloud, which disambiguates it from folder paths, but it does not specify path format or whether a file ID is accepted. This is meaningful but only partial compensation for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Get') and a specific resource ('temporary direct download URL for a file in pCloud'). It distinguishes itself from sibling pcloud_create_public_link by noting the link is temporary, and from pcloud_get_file_info by focusing on a download URL rather than metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case of needing a temporary direct link, but it never explicitly states when to use this tool over siblings such as pcloud_create_public_link or pcloud_get_file_info. No exclusions, prerequisites, or alternative routing are provided, so selection guidance is mostly left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pcloud_get_user_infoPcloud Get User InfoA
Get the authenticated pCloud account's profile and quota usage.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The verb 'Get' implies a non-mutating read, but the description does not explicitly state safety, authentication requirements, or failure behavior; these are minor gaps for a simple no-parameter info lookup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word contributes to the tool's purpose and scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters, low complexity, and an output schema present, the description sufficiently covers what the tool returns. There are no missing invocation requirements that an agent would need beyond the stated purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the 100% schema coverage makes additional parameter explanation unnecessary. The description appropriately focuses on the output rather than inputs, earning the baseline 4 for a zero-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (the authenticated pCloud account) and the specific data returned (profile and quota usage). It is easily distinguished from sibling file/folder operations and auth flow tools, so an agent can select it without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: this tool is for account-level profile and quota information, not for file operations. It does not explicitly name alternatives or exclusions, but for a zero-parameter read-only lookup the intended usage is evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pcloud_list_folderPcloud List FolderC
List contents of a folder in pCloud with file and folder metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | / | |
| recursive | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states the basic action with no details on pagination, sorting, recursion effects, or potential side effects. For a read-only tool this is acceptable but still sparse; it does not add context beyond the immediate action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. It is front-loaded with the verb and resource, making it easy to parse, though it is arguably too terse to be fully self-contained.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return format details are covered, but the description fails to explain parameter behavior (recursive, path default) and offers no usage context. The tool has only two optional parameters, yet the description leaves them completely unexplained, making the definition incomplete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, and the description does not explain the path parameter (default '/') or the recursive flag. The agent receives no additional meaning about parameter formats, defaults, or effects beyond the raw schema properties.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list contents), the resource (folder in pCloud), and the result (file and folder metadata). It differentiates from sibling tools like pcloud_create_folder or pcloud_delete_folder by focusing on reading, and is specific enough for an agent to select it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like pcloud_search or pcloud_get_file_info. It does not mention prerequisites, exclusions, or typical use cases, leaving the agent to infer the obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pcloud_read_text_filePcloud Read Text FileA
Read the contents of a UTF-8 text file stored in pCloud.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears the behavioral burden. It usefully constrains the tool to UTF-8 text files and states that it reads content, but it does not disclose error behavior for non-UTF-8/binary files, size limits, or authentication requirements. This is acceptable but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the action, and no redundant explanation. Every word adds to the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with an output schema, the description is close to sufficient, but it omits path conventions and failure behavior. With no annotations, an agent still has to infer some details, so it is not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description only indirectly explains `path` as the location of the target text file. It adds some meaning beyond the bare `path` string but leaves path format and rules undocumented; the low parameter count and self-explanatory name prevent a lower score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Read') and a specific resource ('contents of a UTF-8 text file stored in pCloud'). This clearly differentiates it from sibling metadata/link/list tools such as pcloud_get_file_info and pcloud_list_folder.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The tool's usage is implied by its purpose: use it when you need the text content of a pCloud file. It does not explicitly name alternatives or say when not to use it (e.g., when only metadata is needed, prefer pcloud_get_file_info), so the guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pcloud_rename_filePcloud Rename FileC
Rename or move a file in pCloud.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| to_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, but it only names the operation. It does not disclose what happens when the destination exists, whether this is an in-place rename or a copy+delete, or any side effects on the original path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a concise single sentence with no filler. It is front-loaded with the action, but the brevity comes at the cost of the missing parameter/behavior context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating tool with no annotations and 0% schema description coverage, the description is incomplete. It omits path semantics, overwrite behavior, and any usage conditions; the presence of an output schema does not compensate for these gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not define the two parameters. 'path' and 'to_path' imply a source and destination, but the description never maps them explicitly or states whether to_path is a full path or a new file name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Rename or move') and a specific resource ('a file in pCloud'), which distinguishes it from the sibling pcloud_rename_folder. It does not explicitly contrast with copy or delete operations, but the action and file resource are unambiguous enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool instead of alternatives such as pcloud_copy_file or pcloud_rename_folder. No conditions, exclusions, or selection criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pcloud_rename_folderPcloud Rename FolderC
Rename or move a folder in pCloud.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| to_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It only states the action without mentioning any side effects, such as whether the move overwrites existing folders, requires specific permissions, or is reversible. This is a significant gap for a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, but it is under-specified. Like the 'process' example, this is not conciseness but a lack of essential detail, so it earns a low score on structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description does not clarify which parameter is which, nor does it mention any return values or error behavior. For a simple tool with two parameters and no annotations, this is incomplete; an agent would need to guess the parameter roles.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, and the description adds no meaning to the parameters 'path' and 'to_path'. It does not explain that 'path' is the source and 'to_path' is the destination, nor any format or constraints, leaving the agent without the necessary information to invoke the tool correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (rename/move) and resource (folder) in pCloud, distinguishing it from siblings like pcloud_rename_file. It is clear about the general action but does not explicitly clarify the roles of the two parameters or any constraints, so it is not fully detailed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as pcloud_copy_folder or pcloud_delete_folder. The description provides no usage context, exclusions, or conditions, leaving the agent to infer when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pcloud_searchPcloud SearchA
Search pCloud for files and folders whose names match a query.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | / | |
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It does disclose that matching is by name, applies to both files and folders, and is a search operation, but it omits path-scoping behavior, recursion, case sensitivity, or output limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence with no filler; the key verb, resource, and matching criterion are all immediately present. It earns its place without redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, non-mutating search tool with an output schema, the description provides a workable baseline: the core operation and query semantics are stated. However, the meaning of 'path' and behavioral details about search scope are missing, making it merely adequate rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description needs to explain both parameters. It clarifies that 'query' is matched against names, but the 'path' parameter is never mentioned in the description; the agent must guess its role from the schema's name and default value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Search'), a clear resource ('pCloud'), and a precise object ('files and folders whose names match a query'). This distinguishes it from structural siblings like pcloud_list_folder by making name-based matching the defining behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the intended use case—look up items by name rather than browsing a directory—but it never explicitly says when to prefer this tool over pcloud_list_folder or any other sibling. No exclusions or alternative conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
18 tool updates
v2.5.0- Added
pcloud_auth_result - Added
pcloud_auth_start - Added
pcloud_auth_status - Changed
pcloud_copy_file2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
pcloud_copy_folder2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
pcloud_create_folder2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
pcloud_create_public_link2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
pcloud_delete_file2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
pcloud_delete_folder2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
pcloud_get_checksum2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
pcloud_get_file_info2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
pcloud_get_file_link2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
pcloud_get_user_info2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
pcloud_list_folder2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
pcloud_read_text_file2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
pcloud_rename_file2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
pcloud_rename_folder2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
pcloud_search2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
15 tool updates
v2.1.0- First observed
pcloud_copy_file - First observed
pcloud_copy_folder - First observed
pcloud_create_folder - First observed
pcloud_create_public_link - First observed
pcloud_delete_file - First observed
pcloud_delete_folder - First observed
pcloud_get_checksum - First observed
pcloud_get_file_info - First observed
pcloud_get_file_link - First observed
pcloud_get_user_info - First observed
pcloud_list_folder - First observed
pcloud_read_text_file - First observed
pcloud_rename_file - First observed
pcloud_rename_folder - First observed
pcloud_search
TDQS
Scored across 18 tools
Each tool targets a distinct resource and action, with clear separation between folder and file operations. The file metadata/link tools (get_file_info, get_checksum, get_file_link, create_public_link) are differentiated by their specific outputs. Auth tools follow a clear three-step lifecycle with no overlap.
All tool names follow a consistent pcloud_ prefix with a verb_noun pattern (list_folder, delete_file, get_checksum). Auth tools share the pcloud_auth_ sub-pattern, and naming style is uniform. This makes tool selection highly predictable.
At 18 tools, the count slightly exceeds the ideal 3-15 range but remains reasonable for a comprehensive cloud storage server. Each tool covers a meaningful operation with no redundancy, so the set is still well-scoped.
The server provides solid folder and file metadata management, but notably lacks any upload or file creation capability, leaving no way to create or modify file content. Binary file download is also absent, with only text reading and URL generation available. These are significant gaps for a storage server's core purpose.
Maintenance
Related MCP Connectors
Connect AI agents to Filepad workspaces through OAuth MCP.
Knowledge base MCP for AI agents on iknow.dev. Search, read, and maintain via OAuth.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
- JustOnceOAuthai.justonce
Persistent memory for AI assistants — one shared, OAuth-secured vault for every MCP client.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables interaction between LLMs and Obsidian vaults through the Model Context Protocol, supporting secure file operations, content management, and advanced search capabilities.5,145 npm682Apache 2.0
- AlicenseAqualityCmaintenanceA Model Context Protocol server that provides seamless integration with Google Workspace, allowing operations with Google Drive, Docs, and Sheets through secure OAuth2 authentication.887 PyPI3MIT
- AlicenseBqualityCmaintenanceAn implementation of the Model Context Protocol that allows AI models to interact with 360 AI Cloud Drive, providing comprehensive file management capabilities including uploading, downloading, searching, and sharing files.1161 npm5Apache 2.0
- AlicenseAqualityDmaintenanceEnables AI agents to perform file operations and sharing management on NextCloud servers via the Model Context Protocol.145MIT