ShortPixel MCP Server
OfficialShortPixel MCP Server
Публичный HTTP MCP-сервер, который предоставляет оптимизацию изображений ShortPixel SPIO AI-агентам (Cursor, Claude Desktop, VS Code и др.).
Архитектура
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)Каждый запрос содержит собственный API-ключ ShortPixel пользователя. MCP-сервер не хранит ключи пользователей — он передает их в публичный SPIO API.
Related MCP server: img-convert MCP Server
Требования
Node.js 20+
npm
Установка (сервер)
npm ci
npm run build
cp .env.example .envОтредактируйте .env для настроек сервера (порт, разрешенные хосты, URL вышестоящего API). Не помещайте пользовательские API-ключи в .env сервера.
Запуск
npm startЭндпоинты:
Путь | Метод | Описание |
| GET | Проверка работоспособности (без API-ключа) |
| GET | Проверка аутентификации — возвращает ok, если заголовок с API-ключом присутствует |
| POST | MCP Streamable HTTP эндпоинт |
Быстрый тест (curl)
Сервер запущен, без API-ключа:
curl http://mcp.shortpixel.com:3000/healthAPI-ключ присутствует (простая проверка):
curl -i -H "Authorization: Bearer YOUR_API_KEY" http://mcp.shortpixel.com:3000/pingИспользуйте http:// (не https://) на порту 3000, если TLS не настроен на nginx.
MCP-запрос (важно: Streamable HTTP-клиенты должны принимать как JSON, так и 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":{}}'Аутентификация
Отправляйте API-ключ ShortPixel пользователя в каждом MCP-запросе:
Authorization: Bearer <shortpixel_api_key>Альтернативный заголовок:
X-ShortPixel-Api-Key: <shortpixel_api_key>Пользователи без ключа могут получить его на shortpixel.com.
Настройка Cursor (конечный пользователь)
{
"mcpServers": {
"shortpixel": {
"url": "https://mcp.shortpixel.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_SHORTPIXEL_API_KEY"
}
}
}
}Замените URL на ваш развернутый хост во время разработки (например, http://localhost:3000/mcp).
Переменные окружения сервера
Переменная | Обязательная | По умолчанию | Описание |
| нет |
| HTTP-порт для прослушивания |
| нет | — | Список разрешенных заголовков Host через запятую (рекомендуется в продакшене) |
| нет |
| Базовый URL вышестоящего SPIO API |
| нет |
| Версия плагина, отправляемая в SPIO |
| нет |
| Уровень детализации логов: |
| нет |
|
|
| нет |
| Логирование входящих/исходящих MCP JSON-RPC полезных нагрузок |
Для внутренней разработки ShortPixel установите SHORTPIXEL_API_URL=https://devapi2.shortpixel.com/v2.
Логирование запросов
Логи выводятся в stdout (pm2 logs / npm start).
По умолчанию (LOG_FORMAT=text) — повествовательный поток, которому можно следовать:
[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 оставляет только высокоуровневые логи приложения и скрывает дампы MCP-полезных нагрузок.
Структурированный (LOG_FORMAT=json) — один JSON-объект на строку:
Событие | Когда |
| Каждый запрос (метод, путь, статус, длительность, MCP-метод/инструмент) |
| Исходящий вызов к SPIO |
| Сводка результата SPIO (статус, % улучшения) |
| Запрос без API-ключа |
API-ключи маскируются (****abcd). Полные ключи никогда не логируются.
Примечание: Подсказка чата никогда не достигает этого сервера. LLM (внутри MCP-клиента) преобразует текст пользователя в структурированный tools/call; сервер видит только JSON-RPC аргументы и сопоставляет их с SPIO API.
pm2 logs shortpixel-mcp
# or
npm startУстановите LOG_LEVEL=debug для tools/list и дополнительных HTTP-строк.
Развертывание на dev-сервере
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 startПовторно загрузите package.json и package-lock.json после каждого изменения зависимостей. Если сборка все еще не удается, выполните npm ci --include=dev (некоторые серверы устанавливают NODE_ENV=production, что пропускает devDependencies).
Доступные MCP-инструменты
Инструмент | Описание |
| Оптимизация одного или нескольких публичных URL изображений через SPIO reducer API |
Аргументы optimize_image_urls:
urls(обязательный): Публичные URL изображений для оптимизации (макс. 100)lossy: Уровень сжатия (0без потерь,1с потерями,2глянцевый)wait: Макс. время ожидания в секундах (0для немедленного возврата,1-30для ожидания)upscale: Коэффициент увеличения (0,2,3,4)resize: Режим изменения размера (0нет,1внешний,3внутренний,4умная обрезка)resize_width,resize_height: Целевые размеры изменения в пикселяхcmyk2rgb: Преобразование CMYK в RGB (1да,0нет)keep_exif: Сохранение EXIF-метаданных (1сохранить,0удалить)convertto: Значение конвертации (+webp,+avif,+webp|+avif,webp|avif,jpg,png,gif)bg_remove: Удаление фона (1, URL изображения или#rrggbbxx)refresh: Принудительная повторная загрузка источника (1) или использование кэшированных оптимизированных данных (0)paramlist: Массив переопределений для каждого URL (должен соответствовать длинеurls)returndatalist: Любой массив, возвращаемый без изменений в ответе
Структура проекта
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/normalizeСоглашения об именовании
Вид | Стиль | Пример |
Файлы | kebab-case | `spio-api-client.ts |
Классы | PascalCase |
|
Методы | camelCase |
|
Скрипты
Команда | Описание |
| Компиляция TypeScript в |
| Запуск HTTP MCP-сервера |
| Запуск с tsx (без этапа сборки) |
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