# Uploadcare — how to use (mcp.ai)

Connect your Uploadcare account and use 34 tools for file management and storage straight from your AI agent. Connect with your own API key. Uploadcare is a comprehensive file handling service that offers uploading, storage, processing, and delivery solutions for web and mobile applications.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_uploadcare?ms=1787291220000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `uploadcare_check_aws_rekognition_moderation_status`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/uploadcare`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/uploadcare/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/uploadcare/check/aws/rekognition/moderation/status` — Tool to check the execution status of AWS Rekognition Moderation labels detection. Use after initiating a moderation check to monitor progress and determine when results are ready.
  - body: { request_id: string }
- `POST https://api.mcp.ai/api/uploadcare/check/remove/bg/status` — Tool to check Remove.bg execution status and get the UUID of the file with removed background. Use after requesting background removal to poll for completion and retrieve the processed file UUID.
  - body: { request_id: string }
- `POST https://api.mcp.ai/api/uploadcare/copy/file/local` — Tool to copy a file to local storage within the same Uploadcare project. Use when you need to create a duplicate of an existing file.
  - body: { store?: string, source: string, metadata?: object }
- `POST https://api.mcp.ai/api/uploadcare/create/file/group/upload` — Tool to create a file group from already uploaded files using Uploadcare's Upload API. Use after files have been uploaded to group them together.
  - body: { files: string[], expire?: integer, pub_key: string, signature?: string }
- `POST https://api.mcp.ai/api/uploadcare/create/webhook` — Create a new webhook subscription to receive notifications when file events occur. Use this to get real-time callbacks at your URL when files are uploaded, stored, deleted, or flagged. The project is 
  - body: { event: string, is_active?: boolean, target_url: string, signing_secret?: string }
- `POST https://api.mcp.ai/api/uploadcare/delete/file/metadata/key` — Tool to delete a specific metadata key from an Uploadcare file. Use when you need to remove obsolete metadata after file processing.
  - body: { key: string, uuid: string }
- `POST https://api.mcp.ai/api/uploadcare/delete/files` — Tool to delete multiple files from Uploadcare storage in a single request. Use when you need to remove up to 100 files at once. Invalid UUIDs or missing files will be reported in the problems field.
  - body: { file_uuids: string[] }
- `POST https://api.mcp.ai/api/uploadcare/delete/group` — Tool to delete a file group. Use when you need to remove a group from the project. Note that files within the group are not deleted, only the group itself.
  - body: { uuid: string }
- `POST https://api.mcp.ai/api/uploadcare/delete/single/file` — Tool to delete a single file from Uploadcare storage by UUID. Use when you need to permanently remove a file from storage (note: file may remain in CDN cache).
  - body: { uuid: string }
- `POST https://api.mcp.ai/api/uploadcare/delete/webhook` — Permanently deletes a webhook subscription from your Uploadcare project. Use the List Webhooks action first to obtain the webhook ID. This action is irreversible.
  - body: { id: string }
- `POST https://api.mcp.ai/api/uploadcare/delete/webhook/by/url` — Tool to delete a webhook subscription by its target URL. Use when you know the webhook's target URL but not its ID.
  - body: { target_url: string }
- `POST https://api.mcp.ai/api/uploadcare/execute/clamav/scan` — Tool to execute ClamAV virus scan on an uploaded file. Use this when you need to check if a file contains viruses or malware. The scan runs asynchronously - you receive a request_id to track the scan 
  - body: { params?: object, target: string }
- `POST https://api.mcp.ai/api/uploadcare/get/aws/rekognition/execution/status` — Tool to check AWS Rekognition execution status for label detection. Use after initiating an AWS Rekognition add-on execution to monitor job progress.
  - body: { request_id: string }
- `POST https://api.mcp.ai/api/uploadcare/get/clamav/scan/status` — Tool to check the execution status of a ClamAV virus scan. Use after initiating a ClamAV scan to monitor its progress and determine when results are available.
  - body: { request_id: string }
- `POST https://api.mcp.ai/api/uploadcare/get/file/group/info/upload` — Tool to get information about a file group from the Upload API. Use when you need to retrieve group details including file metadata from the upload endpoint.
  - body: { pub_key: string, group_id: string }
- `POST https://api.mcp.ai/api/uploadcare/get/file/info` — Tool to get information about a specific file. Use after uploading a file to retrieve detailed metadata and usage information.
  - body: { uuid: string }
- `POST https://api.mcp.ai/api/uploadcare/get/file/metadata` — Tool to retrieve all metadata key-value pairs associated with an Uploadcare file. Use when you need to inspect custom metadata attached to a file.
  - body: { uuid: string }
