Cloudreve MCP Server
Click on "Install 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., "@Cloudreve MCP Serverlist files in /Documents/Projects"
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.
Cloudreve v4 MCP
Standalone Model Context Protocol server for Cloudreve v4. It authenticates with a registered OAuth application (authorization code + PKCE), then exposes file and local-cache tools over stdio for Cursor and other MCP clients.
Not published on npm — run it with npx from GitHub (github:SanderCokart/cloudreve-mcp).
Features
OAuth authorize / status / logout with secure local token storage
File tools: list, resolve id, properties, download URL, download, upload, create directory, rename, move, copy, delete, source URL, share URL
Local cache helpers: list, write text, presign, download-to-cache, upload-from-cache
Cloudreve v4 File URIs (
cloudreve://my/...) with friendly/pathinputs
Related MCP server: nutstore-mcp
Prerequisites
Node.js 20+
A Cloudreve v4 site (this MCP uses
/api/v4/...)An OAuth app created in Cloudreve admin
Register an OAuth app
In Cloudreve admin → OAuth applications, create an app with:
Field | Value |
App name | e.g. |
Client secret | Generate and store securely |
Redirect URI |
|
Scopes | At least |
Copy the Client ID and Client Secret. Do not commit them to git or share them publicly.
offline_accessis required to receive a refresh token.
Cursor MCP setup
Add to ~/.cursor/mcp.json (Windows: %USERPROFILE%\.cursor\mcp.json):
{
"mcpServers": {
"cloudreve": {
"command": "npx",
"args": [
"-y",
"github:SanderCokart/cloudreve-mcp"
],
"env": {
"CLOUDREVE_BASE_URL": "https://cloud.example.com",
"CLOUDREVE_CLIENT_ID": "YOUR_CLIENT_ID",
"CLOUDREVE_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
"CLOUDREVE_REDIRECT_URI": "http://127.0.0.1:53682/callback",
"CLOUDREVE_SCOPES": "openid profile offline_access Files.Read Files.Write Shares.Read Shares.Write"
}
}
}
}Replace https://cloud.example.com and the OAuth placeholders with your own values. Endpoint overrides are optional; they are derived from CLOUDREVE_BASE_URL when omitted.
Reload MCP servers / restart Cursor, then call the authorize tool once. A browser window opens; after you approve, tokens are saved locally and other tools work.
Run from the terminal
npx -y github:SanderCokart/cloudreve-mcpSet the same environment variables as in the Cursor env block before running.
Prefer
github:SanderCokart/cloudreve-mcpover the GitHub.tar.gzarchive URL. The archive install skips the package build on some platforms (notably Windows), so thecloudreve-mcpbinary is missing.
Environment
Variable | Required | Description |
| Yes | Your Cloudreve site, e.g. |
| Yes | OAuth Client ID |
| Yes | OAuth Client Secret |
| No | Authorization endpoint (default: |
| No | Token endpoint (default: |
| No | Refresh endpoint (default: |
| No | User-info endpoint (default: |
| No | Default |
| No | Space-separated scopes (see defaults above) |
| No | Local download root |
| No | Local cache root |
| No | Path to tokens JSON (mode 0600) |
Tokens are stored under the platform config dir by default:
Windows:
%APPDATA%/cloudreve-mcp/tokens.jsonmacOS:
~/Library/Application Support/cloudreve-mcp/tokens.jsonLinux:
~/.config/cloudreve-mcp/tokens.json
First-run flow
sequenceDiagram
participant Cursor
participant MCP as CloudreveMCP
participant Browser
participant Cloudreve
Cursor->>MCP: authorize
MCP->>Browser: open /session/authorize (PKCE)
Browser->>Cloudreve: user login + consent
Cloudreve->>MCP: redirect code to localhost callback
MCP->>Cloudreve: POST /api/v4/session/oauth/token
Cloudreve->>MCP: access_token + refresh_token
MCP->>MCP: persist tokens (0600)
Cursor->>MCP: list_files / download_file / ...
MCP->>Cloudreve: Bearer access_token on /api/v4/*Install from source (contributors)
git clone https://github.com/SanderCokart/cloudreve-mcp.git
cd cloudreve-mcp
npm install
npm run buildFor local Cursor config, point command at node and args at the built dist/index.js, and set the same env block as above.
Copy .env.example for a local checklist of variables (do not commit a filled .env).
Tool notes
Paths may be
/docs/a.mdor fullcloudreve://my/docs/a.mdupload_file.remote_pathmust include the filenamedownload_file.local_pathis relative toCLOUDREVE_DOWNLOAD_ROOTand cannot escape itUpload supports local / relay policies fully; OneDrive and generic pre-signed chunk uploads are best-effort
Cache tools operate only under
CLOUDREVE_CACHE_ROOT
Development
npm run typecheck
npm test
npm run devLicense
Apache-2.0
Available Tools
22 toolsauthorizeA
Start Cloudreve v4 OAuth (authorization code + PKCE). Opens a browser and waits for the local callback. Requires CLOUDREVE_CLIENT_ID and CLOUDREVE_CLIENT_SECRET.
| Name | Required | Description | Default |
|---|---|---|---|
| timeout_ms | No | How long to wait for the OAuth callback (default 300000) | |
| open_browser | No | Open the system browser (default true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It mentions that the tool 'Opens a browser and waits for the local callback,' which is useful. However, it does not explain what happens on success or failure, or any side effects like setting environment variables or blocking behavior.
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 two concise sentences, front-loading the core action and prerequisites. Every sentence adds value without redundancy.
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 complexity (OAuth authorization), the description lacks information about return values, errors, or what happens after the callback. Since there is no output schema, the description should cover outcomes but does not.
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 100% parameter description coverage. The tool description does not add significant meaning beyond the schema: it mentions the browser opening and waiting, which aligns with the parameters. Since schema covers parameter details, a score of 3 is appropriate.
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 tool's purpose: 'Start Cloudreve v4 OAuth (authorization code + PKCE).' It uses a specific verb ('Start') and resource ('OAuth'), and distinguishes it from siblings like 'auth_status' and 'logout'.
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 mentions prerequisites: 'Requires CLOUDREVE_CLIENT_ID and CLOUDREVE_CLIENT_SECRET,' which helps the agent know when it's usable. However, it does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auth_statusA
Show whether this MCP has a valid Cloudreve OAuth token stored locally.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It states 'Show whether' implying read-only, but does not explicitly confirm no side effects, no rate limits, or what happens when no token exists. More detail on safety and edge cases is needed.
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 clarity, making it extremely concise.
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 status check with no input schema and no output schema, the description provides the core purpose but lacks specification of return value format (e.g., boolean, status object). It is minimally adequate but could be more 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?
With 0 parameters, schema coverage is trivially 100%, and the description adds no param info because none exist. Per guidelines, baseline for 0 params is 4, which is appropriate here.
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 tool shows whether a valid OAuth token is stored locally, using a specific verb and resource. It distinguishes from sibling tools like authorize (which initiates auth) and logout (which clears tokens).
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 usage for authentication status checks before other operations, but provides no explicit guidance on when to use it versus alternatives like authorize or logout. The context suggests its role, but rules for when-not or prerequisites are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cache_listA
List files in the local MCP cache directory.
| Name | Required | Description | Default |
|---|---|---|---|
| dir | No | Relative subdirectory under cache root |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must fully disclose behavior. It only states the action without details on recursion, output format, or side effects, leaving significant gaps.
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, concise sentence with no superfluous words. Front-loaded and to the point.
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 listing tool with one optional parameter and no output schema, the description is marginally adequate but fails to clarify default behavior (e.g., listing root) or whether subdirectories are included.
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 single parameter 'dir' is fully described in the input schema, and the tool description adds no additional meaning beyond that. Baseline 3 per calibration guidelines.
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 verb (List) and resource (files in the local MCP cache directory), distinguishing it from sibling tools like cache_write_text (write) and list_files (likely different scope).
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 explicit guidance on when to use this tool versus alternatives like list_files, which could cause confusion. Usage is implied but not clarified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cache_presign_urlB
Create a short-lived signed local_uri for a cache file (HMAC). Useful for verifying cache access.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Relative cache path | |
| expire_seconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must fully inform behavior. It mentions short-lived and signed (HMAC) but omits important details like required permissions, rate limits, whether the operation is safe (read-only), or error cases. The description fails to disclose behavioral traits that the agent needs to know.
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 communicates the core purpose. It is front-loaded, but lacks any structural elements like bullet points or separate sections that could improve readability for an AI agent.
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 output schema and no annotations, the description is incomplete. It does not explain what the returned URL looks like, how to use it, or details on lifetime and security. For a tool that generates a presigned URL, essential context 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?
Schema coverage is 50% (only path has a description). Description adds 'short-lived' which loosely relates to expire_seconds but does not explain its syntax or behavior. It provides minimal added meaning beyond the schema, failing to compensate 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?
Description clearly states the tool creates a short-lived signed local_uri for a cache file using HMAC, with the purpose of verifying cache access. The verb 'Create' and resource 'local_uri for a cache file' are specific, and it distinguishes itself from sibling tools like cache_list or cache_write_text.
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 usage for verifying cache access but does not explicitly state when to use this tool over alternatives, nor does it provide exclusions or prerequisites. Guidance is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cache_write_textC
Write a text file into the local MCP cache.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Relative cache path, e.g. tmp/note.txt | |
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It only states 'write', implying mutation, but does not disclose whether it overwrites existing files, creates directories, or any side effects. Minimal transparency.
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. However, it could be slightly improved by including brief usage context without losing conciseness.
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 tool with 2 parameters and no output schema, the description is insufficiently complete. It lacks details on return behavior, overwrite policy, and how this cache relates to other tools. A more complete description would aid usage.
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 50% (only path has a description). The description adds only indirect meaning: 'text file' implies the text parameter is content, but does not elaborate on format, encoding, or path rules beyond what the schema already says.
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 'Write a text file into the local MCP cache' uses a specific verb ('write') and resource ('text file'), and clearly distinguishes from sibling tools like cache_list (list) or cloudreve_download_to_cache (download from external). No 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 no guidance on when to use this tool versus alternatives such as cloudreve_upload_from_cache or other write-adjacent tools. No exclusions or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudreve_download_to_cacheB
Download a Cloudreve file into the local MCP cache.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Remote file path or File URI | |
| presign | No | Also return a presigned local_uri | |
| cache_path | No | Relative cache path; defaults to remote filename |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does not mention if the operation is synchronous or asynchronous, whether it overwrites existing cache entries, requires authentication, or what side effects occur (e.g., creating a local copy). This is insufficient for an agent to understand the tool's behavior.
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 extremely concise (7 words) but lacks structure. It does not front-load key information beyond the basic action. While there is no wasted text, it is too terse to be fully helpful; additional context about the cache mechanism would improve it without adding significant length.
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 lack of output schema and the simplicity of the operation, the description should at least mention what the tool returns (e.g., the local cache path) and how it relates to other cache tools (e.g., 'cache_list'). It fails to provide a complete picture, leaving the agent to infer behavior from the name and parameters.
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 100%, so the baseline is 3. The description adds no extra meaning beyond what the schema already provides (e.g., path, presign, cache_path). It does not clarify parameter interactions or format expectations.
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 ('Download'), the resource ('Cloudreve file'), and the destination ('into the local MCP cache'). It uses a specific verb and resource, and it distinguishes the tool from siblings like 'download_file' which lacks the caching aspect.
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 'download_file' or other cache-related tools. There is no mention of prerequisites, context, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudreve_upload_from_cacheA
Upload a file from the local MCP cache to Cloudreve.
| Name | Required | Description | Default |
|---|---|---|---|
| cache_path | Yes | Relative cache path | |
| remote_path | Yes | Remote path including filename, e.g. /docs/report.pdf |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only says 'upload' without indicating whether it overwrites existing files, requires authentication, is destructive, or what the response looks like, leaving significant gaps for an AI agent.
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 efficient sentence that conveys the core function with no wasted words, fitting the 'front-loaded' ideal.
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 2 simple string parameters, no output schema, and no annotations, the description is adequate but lacks details about upload behavior (e.g., overwrite, error handling, file size limits) that would help an agent use the tool reliably.
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 100%, with both parameters already described (cache_path: 'Relative cache path', remote_path: 'Remote path including filename, e.g. /docs/report.pdf'). The description adds no extra meaning beyond this, so baseline score of 3 applies.
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 (upload) and the specific source (local MCP cache) and destination (Cloudreve), distinguishing it from sibling tools like 'upload_file' (likely local filesystem) and 'cloudreve_download_to_cache' (inverse operation).
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 usage when a file is already in the MCP cache and needs to be uploaded to Cloudreve, but it does not explicitly state when to use this tool versus alternatives like 'upload_file', nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
copy_fileC
Copy a remote file/folder into a destination directory.
| Name | Required | Description | Default |
|---|---|---|---|
| source_path | Yes | ||
| destination_path | Yes | Destination directory path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden. It does not disclose critical behaviors like overwrite policy, recursive vs non-recursive for folders, or whether metadata is preserved. Only states action and destination.
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, no redundant information. Efficient and front-loaded.
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 complexity (copy operation with folders) and lack of output schema, the description is insufficient. It doesn't explain behavior for existing destinations, recursion, or return values.
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 50% (only destination_path described). Description adds context that source_path is a 'remote file/folder' and destination_path is a 'destination directory', but does not clarify path formats or constraints beyond that.
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 verb 'Copy' and the resource 'remote file/folder', and the destination. It distinguishes from sibling tools like move_file and delete_file. However, it could be more specific about the scope (e.g., same storage provider).
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 like move_file or upload_file. No mention of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_directoryC
Create a remote directory.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Remote directory path, e.g. /docs/2025 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for disclosing behavioral traits. It fails to mention what happens if the directory already exists (e.g., error, overwrite?), permission requirements, or side effects. The minimal text offers no behavioral depth beyond the basic 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 extremely concise (one sentence) but to the point of under-specification. It does not efficiently convey critical usage details; valuable space is squandered on mere repetition of the function name.
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 one-parameter tool with no output schema and no annotations, the description still lacks essential context such as error handling, idempotency, or the expected behavior for invalid paths. It is far from 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 100% coverage with one parameter 'path' and a clear example. The tool description adds no additional semantic value beyond the schema, achieving the baseline 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 clearly states the verb 'create' and the resource 'remote directory', making the tool's primary purpose apparent. However, it does not distinguish this from sibling tools like 'upload_file' or 'delete_file', which also operate on remote resources but with different actions.
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, no prerequisites (e.g., parent directory existence), and no exclusions. It simply states the action without contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_fileA
Delete remote files/folders (soft-delete to trash by default).
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Remote path or File URI | |
| unlink | No | ||
| skip_soft_delete | No | If true, permanently delete instead of moving to trash |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the default soft-delete behavior and the skip_soft_delete parameter for permanent deletion, which is helpful. However, it does not mention side effects (e.g., folder deletion cascading, recoverability), and no annotations exist to supplement behavioral traits.
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 sentence front-loaded with the verb and resource, with zero waste. Every word serves a 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 deletion tool with 3 parameters and no output schema, the description covers core purpose and default behavior but omits error cases, return values, folder handling, and permission requirements. It is adequate but not comprehensive.
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 67% (path and skip_soft_delete have descriptions, unlink lacks one). The description adds meaning for skip_soft_delete but not for unlink, and path is self-explanatory. It partially compensates but leaves one parameter undocumented.
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 ('delete') and resource ('remote files/folders'), and distinguishes its default behavior (soft-delete to trash) from other sibling tools like rename, copy, upload, etc.
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 explicit guidance on when to use this tool versus alternatives (e.g., when to prefer delete over move to trash, or prerequisites like write permissions). The usage is implied but not contextualized.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_fileA
Download a remote file into the configured download root (default local app data). local_path is relative to that root.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Remote file path or File URI | |
| local_path | No | Relative path under download_root. Empty or directory-like values keep the remote filename. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must convey behavioral traits. It discloses that local_path is relative to the download root and mentions the default location. However, it does not state whether files are overwritten, access requirements, error handling, or performance characteristics. Basic behavior is covered, but important details are missing.
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 extremely concise with two sentences and no extraneous words. It front-loads the core action ('Download a remote file') and immediately clarifies the destination and path semantics. Every sentence serves a 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?
Given the absence of an output schema, the description should clarify what the tool returns upon completion. It does not mention return values, success indications, or the local path of the downloaded file. For a file download operation, this is a notable gap, though the overall simplicity of the tool may mitigate the impact.
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 100%, so parameter descriptions already exist. The description adds value by noting that 'local_path is relative to that root' and explains that empty or directory-like values keep the remote filename. This extends the schema for local_path but overall provides only marginal improvement over the schema's own descriptions.
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 verb 'download' and identifies the resource as 'a remote file'. It specifies the destination as 'the configured download root (default local app data)', which differentiates it from sibling tools like get_download_url (which only retrieves a URL) and upload_file. The action is 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 implies usage for downloading files but provides no explicit guidance on when to use this tool versus alternatives like get_download_url or when not to use it. There are no mentions of prerequisites or disclaimers, leaving the agent to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_download_urlB
Get a temporary download URL for a remote file.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Remote file path or File URI |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It mentions 'temporary' but lacks details on expiration, authentication requirements, error handling, or side effects (e.g., is it read-only?).
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?
Description is a single sentence with no wasted words. It is appropriately sized for a simple tool.
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 simplicity of the tool (one parameter, no output schema), the description is minimally adequate. However, it could mention the URL's time-limited nature or provide guidance on error cases, especially since sibling tools are numerous and without annotations.
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 100% with a clear parameter description. The tool description adds no additional semantics beyond the schema, so baseline score of 3 applies.
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?
Description clearly states the tool retrieves a temporary download URL for a remote file, using specific verb and resource. It distinguishes from siblings like get_share_url and get_source_url.
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 usage guidance is provided. The description does not indicate when to use this tool vs alternatives, nor mention any prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_file_idB
Resolve a remote path to its Cloudreve file/folder id.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Remote path or File URI |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states the function without mentioning side effects (none likely), authentication requirements, or return behavior. The agent cannot infer error handling or prerequisites.
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. Every word contributes to understanding the tool's purpose, and it is appropriately front-loaded.
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 tool with one parameter and no output schema, the description is minimally adequate. It states the input-output mapping but omits return value details (e.g., type, format) and error cases. Slightly more context would improve completeness.
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 100%, so the schema already documents the single parameter. The description repeats the parameter's purpose ('Remote path or File URI') but adds no additional meaning beyond the schema, earning a baseline 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 clearly states the tool resolves a remote path to a Cloudreve file/folder ID, using a specific verb ('resolve') and resource. It distinguishes from sibling tools like get_file_properties or get_download_url by focusing on ID lookup.
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 provided on when to use this tool versus alternatives. For example, it does not mention that this tool is necessary before other operations that require an ID, nor does it contrast with similar tools like get_file_properties.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_file_propertiesC
Get file/folder properties by path, File URI, or id.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Remote path or File URI | |
| file_id | No | Cloudreve file id | |
| extended | No |
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 'Get properties' without indicating authentication requirements, read-only nature, error handling, or limitations. Critical details like whether extended parameter affects behavior or what happens when multiple identifiers are provided are missing.
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, well-structured sentence that conveys the core purpose with key identification methods. It is efficient but could include more detail without becoming verbose.
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 output schema, the description should outline return values (e.g., property fields or structure). It does not. Also, given the tool's placement among many file operations, it fails to help the agent decide when to use this tool instead of get_file_id or list_files. The lack of required parameters is not addressed.
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 67% (path and file_id have descriptions, extended does not). The description adds the clarification that path can be 'Remote path or File URI', which goes beyond the schema. However, it does not explain the 'extended' parameter's purpose or default value, leaving a gap for one parameter.
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?
Description clearly states that the tool retrieves file/folder properties and specifies three identification methods (path, File URI, id). It distinguishes from sibling tools like list_files or get_download_url by focusing on properties. However, it does not define what 'properties' includes, which slightly reduces clarity.
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 get_file_id, get_download_url, or list_files. The description does not mention prerequisites, typical use cases, or exclusionary conditions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_source_urlB
Create/get a permanent-ish direct (source) link for a file.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Remote file path or File URI |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully explain behavioral traits. However, it uses the vague term 'permanent-ish' without clarifying durability, required permissions, or side effects (e.g., whether a new link is created each time).
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. It front-loads the core purpose and is appropriately sized for the tool's simplicity.
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 lack of annotations and output schema, the description should provide more context about behavior, usage, and return value. It only covers the basic purpose, leaving gaps in transparency and guidance.
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 100% with one parameter (path) described as 'Remote file path or File URI.' The tool description does not add additional semantic meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.
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 tool's purpose: 'Create/get a permanent-ish direct (source) link for a file.' It uses a specific verb-resource combination and distinguishes from siblings like get_share_url and get_download_url by specifying 'source' link.
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 explicit guidance on when to use this tool vs. alternatives such as get_share_url or get_download_url. It only implies the use case through the phrase 'source link,' but doesn't exclude other scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_filesA
List files and folders under a Cloudreve path or File URI (default /).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| path | No | Remote path like /docs or File URI cloudreve://my/docs | |
| page_size | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description does not disclose whether listing is recursive, pagination behavior, error responses, or read-only nature. Only states listing under a path, leaving significant behavioral gaps.
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 with 15 words, no redundancy, front-loaded with the main action. 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 list tool with 3 parameters and no output schema, the description is minimally adequate but lacks details on pagination, depth, and expected output. Could be improved.
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 only 33% (only path has description). Description mentions path but does not explain 'page' or 'page_size', which are key for pagination. No compensation for 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 clearly states the action 'List files and folders' and specifies the scope 'under a Cloudreve path or File URI (default /)'. It uniquely identifies what this tool does among siblings.
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 implicitly indicates this is the primary listing tool, but provides no explicit guidance on when to use versus alternatives or when not to use. Since no other listing sibling exists, the context is clear but lacks exclusion statements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logoutA
Clear locally stored Cloudreve OAuth tokens.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the side effect of clearing stored tokens, but lacks details such as whether a server-side logout occurs or if tokens are fully revoked. Since no annotations are provided, the description carries full burden; this is adequate 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?
The description is a single, concise sentence that efficiently conveys the purpose without any extraneous information.
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 (no parameters, no output schema), the description is sufficiently complete. It explains what the tool does, though it could briefly note post-effects like requiring re-authentication.
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 description's explanation of the action adds meaning beyond the empty schema. Per guidelines, baseline for 0-param tools is 4, and the description meets that.
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 ('Clear') and the resource ('locally stored Cloudreve OAuth tokens'), making the purpose unambiguous. It effectively distinguishes from sibling tools like 'authorize' and '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?
No guidance is provided on when to use this tool versus alternatives. The description does not specify contexts (e.g., user logout) or exclude scenarios where it might be inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_fileB
Move a remote file/folder into a destination directory.
| Name | Required | Description | Default |
|---|---|---|---|
| source_path | Yes | ||
| destination_path | Yes | Destination directory path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states the basic action but omits important details such as whether the move is atomic, overwrite behavior, handling of folders, or permission requirements.
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 could benefit from more structure, but it effectively communicates the core 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 simple move operation, the description provides basic understanding. However, it lacks details on error handling, overwrite behavior, and other side effects, leaving gaps for an agent to use it 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?
Schema coverage is 50% (only destination_path has a description). The description adds no extra meaning to parameters beyond the schema; source_path lacks any additional clarification.
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 verb 'Move' and specifies the resource as 'remote file/folder' with the destination. It differentiates from sibling tools like copy_file (copy vs move) and rename_file (rename changes name, move changes location).
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 provided on when to use this tool versus alternatives like copy_file or rename_file. There is no mention of context or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_fileB
Rename a remote file or directory.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Remote path or File URI | |
| new_name | Yes | New basename |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose behavioral traits such as whether renaming can overwrite an existing file, require specific permissions, or handle directories. For a renaming operation, this is a significant gap.
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. It conveys the essential action directly.
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 lack of output schema and minimal description, the tool definition is incomplete. Key details about behavior (overwrite, permissions, directory handling) are missing, making it less useful for an AI 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?
Schema coverage is 100% (both parameters are described), so the description does not need to add extra meaning. It provides no additional context beyond the schema, meeting the baseline for high 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 explicitly states the verb 'rename' and the resource 'remote file or directory', distinguishing it from siblings like move_file or copy_file. It is specific 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?
No guidance is provided on when to use rename_file versus alternatives like move_file (which changes location) or copy_file (duplicates). The description lacks context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
to_file_uriC
Convert a path to a Cloudreve File URI (cloudreve://my/...).
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description lacks details on side effects, error handling, or validation behavior. The simple conversion operation is implied but not elaborated.
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. It is front-loaded with the verb and result, and contains no redundant information.
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 lack of annotations, no output schema, and minimal parameter documentation, the description does not fully inform the agent about expected inputs or outputs. The URI format hint is helpful but insufficient.
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 single parameter 'path' is not described in the schema (0% coverage). The description only mentions 'path' in context, without specifying format (absolute/relative), constraints, or examples.
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 ('Convert a path') and the result ('Cloudreve File URI'), making the purpose explicit. However, it does not explicitly differentiate from sibling tools like 'get_source_url' or 'get_download_url' which also involve URIs.
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. There is no mention of context, prerequisites, or scenarios where conversion is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_fileA
Upload a local file to Cloudreve. remote_path must include the filename (e.g. /docs/report.pdf).
| Name | Required | Description | Default |
|---|---|---|---|
| local_path | Yes | Absolute local filesystem path to the file to upload | |
| remote_path | Yes | Remote path including filename, e.g. /docs/report.pdf |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only mentions the remote_path must include filename but does not disclose behavior on conflicts, permissions, or side effects.
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 sentences with no extraneous information. Efficient and front-loaded.
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 parameter set, it covers purpose and key constraint. Lacks output info or behavioral details, but acceptable given simplicity.
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 has 100% coverage with clear descriptions. Description adds an example for remote_path but doesn't significantly add beyond 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 clearly states the verb 'upload' and resource 'local file to Cloudreve'. It differentiates from siblings like cache or URL 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?
No explicit when-to-use guidance, but the purpose is clear and siblings imply alternative use cases. Lacks exclusions or context.
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. Dates show when Glama detected each change.
22 tool updates
v1.0.0- First observed
auth_status - First observed
authorize - First observed
cache_list - First observed
cache_presign_url - First observed
cache_write_text - First observed
cloudreve_download_to_cache - First observed
cloudreve_upload_from_cache - First observed
copy_file - First observed
create_directory - First observed
delete_file - First observed
download_file - First observed
get_download_url - First observed
get_file_id - First observed
get_file_properties - First observed
get_share_url - First observed
get_source_url - First observed
list_files - First observed
logout - First observed
move_file - First observed
rename_file - First observed
to_file_uri - First observed
upload_file
TDQS
Each tool targets a distinct operation: caching, OAuth, file operations, and URL handling have clear boundaries. Even similar actions like download_file and get_download_url differ in output (file vs URL).
While many tools follow verb_noun pattern, there is inconsistency with prefixes (cache_, cloudreve_) and a few outliers like 'authorize' (single verb) and 'to_file_uri' (preposition). Mix of snake_case and camelCase is not an issue, but naming styles vary.
22 tools is slightly above the typical ideal range (3-15) but still reasonable for a file storage server with caching and OAuth. The number is not excessive and each tool serves a clear purpose.
The tool set covers core file lifecycle: create (upload, mkdir), read (list, properties, download), update (rename, move, copy), delete (trash). Missing direct update of properties and batch operations, but these are minor gaps for the domain.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server for GLM chat completions using Zhipu AI models via AceDataCloud
Browse and manage files in your Moxt AI workspace from any MCP client.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server for cloud storage operations enabling browsing, file transfer, offline download, and multi-platform resource search for Quark and 115 drives.60GPL 3.0
- AlicenseBqualityDmaintenanceMCP server for Nutstore cloud storage, enabling AI assistants to manage files via WebDAV with support for listing, searching, uploading, downloading, and more.191MIT
- AlicenseNot gradedqualityCmaintenanceMCP server enabling file operations (list, search, read, rename, move) on Google Drive and OneDrive.MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that enables AI assistants to search, read, and manage files across multiple cloud drives (Baidu, Aliyun, 115, OneDrive, Quark) through a unified interface.19MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SanderCokart/cloudreve-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server