Skip to main content
Glama

@spronta/mcp

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.

Why use this?

  • Upload images from AI — give your LLM an image URL and it uploads, optimizes, and returns a CDN link

  • Real-time transforms — resize, crop, convert to WebP/AVIF/JXL, smart crop with face detection

  • Global CDN delivery — images served from edge locations worldwide

  • Blurhash generation — automatic blur placeholders computed on upload

  • Signed URLs — HMAC-SHA256 signed URLs with expiration for private images

  • Named presets — create reusable transform configurations (e.g. thumbnail, hero, og-image)

  • No vendor lock-in — MIT licensed, open source

Related MCP server: ImaginePro MCP Server

Quick start

Install

npm install -g @spronta/mcp
# or use directly
npx @spronta/mcp

Claude Code

claude mcp add spronta \
  -e SPRONTA_API_KEY=spronta_img_... \
  -e SPRONTA_PROJECT_ID=your-project-id \
  -- npx @spronta/mcp

Claude Desktop / Cursor / Windsurf

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"
      }
    }
  }
}

Get your API key

  1. Sign up at app.spronta.com (free tier: 100 images)

  2. Create a project in the dashboard

  3. Copy your API key from project settings

Environment variables

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)

18 tools available

Projects

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

Upload & Images

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

Transform Presets

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

URL Signing

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

Analytics & Utility

Tool

Description

get_usage

Get daily metrics (requests, bandwidth, transforms)

build_cdn_url

Build a CDN URL with transform parameters (no API call)

Example prompts

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

Transform options

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)

How upload works

The upload_image tool handles the full upload pipeline in a single call:

  1. You provide an image URL (or base64 data) and a filename

  2. The server fetches the image

  3. Requests a presigned upload URL from Spronta

  4. Uploads the file directly to storage

  5. Confirms the upload — Spronta computes the blurhash and detects dimensions

  6. Returns the confirmed image with CDN URL, blurhash, and metadata

License

MIT

Available Tools

18 tools
build_cdn_urlB

Build a Spronta CDN URL with transform parameters. Does not make an API call.

Inputs: imagePath (required), projectId, transforms, cdnUrl.

create_presetA

Create a named transform preset. Use in CDN URLs with ?t=preset-name.

Inputs: name (required), transforms (required), projectId.

create_projectC

Create a new image project.

Inputs: name (required).

delete_imageA

Permanently delete an image from storage and database. Cannot be undone.

Inputs: imageId (required), projectId.

delete_presetC

Delete a transform preset.

Inputs: presetId (required), projectId.

delete_projectA

Permanently delete a project and all its images. This cannot be undone.

Inputs: projectId.

generate_signed_urlB

Generate an HMAC-SHA256 signed CDN URL. Requires signing to be enabled.

Inputs: path (required), projectId, params, expiresIn.

get_projectC

Get project details including usage stats (image count, total storage).

Inputs: projectId.

get_signing_configB

Get the URL signing configuration for a project (enabled, requireSignedUrls, masked secret).

Inputs: projectId.

get_usageB

Get daily usage metrics (requests, bandwidth, transforms) for a project.

Inputs: projectId, days.

list_imagesC

List images in a project with pagination.

Inputs: projectId, limit, offset.

list_presetsC

List named transform presets. Presets can be used in CDN URLs with ?t=name.

Inputs: projectId.

list_projectsB

List all Spronta image projects for your account.

Inputs: no named parameters.

update_imageC

Update an image's alt text and/or tags.

Inputs: imageId (required), projectId, altText, tags.

update_presetC

Update a preset's name or transforms.

Inputs: presetId (required), projectId, name, transforms.

update_projectC

Update a project's name or custom domain.

Inputs: projectId, name, customDomain.

update_signingA

Enable/disable URL signing. When enabling, a new secret is generated and returned once.

Inputs: projectId, enabled, requireSignedUrls.

upload_imageA

Upload an image from a URL. Fetches the image, uploads it to Spronta, and returns the CDN URL with blurhash. For base64, pass imageData instead of imageUrl.

Inputs: filename (required), projectId, imageUrl, imageData, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 18 tools

    Disambiguation5/5

    Every tool has a clearly distinct purpose with no overlap—tools are organized by resource type (project, image, preset, CDN) and action (create, get, list, update, delete), making misselection unlikely. For example, 'upload_image' and 'generate_signed_url' serve different functions, and operations like 'delete_image' vs 'delete_project' are well-specified.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case, such as 'create_project', 'list_images', and 'update_preset'. There are no deviations in naming conventions, making the set predictable and easy to parse for agents.

    Tool Count4/5

    With 18 tools, the count is slightly high but reasonable for a comprehensive image management and CDN service, covering projects, images, presets, and URL operations. It might feel a bit heavy, but each tool appears to serve a specific, necessary function without obvious redundancy.

    Completeness5/5

    The tool set provides complete CRUD/lifecycle coverage for the domain of image projects, including creation, listing, updating, and deletion for projects, images, and presets, plus CDN URL generation and usage metrics. There are no apparent gaps that would hinder agent workflows, such as missing upload or signing management.

    Related MCP Connectors

    Related MCP Servers