loading…
Search for a command to run...
loading…
Enables AI assistants to upload, transform, and serve images using the Spronta Image CDN. It supports real-time image processing, global CDN delivery, and manag
Enables AI assistants to upload, transform, and serve images using the Spronta Image CDN. It supports real-time image processing, global CDN delivery, and management of projects and transform presets through natural language.
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)npm install -g @spronta/mcp
# or use directly
npx @spronta/mcp
claude mcp add spronta \
-e SPRONTA_API_KEY=spronta_img_... \
-e SPRONTA_PROJECT_ID=your-project-id \
-- npx @spronta/mcp
Add to your MCP configuration file:
{
"mcpServers": {
"spronta": {
"command": "npx",
"args": ["@spronta/mcp"],
"env": {
"SPRONTA_API_KEY": "spronta_img_...",
"SPRONTA_PROJECT_ID": "your-project-id"
}
}
}
}
| 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:
> Upload this image to my project: https://example.com/photo.jpg
> Create a thumbnail preset: 200x200, cover crop, face detection, webp format
> How many requests did my project handle this week?
> Generate a signed URL for hero.jpg that expires in 1 hour
> List all my images and update the alt text on the product shots
> Build a CDN URL for banner.png at 1200px wide in avif format
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:
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"spronta-mcp-server": {
"command": "npx",
"args": []
}
}
}