CloudPaste MCP Server
OfficialClick 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., "@CloudPaste MCP ServerUpload ./report.pdf and give me a 24-hour download link"
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.
CloudPaste MCP Server
通过 Model Context Protocol 将 CloudPaste 接入 MCP Client。它提供本地文件上传、默认 1 天受控下载分享、云端文件查询、详情获取与物理删除能力。
删除工具会同时删除 CloudPaste 分享记录和底层 WebDAV/S3 文件对象,不可恢复;只有在明确传入
confirm: true时才会执行。
功能
test_connection:验证 CloudPaste URL 和 API Key。upload_file:流式上传指定本地文件,默认 24 小时过期,并返回受控下载直链。list_files:分页查询当前 API Key 自己创建的文件。get_file:查询文件详情和最新受控下载链接。delete_files:物理删除当前 API Key 自己创建的文件、分享记录及底层对象。
所有上游响应会在交给模型前过滤密码、API Key、令牌和密钥字段。
Related MCP server: pulr
CloudPaste API Key 权限
请在 CloudPaste 中创建一个专用 API Key,最小权限值为:
FILE_SHARE = 2
FILE_MANAGE = 8
总权限值 = 10建议同时通过 Storage ACL 仅授权 MCP 所需的存储配置。使用 API Key 时,CloudPaste 仅允许它管理该 Key 自己创建的文件。
MCP Client 配置
发布到 npm 后,在 MCP Client 中使用:
{
"mcpServers": {
"cloudpaste": {
"command": "npx",
"args": ["-y", "cloudpaste-mcp-server"],
"env": {
"CLOUDPASTE_URL": "https://cloudpaste.example.com",
"CLOUDPASTE_API_KEY": "your-dedicated-cloudpaste-api-key",
"CLOUDPASTE_DEFAULT_PATH": "/CloudPaste/MCP",
"CLOUDPASTE_STORAGE_CONFIG_ID": "",
"CLOUDPASTE_DEFAULT_EXPIRES_HOURS": "24"
}
}
}
}不要把真实密钥写入项目文件、Git 仓库、日志或聊天记录。建议在 MCP Client 的安全配置界面中维护环境变量。
环境变量
名称 | 必填 | 默认值 | 说明 |
| 是 | - | CloudPaste 根地址,只允许 |
| 是 | - | 专用 API Key,最小权限为 10。 |
| 否 | 不设置 | 默认上传目录。 |
| 否 | CloudPaste 默认存储 | 默认目标存储配置 ID。 |
| 否 |
| 默认分享有效期,范围为 1–8760 小时。 |
可复制 .env.example 作为本地参考,但不要提交真实 .env 文件。
工具说明
upload_file
输入:
{
"file_path": "E:\\TMP\\example.zip",
"expires_in_hours": 24,
"path": "/CloudPaste/MCP",
"storage_config_id": "optional-storage-id",
"remark": "optional note",
"slug": "optional-short-link"
}上传使用 CloudPaste PUT /api/upload-direct/:filename。MCP 固定传入:
use_proxy=1
expires_in=24(未显式覆盖时)因此返回的 downloadUrl 是 CloudPaste 受控代理链接,会遵循分享过期时间。
list_files / get_file
仅查询当前 API Key 创建的文件。get_file 默认返回最新下载链接,但敏感字段会被过滤。
delete_files
{
"file_ids": ["file_xxx"],
"confirm": true
}该操作固定使用 delete_mode: "both",同时删除分享记录及 WebDAV/S3 底层对象,无法撤销。调用前必须先得到用户明确授权。
本地开发
Set-Location "E:\Programming\CloudPaste-MCP"
pnpm install
pnpm check
pnpm test
pnpm build使用本地源码调试:
$env:CLOUDPASTE_URL = "https://cloudpaste.example.com"
$env:CLOUDPASTE_API_KEY = "your-api-key"
pnpm dev发布
发布前检查包内容与质量:
pnpm prepublishOnly
npm pack --dry-run
npm publish --access public --provenance发布前请再次确认 cloudpaste-mcp-server 名称可用;若已被占用,请修改 package.json 中的 name、README 的 npx 命令和 MCP Client 示例。
License
Available Tools
5 toolsdelete_filesA
不可恢复地删除当前 API Key 自己创建的 CloudPaste 文件:同时删除分享记录和底层 WebDAV/S3 对象。仅在已经获得用户明确删除授权后调用,且必须传 confirm=true。
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | Yes | 必须明确传 true,表示已获得用户授权并确认同时删除底层存储对象 | |
| file_ids | Yes | 要物理删除的 CloudPaste 文件 ID,单次最多 50 个 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses irreversibility, that share records are removed alongside the physical objects, and the underlying storage layers affected (WebDAV/S3). It omits failure semantics such as behavior on partially valid file_ids or what happens to files not owned by the caller, which keeps it short of a 5.
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 tightly packed sentence with the destructive verb front-loaded, then the cascade scope, then the authorization precondition. No filler and no repetition.
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 two-parameter tool with no annotations and no output schema, the description covers the essentials an agent needs: irreversibility, cascade scope, and the authorization gate. Only edge-case behavior (partial failures, unknown or non-owned IDs) is left unspecified.
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 100%, so both parameters (confirm, file_ids with its 50-item cap) are already documented in the schema. The description restates the confirm=true requirement but adds no new semantics such as ID format or behavior for unknown IDs, so the baseline 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?
States a precise verb and resource (irreversibly delete CloudPaste files) plus a scope constraint (only files created by the current API Key), and spells out the cascade (share records and underlying WebDAV/S3 objects). An agent can distinguish this from the read-only siblings (list_files, get_file, test_connection) immediately.
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?
Gives an explicit gating precondition: call only after obtaining explicit user deletion authorization, and confirm=true is mandatory. It does not enumerate a when-not case (e.g. soft delete / recycle bin alternatives), but the sibling set contains no competing delete tool, so routing guidance is effectively complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fileA
查询当前 API Key 自己创建的一个 CloudPaste 文件的详情;默认返回最新受控预览与下载链接,并且过滤任何密码或密钥字段。
| Name | Required | Description | Default |
|---|---|---|---|
| file_id | Yes | CloudPaste 文件 ID | |
| include_links | No | 是否返回受控预览和下载链接,默认 true |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden and discloses key traits: it is scoped to files created by the current API Key, returns controlled preview and download links by default, and filters password or secret fields. It still does not explicitly confirm read-only safety or error behavior, but it adds substantial context.
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 compact sentence with the key scope and return behavior front-loaded. Every clause contributes useful information 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?
For a simple two-parameter get tool with no output schema and no annotations, the description covers ownership scope, default link behavior, and sensitive-field filtering. However, it does not describe the full returned detail structure or error conditions, leaving some 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 coverage is 100%, so the baseline is 3, but the description adds meaningful meaning beyond the schema by specifying that file_id refers to a file created by the current API Key. It also reiterates the include_links default behavior, though that is already in 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 a specific verb and resource: query the details of a single CloudPaste file. It scopes the file to those created by the current API Key and adds default return behavior, making it distinguishable from list_files, though it does not explicitly name sibling alternatives.
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 explicit guidance on when to use this tool versus list_files or other siblings. The description implies retrieving one file by ID, but it does not state conditions, exclusions, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_filesB
分页查询当前 CloudPaste API Key 自己创建的远程文件。支持按关键词搜索;不会返回密码、密钥或其他敏感字段。
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 每页数量,1 到 100,默认 30 | |
| offset | No | 分页偏移量,默认 0 | |
| search | No | 按文件名等字段搜索;未提供时列出最新文件 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It usefully states that passwords, keys, and other sensitive fields are not returned, and scope is limited to files created by the current API Key, but it does not explicitly state read-only nature, side effects, or pagination behavior beyond the schema.
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 tightly written sentences with no filler. The primary purpose and scope are front-loaded, followed by search support and a security note, making it easy to scan.
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 paginated list tool with three optional parameters and full schema coverage, the description covers purpose, scope, search capability, and sensitive-field exclusion. However, with no output schema, it does not describe the shape of returned file records or pagination metadata, leaving some return-value context 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 description coverage is 100%, so limit, offset, and search are already well documented in the schema. The description mentions keyword search and pagination generally but adds no syntax, constraints, or example values beyond what the schema provides.
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 (分页查询) and resource (远程文件) and adds an important scope: files created by the current API Key. This is clearly a listing operation rather than a single get/delete/upload, but it does not explicitly name or contrast with sibling tools such as get_file.
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 that keyword search is supported, implying the tool is for browsing owned files, but it gives no explicit when-to-use or when-not-to-use guidance and does not mention alternatives such as get_file for fetching a single file.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_connectionA
验证 CloudPaste URL 与 API Key 是否有效,并返回当前密钥的非敏感权限摘要。不会返回或记录 API Key。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full behavioral burden. It usefully discloses a security property ('不会返回或记录 API Key'), which is real added context, but it omits whether a network round-trip occurs, where the URL/key are sourced from, what the result looks like on failure, or any latency/side-effect profile.
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 that front-loads the purpose (validity check plus returned summary) and then caps it with the security guarantee. No filler or redundant restatement of the 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?
With no parameters and no output schema, the description must convey the return value, and it does (a non-sensitive permission summary). The main remaining gap is failure/diagnostic behavior, but for a zero-argument verification tool this is 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 tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. The description correctly implies the credentials are read from ambient configuration rather than passed as arguments.
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 action (validate the CloudPaste URL and API Key) and a specific output (a non-sensitive permission summary of the current key), so the agent knows exactly what the call accomplishes. It is unmistakably distinct from the file-operation siblings (upload_file, list_files, get_file, delete_files).
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?
Usage is only implied: an agent can infer this is a pre-flight credential check, but the description never states when to call it (e.g. before other operations, or to diagnose auth failures) nor any conditions under which it should be skipped. With no comparable sibling to route against, no explicit alternative is needed, keeping this at the implied level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_fileA
上传调用方明确指定的本地普通文件,并创建远程分享。默认有效期为 24 小时且强制使用 CloudPaste 受控代理下载链接;成功后返回下载直链、文件 ID 与过期时间。
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | CloudPaste 目标目录;未提供时使用 CLOUDPASTE_DEFAULT_PATH | |
| slug | No | 可选自定义短链 | |
| remark | No | 可选文件备注 | |
| file_path | Yes | 要上传的本地普通文件绝对路径 | |
| expires_in_hours | No | 分享有效期(小时);未提供时使用配置默认值 24 小时 | |
| storage_config_id | No | 目标存储配置 ID;未提供时使用 CLOUDPASTE_STORAGE_CONFIG_ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose real behavior: a remote share side effect, a forced CloudPaste controlled-proxy download link, a 24-hour default expiry, and the success payload (direct link, file ID, expiry). It omits auth/permission requirements, overwrite or slug-collision behavior, and size limits, but covers more than most mutation tools.
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 dense sentence, front-loaded with the action and its main side effect, then the defaults and the return payload. Nothing is wasted, though the single run-on clause makes it slightly harder to scan than a two-sentence split would.
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 six-parameter mutating tool with no annotations and no output schema, the description covers the essentials: what is uploaded, the share side effect, the default expiry, and the returned fields. Remaining gaps (permissions, failure modes, slug conflicts) are secondary but not negligible.
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 100%, so all six parameters (path, slug, remark, file_path, expires_in_hours, storage_config_id) are already documented in the schema. The description restates the 24-hour default for expires_in_hours and the local-file nature of file_path but adds no syntax, constraints, or format details 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?
States a specific verb and resource (uploads a caller-specified local regular file) plus its consequential effect (creates a remote share). That is unambiguous against the read/delete siblings (list_files, get_file, delete_files, test_connection), and an agent can tell what this tool does 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?
Usage is only implied: the description scopes the input to an 'explicitly specified local regular file', which quietly rules out URLs, directories, or search-based selection. It never states when not to use it, nor names an alternative, and with no sibling upload tool the agent gets no routing help beyond the obvious.
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.
5 tool updates
v0.1.0- First observed
delete_files - First observed
get_file - First observed
list_files - First observed
test_connection - First observed
upload_file
TDQS
Scored across 5 tools
Each tool targets a distinct action and resource: delete_files deletes, upload_file uploads, list_files lists, get_file retrieves details, and test_connection validates credentials. There is no overlap in purpose.
All tool names follow a consistent snake_case verb_noun pattern (delete_files, test_connection, upload_file, list_files, get_file). The convention is predictable throughout.
Five tools cover the essential file management surface (upload, list, get, delete, and connection test) without redundancy. This is well-scoped for the server's purpose.
The tool set covers create, read, and delete operations, but lacks any update operation (e.g., renaming a file, changing expiration, or updating metadata). This is a notable gap for a file management server, though core workflows are present.
Maintenance
Related MCP Connectors
Persistent file storage for AI agents via MCP and curl. Upload, download, and version files.
Publish HTML, Markdown, and multi-file sites as shareable URLs instantly via MCP.
Private, expiring artifact hosting for AI agents. Upload via API or MCP; links die on their own.
Managed MCP gateway with OAuth, per-agent permissions, shared accounts and activity logs.
1
Related MCP Servers
AlicenseAqualityDmaintenanceEnables MCP-capable agents to read Fintaro invoices and transactions, and upload receipts, via a scoped API key with PII-safe projections.6Apache 2.0- AlicenseNot gradedqualityBmaintenanceSecure file exchange MCP server enabling AI agents to upload, share, fetch, and revoke files with SHA-256 verification, malware scanning, expiry, access restrictions, and human approval workflows.6 npmMIT
- FlicenseAqualityBmaintenanceEnables AI agents and users to upload and download files via MCP, generating shareable links and identifier codes. Files are automatically deleted after 24 hours.9-
- AlicenseNot gradedqualityCmaintenanceEnables managing files across multiple FTP servers through a single MCP interface, supporting upload, listing, deletion, and public URL generation.8 npmMIT