Spronta

io.github.sprontaPublished by GitHub account sprontav0.1.3Updated Nov 3, 2026

Upload, transform, and deliver images on a global CDN via AI agents.

The publisher's own server: Crawlie

VerifiedSTDIODesktop onlyCloud & InfrastructureMedia & Design

Overview

AI-generated overview

Spronta's MCP server lets an assistant upload images, apply CDN transforms, manage presets and signed URLs, and check usage on a global image CDN.

What you can do
  • Manage projects: list, create, inspect with usage stats, update, and delete image projects
  • Upload and manage images: upload from a URL or base64, list, edit alt text and tags, delete
  • Create and maintain named transform presets for resizing, cropping, format conversion, smart crop and blurhash
  • Configure HMAC-SHA256 URL signing and generate signed CDN URLs with optional expiry
  • Check daily usage metrics and build CDN URLs with transform parameters without an API call
When to use it
Useful when you want an assistant to publish and optimize images for a website or app without leaving the chat: uploading assets, producing resized or WebP/AVIF variants, setting up reusable presets, and issuing expiring links for private images.
Requirements
Runs locally over stdio, typically via npx @spronta/mcp, so Node.js is needed. Requires a Spronta account and project; the API key is passed in SPRONTA_API_KEY, with optional SPRONTA_PROJECT_ID and SPRONTA_API_URL. Network access to the Spronta API and image sources is required.
Before you install
The API key in SPRONTA_API_KEY grants access to the project's images and settings, so keep it out of shared configs. Tools can create, update and permanently delete projects, images and presets, and can enable or disable URL signing. Uploads fetch images from URLs you supply and send them to Spronta's storage and CDN.

Installation

In SourceWeft

  1. Open Spronta in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@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

Quick start

Install

bash
npm install -g @spronta/mcp# or use directlynpx @spronta/mcp

Claude Code

bash
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:

json
{  "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

VariableRequiredDescription
SPRONTA_API_KEYYesYour project API key
SPRONTA_PROJECT_IDNoDefault project ID (can also be passed per-tool)
SPRONTA_API_URLNoAPI base URL (default: https://app.spronta.com/api)

18 tools available

Projects

ToolDescription
list_projectsList all image projects
create_projectCreate a new project
get_projectGet project details with usage stats
update_projectUpdate name or custom domain
delete_projectPermanently delete a project

Upload & Images

ToolDescription
upload_imageUpload from URL or base64 — handles presigned upload, blurhash generation, and CDN URL creation in one call
list_imagesList images with pagination
update_imageUpdate alt text and tags
delete_imageDelete an image from CDN and storage

Transform Presets

ToolDescription
list_presetsList named transform presets
create_presetCreate a preset (use in CDN URLs with ?t=name)
update_presetUpdate a preset's name or transforms
delete_presetDelete a preset

URL Signing

ToolDescription
get_signing_configGet URL signing configuration
update_signingEnable/disable HMAC-SHA256 signing
generate_signed_urlGenerate a signed CDN URL with optional expiration

Analytics & Utility

ToolDescription
get_usageGet daily metrics (requests, bandwidth, transforms)
build_cdn_urlBuild 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:

ParameterTypeDescription
widthintegerOutput width (1–8192)
heightintegerOutput height (1–8192)
fitstringcover, contain, fill, scale-down, crop, pad
formatstringauto, webp, avif, jpeg, png, jxl
qualityinteger1–100
qualityModestringhigh, medium, low (perceptual targeting)
gravitystringauto, face, center, position keywords
blurintegerGaussian blur (1–250)
sharpennumberUnsharp mask (0–10)
radiusintegerCorner radius (1–9999, or "max" for circle)
grayscalebooleanConvert to grayscale
brightnessinteger-100 to 100
contrastnumber-100 to 100
saturationinteger-100 to 100
sepiabooleanSepia tone filter
rotateinteger90, 180, 270
flipstringh (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

Related packages

Links

License

MIT

Source: README.md at commit 0d70c36

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.3LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Crawlie integrations