ShortPixel MCP Server
OfficialServidor MCP ShortPixel
Servidor público HTTP MCP que expone la optimización de imágenes ShortPixel SPIO a agentes de IA (Cursor, Claude Desktop, VS Code, etc.).
Arquitectura
AI client (Cursor, Claude, …)
│
│ MCP over HTTPS (Streamable HTTP)
▼
https://mcp.shortpixel.com/mcp
│
│ user's API key in Authorization header
▼
ShortPixel SPIO API (api.shortpixel.com)Cada solicitud lleva la propia clave API de ShortPixel del usuario. El servidor MCP no almacena las claves de los usuarios; las reenvía a la API pública de SPIO.
Related MCP server: img-convert MCP Server
Requisitos
Node.js 20+
npm
Instalación (servidor)
npm ci
npm run build
cp .env.example .envEdita .env para la configuración del servidor (puerto, hosts permitidos, URL de la API upstream). No pongas claves de API de usuarios en el .env del servidor.
Ejecución
npm startEndpoints:
Ruta | Método | Descripción |
| GET | Verificación de estado (sin clave API) |
| GET | Verificación de autenticación — devuelve ok si el encabezado de clave API está presente |
| POST | Endpoint HTTP Streamable MCP |
Prueba rápida (curl)
Servidor activo, sin clave API:
curl http://mcp.shortpixel.com:3000/healthClave API presente (verificación simple):
curl -i -H "Authorization: Bearer YOUR_API_KEY" http://mcp.shortpixel.com:3000/pingUsa http:// (no https://) en el puerto 3000 a menos que TLS esté configurado en nginx.
Solicitud MCP (importante: los clientes HTTP Streamable deben aceptar tanto JSON como SSE):
curl -s -N -X POST http://mcp.shortpixel.com:3000/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'Autenticación
Envía la clave API de ShortPixel del usuario en cada solicitud MCP:
Authorization: Bearer <shortpixel_api_key>Encabezado alternativo:
X-ShortPixel-Api-Key: <shortpixel_api_key>Los usuarios sin clave pueden obtener una en shortpixel.com.
Configuración en Cursor (usuario final)
{
"mcpServers": {
"shortpixel": {
"url": "https://mcp.shortpixel.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_SHORTPIXEL_API_KEY"
}
}
}
}Reemplaza la URL con tu host desplegado durante el desarrollo (por ejemplo, http://localhost:3000/mcp).
Variables de entorno del servidor
Variable | Obligatoria | Valor por defecto | Descripción |
| no |
| Puerto de escucha HTTP |
| no | — | Lista de hosts permitidos separada por comas (recomendado en producción) |
| no |
| URL base de la API SPIO upstream |
| no |
| Versión del plugin enviada a SPIO |
| no |
| Verbosidad del registro: |
| no |
|
|
| no |
| Registrar cargas útiles JSON-RPC MCP entrantes y salientes |
Para desarrollo interno de ShortPixel, establece SHORTPIXEL_API_URL=https://devapi2.shortpixel.com/v2.
Registro de solicitudes
Los registros se envían a la salida estándar (pm2 logs / npm start).
Por defecto (LOG_FORMAT=text) — flujo narrativo que puedes seguir:
[2026-06-30 15:01:53] [1/5] → CLIENT | HTTP POST /mcp | JSON-RPC request: "initialize" (client connects) | id: 0
{
"jsonrpc": "2.0",
"method": "initialize",
"id": 0,
"params": { ... }
}
[2026-06-30 15:01:53] [1/5] ← SERVER | HTTP POST /mcp 200 | JSON-RPC response: "initialize" (client connects)
[2026-06-30 15:01:53] [2/5] → CLIENT | HTTP POST /mcp | JSON-RPC request: "notifications/initialized" (session ready, no response body expected) | id: null
[2026-06-30 15:01:53] [2.5/5] → CLIENT | HTTP POST /mcp | JSON-RPC request: "tools/list" (client asks which tools exist) | id: 1
[2026-06-30 15:01:53] [2.5/5] ← SERVER | HTTP POST /mcp 200 | JSON-RPC response: "tools/list" (client asks which tools exist) | tools discovered: optimize_image_urls
[2026-06-30 15:02:18] [3/5] → CLIENT | HTTP POST /mcp | JSON-RPC request: "tools/call" (client runs a tool) | id: 2 | tool: "optimize_image_urls"
[2026-06-30 15:02:18] [4/5] MCP → SPIO API: POST reducer.php (args mapped to SPIO payload) | ...
[2026-06-30 15:02:35] [5/5] MCP ← SPIO API: Success | reduction: 27.41% | optimized: http://api.shortpixel.com/f/...-lossy.jpg | original: ...
[2026-06-30 15:02:35] [3/5] ← SERVER | HTTP POST /mcp 200 | JSON-RPC response: "tools/call" (client runs a tool) | tool: optimize_image_urls
{ "jsonrpc": "2.0", "id": 2, "result": { ... } }
[2026-06-30 15:02:35] ✓ round-trip done (16.3s)LOG_MCP_PROTOCOL=false mantiene solo los registros de aplicación de alto nivel y oculta los volcados de carga útil MCP.
Estructurado (LOG_FORMAT=json) — un objeto JSON por línea:
Evento | Cuándo |
| Cada solicitud (método, ruta, estado, duración, método/herramienta MCP) |
| Llamada saliente a |
| Resumen del resultado de SPIO (estado, % de mejora) |
| Solicitud sin clave API |
Las claves API están enmascaradas (****abcd). Las claves completas nunca se registran.
Nota: El mensaje del chat nunca llega a este servidor. El LLM (dentro del cliente MCP) convierte el texto del usuario en una llamada estructurada tools/call; el servidor solo ve los argumentos JSON-RPC y los asigna a la API de SPIO.
pm2 logs shortpixel-mcp
# or
npm startEstablece LOG_LEVEL=debug para tools/list y líneas HTTP adicionales.
Despliegue en servidor de desarrollo
cd /xxx/mcp.shortpixel.com
npm ci
npm run build
cp .env.example .env
# set ALLOWED_HOSTS and PORT, then run behind nginx with TLS
npm startVuelve a subir package.json y package-lock.json después de cada cambio de dependencia. Si la compilación aún falla, ejecuta npm ci --include=dev (algunos servidores establecen NODE_ENV=production lo que omite las devDependencies).
Herramientas MCP disponibles
Herramienta | Descripción |
| Optimiza una o más URLs de imágenes públicas mediante la API reductora de SPIO |
Argumentos de optimize_image_urls:
urls(obligatorio): URLs de imágenes públicas para optimizar (máx. 100)lossy: Nivel de compresión (0sin pérdida,1con pérdida,2brillante)wait: Segundos máximos de espera (0para devolver inmediatamente,1-30para esperar)upscale: Factor de ampliación (0,2,3,4)resize: Modo de redimensionamiento (0ninguno,1exterior,3interior,4recorte inteligente)resize_width,resize_height: Dimensiones objetivo de redimensionamiento en píxelescmyk2rgb: Convertir CMYK a RGB (1sí,0no)keep_exif: Conservar metadatos EXIF (1conservar,0eliminar)convertto: Valor de conversión (+webp,+avif,+webp|+avif,webp|avif,jpg,png,gif)bg_remove: Eliminación de fondo (1, URL de imagen, o#rrggbbxx)refresh: Forzar recuperación de fuente (1) o usar datos optimizados en caché (0)paramlist: Array de anulaciones por URL (debe coincidir con la longitud deurls)returndatalist: Cualquier array que se repite sin cambios en la respuesta
Estructura del proyecto
src/index.ts HTTP server entry point
src/http/auth.ts API key extraction from requests
src/mcp/create-mcp-server.ts Per-request MCP server factory
src/clients/spio-api-client.ts ShortPixel SPIO HTTP client
src/tools/spio-tools.ts MCP tools
src/http/request-log-middleware.ts HTTP request logging
src/logging/request-logger.ts Structured JSON logger
src/logging/mcp-protocol-log.ts MCP protocol payload capture/normalizeConvenciones de nomenclatura
Tipo | Estilo | Ejemplo |
Archivos | kebab-case |
|
Clases | PascalCase |
|
Métodos | camelCase |
|
Scripts
Comando | Descripción |
| Compila TypeScript a |
| Ejecuta el servidor HTTP MCP |
| Ejecuta con tsx (sin paso de compilación) |
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI assistants to download images from URLs and perform basic image optimization tasks.21818Apache 2.0
- Alicense-qualityDmaintenanceProvides AI agents with tools to convert images between formats and inspect image metadata, enabling seamless image processing within agent workflows.83MIT

@metricspot/mcp-serverofficial
Alicense-qualityFmaintenanceExposes SEO and AI-readability audit tools to AI agents, enabling one-shot anonymous audits or full authenticated audits with PDF reports and organic traffic data.66MIT- FlicenseAqualityDmaintenanceExposes the OctoBoost SEO API as MCP tools so agents can audit websites with compact, structured results instead of fetching and parsing raw HTML.486
Related MCP Connectors
SEO research, audits, backlinks, GSC, and content workflow tools for AI agents.
Zero-auth MCP: image optimize, cited storage/format data, and dev utilities LLMs get wrong.
URL intelligence for AI agents and developers. 16 tools, 25 signal weights, 20 free checks.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/short-pixel-optimizer/com.shortpixel.mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server