- `POST https://api.mcp.ai/api/uploadcare/get/file/metadata/key` — Tool to get the value of a specific metadata key for an Uploadcare file. Use when you need to retrieve custom metadata associated with a file.
  - body: { key: string, uuid: string }
- `POST https://api.mcp.ai/api/uploadcare/get/group/info` — Tool to get information about a specific file group. Use when you need to retrieve detailed metadata about a group and its contained files.
  - body: { uuid: string }
- `POST https://api.mcp.ai/api/uploadcare/get/project/info` — Tool to get information about the current Uploadcare project. Use when you need to retrieve project configuration details.
- `POST https://api.mcp.ai/api/uploadcare/get/uploaded/file/info` — Tool to get information about an uploaded file using Uploadcare's Upload API. Use this to retrieve file metadata including size, MIME type, and content information immediately after upload.
  - body: { file_id: string, pub_key: string }
- `POST https://api.mcp.ai/api/uploadcare/get/url/upload/status` — Tool to check the status of a URL upload task. Use after initiating a file upload from a URL to monitor progress or verify completion.
  - body: { token: string }
- `POST https://api.mcp.ai/api/uploadcare/image/mirror` — Tool to mirror an image horizontally via Uploadcare CDN. Use when you need the URL of a horizontally flipped image.
  - body: { uuid: string }
- `POST https://api.mcp.ai/api/uploadcare/list/files` — List files in an Uploadcare project with pagination and optional filtering. Use this tool to retrieve uploaded files. Supports filtering by storage status, removal status, and date range. Results are 
  - body: { limit?: integer, offset?: integer, stored?: string, include?: string, removed?: string, to_date?: string, ordering?: string, from_date?: string }
- `POST https://api.mcp.ai/api/uploadcare/list/groups` — Tool to list groups in the project. Use when you need to retrieve paginated groups of files.
  - body: { limit?: integer, offset?: integer, ordering?: string }
- `POST https://api.mcp.ai/api/uploadcare/list/webhooks` — Retrieves all webhook subscriptions for the authenticated Uploadcare project. Use this tool to view configured webhooks that receive notifications for file events (uploads, deletions, storage, etc.). 
- `POST https://api.mcp.ai/api/uploadcare/rotate/image` — Tool to rotate an image by specified degrees counterclockwise. Use when you need to rotate an uploaded image by 90, 180, or 270 degrees. Use after confirming the file UUID.
  - body: { uuid: string, degrees: integer }
- `POST https://api.mcp.ai/api/uploadcare/start/multipart/upload` — Tool to start a multipart upload session for files larger than 100MB. Use when you need to upload large files that exceed the direct upload size limit. Returns presigned URLs for uploading file parts.
  - body: { size: integer, expire?: integer, filename: string, part_size?: integer, signature?: string, content_type: string, UPLOADCARE_STORE?: string, UPLOADCARE_PUB_KEY: string }
- `POST https://api.mcp.ai/api/uploadcare/store/batch/files` — Tool to store multiple files in one request. Use when you need to mark up to 100 files as permanently stored in bulk.
  - body: { file_uuids: string[] }
- `POST https://api.mcp.ai/api/uploadcare/store/file` — Tool to mark an Uploadcare file as permanently stored. Use after uploading a file when you need to store it permanently.
  - body: { uuid: string }
- `POST https://api.mcp.ai/api/uploadcare/store/single/file` — Tool to store a single file by UUID permanently. Use when you need to make an uploaded file available permanently (stored files are retained indefinitely).
  - body: { uuid: string }
- `POST https://api.mcp.ai/api/uploadcare/update/file/metadata/key` — Tool to update or set the value of a specific metadata key for a file. Use when you need to add or modify file metadata.
  - body: { key: string, uuid: string, value: string }
- `POST https://api.mcp.ai/api/uploadcare/update/webhook` — Update an existing webhook subscription by its ID. Use this to modify the target URL, event type, active status, or signing secret of a webhook. Only provide the fields you want to update - all fields
  - body: { id: integer, event?: string, is_active?: boolean, target_url?: string, signing_secret?: string }
- `POST https://api.mcp.ai/api/uploadcare/upload/from/url` — Tool to upload a file from a publicly available URL to Uploadcare. Use when you need to import files from external URLs into your Uploadcare project.
  - body: { store?: string, pub_key: string, filename?: string, source_url: string, save_URL_duplicates?: string, check_URL_duplicates?: string }

## Example prompts
- "What can I do in Uploadcare?"
- "Show me a summary of my Uploadcare account"

## More
- Page: https://mcp.ai/uploadcare
- Agent spec (llms.txt): https://mcp.ai/uploadcare/llms.txt
- Postman collection: https://mcp.ai/uploadcare/postman.json
