The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Spronta MCP listing page.
MCP server for uploading, transforming, and serving images on a global CDN — directly from AI assistants.
Connect Claude, GPT, Cursor, Windsurf, or any MCP-compatible client to the Spronta Image CDN. Upload images from URLs or base64, apply real-time transforms (resize, crop, format conversion, smart crop, blurhash), create reusable presets, generate signed URLs, and monitor usage — all through natural language.
thumbnail, hero, og-image)Add to your MCP configuration file:
| Variable | Required | Description |
|---|---|---|
SPRONTA_API_KEY | Yes | Your project API key |
SPRONTA_PROJECT_ID | No | Default project ID (can also be passed per-tool) |
SPRONTA_API_URL | No | API base URL (default: https://app.spronta.com/api) |
| Tool | Description |
|---|---|
list_projects | List all image projects |
create_project | Create a new project |
get_project | Get project details with usage stats |
update_project | Update name or custom domain |
delete_project | Permanently delete a project |
| Tool | Description |
|---|---|
upload_image | Upload from URL or base64 — handles presigned upload, blurhash generation, and CDN URL creation in one call |
list_images | List images with pagination |
update_image | Update alt text and tags |
delete_image | Delete an image from CDN and storage |
| Tool | Description |
|---|---|
list_presets | List named transform presets |
create_preset | Create a preset (use in CDN URLs with ?t=name) |
update_preset | Update a preset's name or transforms |
delete_preset | Delete a preset |
| Tool | Description |
|---|---|
get_signing_config | Get URL signing configuration |
update_signing | Enable/disable HMAC-SHA256 signing |
generate_signed_url | Generate a signed CDN URL with optional expiration |
| Tool | Description |
|---|---|
get_usage | Get daily metrics (requests, bandwidth, transforms) |
build_cdn_url | Build a CDN URL with transform parameters (no API call) |
Once connected, just ask your AI:
When creating presets or building URLs, these transforms are available:
| Parameter | Type | Description |
|---|---|---|
width | integer | Output width (1–8192) |
height | integer | Output height (1–8192) |
fit | string | cover, contain, fill, scale-down, crop, pad |
format | string | auto, webp, avif, jpeg, png, jxl |
quality | integer | 1–100 |
qualityMode | string | high, medium, low (perceptual targeting) |
gravity | string | auto, face, center, position keywords |
blur | integer | Gaussian blur (1–250) |
sharpen | number | Unsharp mask (0–10) |
radius | integer | Corner radius (1–9999, or "max" for circle) |
grayscale | boolean | Convert to grayscale |
brightness | integer | -100 to 100 |
contrast | number | -100 to 100 |
saturation | integer | -100 to 100 |
sepia | boolean | Sepia tone filter |
rotate | integer | 90, 180, 270 |
flip | string | h (horizontal), v (vertical) |
The upload_image tool handles the full upload pipeline in a single call:
@spronta/images — Core URL builder SDK (zero deps)@spronta/images-react — React components@spronta/images-next — Next.js integration