uploadcare

Manage Uploadcare files, groups and webhooks; upload and store files.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
85%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,386Tokens (tool definitions)
~784 BTypical response size
Moderate attention impact (1.08% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "uploadcare": {
      "url": "https://uploadcare.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://uploadcare.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (11)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢uploadcare_get_project

Get project details: name, public key, collaborators, and whether autostore is enabled. REST API: GET /project/.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢uploadcare_list_files(limit, ordering, stored, removed, from)

List files in the project (paginated envelope: next, previous, total, per_page, results). REST API: GET /files/.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "Files per page (max 1000). Default 100.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 1000
    },
    "ordering": {
      "description": "Sort order, e.g. datetime_uploaded or -datetime_uploaded (descending).",
      "type": "string"
    },
    "stored": {
      "description": "Filter by stored status (true = stored, false = not stored).",
      "type": "boolean"
    },
    "removed": {
      "description": "Filter by removed status (true = removed, false = present).",
      "type": "boolean"
    },
    "from": {
      "description": "Pagination cursor taken from a previous response's `next` URL.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢uploadcare_get_file(uuid)

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}/.

Input Schema

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string",
      "minLength": 1,
      "description": "File UUID."
    }
  },
  "required": [
    "uuid"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢uploadcare_get_file_metadata(uuid)

Get all custom metadata key/value pairs for a file. REST API: GET /files/{uuid}/metadata/.

Input Schema

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string",
      "minLength": 1,
      "description": "File UUID."
    }
  },
  "required": [
    "uuid"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢uploadcare_list_groups(limit, ordering)

List file groups in the project (paginated envelope: next, previous, total, per_page, results). REST API: GET /groups/.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "Groups per page (max 1000). Default 100.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 1000
    },
    "ordering": {
      "description": "Sort order, e.g. datetime_created or -datetime_created (descending).",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢uploadcare_get_group(uuid)

Get info for a single file group by its id. REST API: GET /groups/{uuid}/.

Input Schema

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string",
      "minLength": 1,
      "description": "Group id in the form \"<uuid>~<count>\", e.g. \"badfc9f7-...~2\"."
    }
  },
  "required": [
    "uuid"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢uploadcare_list_webhooks

List all webhook subscriptions configured for the project. REST API: GET /webhooks/.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴uploadcare_upload_from_url(source_url, store, filename)

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/.

Input Schema

{
  "type": "object",
  "properties": {
    "source_url": {
      "type": "string",
      "minLength": 1,
      "description": "Public URL of the file to ingest."
    },
    "store": {
      "description": "Store the file: \"1\" = store, \"0\" = don't store, \"auto\" = project default. Default \"auto\".",
      "type": "string",
      "enum": [
        "0",
        "1",
        "auto"
      ]
    },
    "filename": {
      "description": "Override the stored filename.",
      "type": "string"
    }
  },
  "required": [
    "source_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴uploadcare_store_file(uuid)

Marks a file as permanently stored (otherwise unstored files are deleted after 24h). Additive. REST API: PUT /files/{uuid}/storage/.

Input Schema

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string",
      "minLength": 1,
      "description": "File UUID to store."
    }
  },
  "required": [
    "uuid"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴uploadcare_delete_file(uuid)

Permanently deletes a file from the project. Destructive. REST API: DELETE /files/{uuid}/.

Input Schema

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string",
      "minLength": 1,
      "description": "File UUID to delete."
    }
  },
  "required": [
    "uuid"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴uploadcare_create_webhook(target_url, event, is_active)

Creates a webhook subscription (additive). The project will POST to target_url when the chosen event fires. REST API: POST /webhooks/.

Input Schema

{
  "type": "object",
  "properties": {
    "target_url": {
      "type": "string",
      "minLength": 1,
      "description": "URL the webhook will POST to."
    },
    "event": {
      "description": "Event to subscribe to. Default \"file.uploaded\".",
      "type": "string"
    },
    "is_active": {
      "description": "Whether the webhook is active. Default true.",
      "type": "boolean"
    }
  },
  "required": [
    "target_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Recommended Prompts

retrieve_data
Get details about [item] from uploadcare
Expected tools: uploadcare_get_project
fetch_info
Fetch [information type] using uploadcare
Expected tools: uploadcare_get_project
list_items
List all [items] available in uploadcare
Expected tools: uploadcare_list_files
browse_collection
Show me the [collection] from uploadcare
Expected tools: uploadcare_list_files
explore_workflow
List available [items], then get details for each one using uploadcare
Expected tools: uploadcare_list_filesuploadcare_get_project

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded11 tools
verifiedversion not recorded11 tools