Manage Uploadcare files, groups and webhooks; upload and store files.
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Creates a webhook subscription (additive). The project will POST to target_url when the chosen event fires. REST API: POST /webhooks/.
URL the webhook will POST to.
Event to subscribe to. Default "file.uploaded".
Whether the webhook is active. Default true.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Creates a webhook subscription (additive). The project will POST to target_url when the chosen event fires. REST API: POST /webhooks/.
| Argument | Type | Description |
|---|---|---|
| event | string | Event to subscribe to. Default "file.uploaded". |
| is_active | boolean | Whether the webhook is active. Default true. |
| target_url* | string | URL the webhook will POST to. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"target_url"
],
"properties": {
"event": {
"type": "string",
"description": "Event to subscribe to. Default \"file.uploaded\"."
},
"is_active": {
"type": "boolean",
"description": "Whether the webhook is active. Default true."
},
"target_url": {
"type": "string",
"minLength": 1,
"description": "URL the webhook will POST to."
}
}
}Permanently deletes a file from the project. Destructive. REST API: DELETE /files/{uuid}/.
| Argument | Type | Description |
|---|---|---|
| uuid* | string | File UUID to delete. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"uuid"
],
"properties": {
"uuid": {
"type": "string",
"minLength": 1,
"description": "File UUID to delete."
}
}
}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}/.
| Argument | Type | Description |
|---|---|---|
| uuid* | string | File UUID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"uuid"
],
"properties": {
"uuid": {
"type": "string",
"minLength": 1,
"description": "File UUID."
}
}
}Get all custom metadata key/value pairs for a file. REST API: GET /files/{uuid}/metadata/.
| Argument | Type | Description |
|---|---|---|
| uuid* | string | File UUID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"uuid"
],
"properties": {
"uuid": {
"type": "string",
"minLength": 1,
"description": "File UUID."
}
}
}Get info for a single file group by its id. REST API: GET /groups/{uuid}/.
| Argument | Type | Description |
|---|---|---|
| uuid* | string | Group id in the form "<uuid>~<count>", e.g. "badfc9f7-...~2". |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"uuid"
],
"properties": {
"uuid": {
"type": "string",
"minLength": 1,
"description": "Group id in the form \"<uuid>~<count>\", e.g. \"badfc9f7-...~2\"."
}
}
}Get project details: name, public key, collaborators, and whether autostore is enabled. REST API: GET /project/.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List files in the project (paginated envelope: next, previous, total, per_page, results). REST API: GET /files/.
| Argument | Type | Description |
|---|---|---|
| from | string | Pagination cursor taken from a previous response's `next` URL. |
| limit | integer | Files per page (max 1000). Default 100. |
| stored | boolean | Filter by stored status (true = stored, false = not stored). |
| removed | boolean | Filter by removed status (true = removed, false = present). |
| ordering | string | Sort order, e.g. datetime_uploaded or -datetime_uploaded (descending). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"from": {
"type": "string",
"description": "Pagination cursor taken from a previous response's `next` URL."
},
"limit": {
"type": "integer",
"maximum": 1000,
"description": "Files per page (max 1000). Default 100.",
"exclusiveMinimum": 0
},
"stored": {
"type": "boolean",
"description": "Filter by stored status (true = stored, false = not stored)."
},
"removed": {
"type": "boolean",
"description": "Filter by removed status (true = removed, false = present)."
},
"ordering": {
"type": "string",
"description": "Sort order, e.g. datetime_uploaded or -datetime_uploaded (descending)."
}
}
}List file groups in the project (paginated envelope: next, previous, total, per_page, results). REST API: GET /groups/.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Groups per page (max 1000). Default 100. |
| ordering | string | Sort order, e.g. datetime_created or -datetime_created (descending). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 1000,
"description": "Groups per page (max 1000). Default 100.",
"exclusiveMinimum": 0
},
"ordering": {
"type": "string",
"description": "Sort order, e.g. datetime_created or -datetime_created (descending)."
}
}
}List all webhook subscriptions configured for the project. REST API: GET /webhooks/.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Marks a file as permanently stored (otherwise unstored files are deleted after 24h). Additive. REST API: PUT /files/{uuid}/storage/.
| Argument | Type | Description |
|---|---|---|
| uuid* | string | File UUID to store. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"uuid"
],
"properties": {
"uuid": {
"type": "string",
"minLength": 1,
"description": "File UUID to store."
}
}
}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/.
| Argument | Type | Description |
|---|---|---|
| store | string | Store the file: "1" = store, "0" = don't store, "auto" = project default. Default "auto". |
| filename | string | Override the stored filename. |
| source_url* | string | Public URL of the file to ingest. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"source_url"
],
"properties": {
"store": {
"enum": [
"0",
"1",
"auto"
],
"type": "string",
"description": "Store the file: \"1\" = store, \"0\" = don't store, \"auto\" = project default. Default \"auto\"."
},
"filename": {
"type": "string",
"description": "Override the stored filename."
},
"source_url": {
"type": "string",
"minLength": 1,
"description": "Public URL of the file to ingest."
}
}
}