Uploadcare MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi
Manage Uploadcare files, groups and webhooks; upload and store files.
11 tools: 4 can delete or cancel things and 7 only read.
Scanned Oct 21, 2026
- Deletes or cancels4Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads7Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http uploadcare https://uploadcare.usefulapi.io/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
11 tools
Deletes or cancels 4Claude Code: deny
uploadcare_create_webhookCreates a webhook subscription (additive).No findings
Why it is in this group
- The name "uploadcare_create_webhook" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Creates a webhook subscription (additive). The project will POST to target_url when the chosen event fires. REST API: POST /webhooks/.
Annotations the server declares
- title: Create webhook
- destructiveHint: true
uploadcare_delete_filePermanently deletes a file from the project.No findings
Why it is in this group
- The name "uploadcare_delete_file" says "delete": a word for removing or ending something.
- The description says "Permanently deletes".
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Permanently deletes a file from the project. Destructive. REST API: DELETE /files/{uuid}/.
Annotations the server declares
- title: Delete file
- destructiveHint: true
uploadcare_store_fileMarks a file as permanently stored (otherwise unstored files are deleted after 24h).No findings
Why it is in this group
- The name "uploadcare_store_file" says "store": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Marks a file as permanently stored (otherwise unstored files are deleted after 24h). Additive. REST API: PUT /files/{uuid}/storage/.
Annotations the server declares
- title: Store file
- destructiveHint: true
uploadcare_upload_from_urlUploads a file into the project from a public URL (additive).No findings
Why it is in this group
- The name "uploadcare_upload_from_url" says "upload": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Uploads a file into the project from a public URL (additive). Uses the Upload API host with the public key. Returns { type: "token", token } for async ingestion (poll separately) or the file info. Upload API: POST /from_url/.
Annotations the server declares
- title: Upload file from URL
- destructiveHint: true
Only reads 7Claude Code: allow
uploadcare_get_fileGet full info for a single file: uuid, url, original_filename, size, mime_type, is_image, is_ready, timestamps, variations, content_info, metadata, tags.No findings
Why it is in this group
- The name "uploadcare_get_file" says "get": a word for reading.
Description, as the server wrote it Get full info for a single file: uuid, url, original_filename, size, mime_type, is_image, is_ready, timestamps, variations, content_info, metadata, tags. REST API: GET /files/{uuid}/.
Annotations the server declares
- title: Get file
- readOnlyHint: true
uploadcare_get_file_metadataGet all custom metadata key/value pairs for a file.No findings
Why it is in this group
- The name "uploadcare_get_file_metadata" says "get": a word for reading.
Description, as the server wrote it Get all custom metadata key/value pairs for a file. REST API: GET /files/{uuid}/metadata/.
Annotations the server declares
- title: Get file metadata
- readOnlyHint: true
uploadcare_get_groupGet info for a single file group by its id.No findings
Why it is in this group
- The name "uploadcare_get_group" says "get": a word for reading.
Description, as the server wrote it Get info for a single file group by its id. REST API: GET /groups/{uuid}/.
Annotations the server declares
- title: Get group
- readOnlyHint: true
uploadcare_get_projectGet project details: name, public key, collaborators, and whether autostore is enabled.No findings
Why it is in this group
- The name "uploadcare_get_project" says "get": a word for reading.
Description, as the server wrote it Get project details: name, public key, collaborators, and whether autostore is enabled. REST API: GET /project/.
Annotations the server declares
- title: Get project
- readOnlyHint: true
uploadcare_list_filesList files in the project (paginated envelope: next, previous, total, per_page, results).No findings
Why it is in this group
- The name "uploadcare_list_files" says "list": a word for reading.
Description, as the server wrote it List files in the project (paginated envelope: next, previous, total, per_page, results). REST API: GET /files/.
Annotations the server declares
- title: List files
- readOnlyHint: true
uploadcare_list_groupsList file groups in the project (paginated envelope: next, previous, total, per_page, results).No findings
Why it is in this group
- The name "uploadcare_list_groups" says "list": a word for reading.
Description, as the server wrote it List file groups in the project (paginated envelope: next, previous, total, per_page, results). REST API: GET /groups/.
Annotations the server declares
- title: List groups
- readOnlyHint: true
uploadcare_list_webhooksList all webhook subscriptions configured for the project.No findings
Why it is in this group
- The name "uploadcare_list_webhooks" says "list": a word for reading.
Description, as the server wrote it List all webhook subscriptions configured for the project. REST API: GET /webhooks/.
Annotations the server declares
- title: List webhooks
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.16.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http uploadcare https://uploadcare.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__uploadcare__uploadcare_get_project",
"mcp__uploadcare__uploadcare_list_files",
"mcp__uploadcare__uploadcare_get_file",
"mcp__uploadcare__uploadcare_get_file_metadata",
"mcp__uploadcare__uploadcare_list_groups",
"mcp__uploadcare__uploadcare_get_group",
"mcp__uploadcare__uploadcare_list_webhooks"
],
"ask": [],
"deny": [
"mcp__uploadcare__uploadcare_upload_from_url",
"mcp__uploadcare__uploadcare_store_file",
"mcp__uploadcare__uploadcare_delete_file",
"mcp__uploadcare__uploadcare_create_webhook"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as uploadcare. Review it before you use it.