ShortPixel MCP Server
OfficialShortPixel MCP サーバー
ShortPixel SPIO 画像最適化を AI エージェント(Cursor、Claude Desktop、VS Code など)に公開するパブリック HTTP MCP サーバー。
アーキテクチャ
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)各リクエストはユーザー自身の ShortPixel API キーを保持します。MCP サーバーはユーザーキーを保存せず、パブリック SPIO API に転送します。
Related MCP server: img-convert MCP Server
要件
Node.js 20+
npm
インストール(サーバー)
npm ci
npm run build
cp .env.example .envサーバー設定(ポート、許可ホスト、アップストリーム API URL)は .env を編集します。ユーザー API キーをサーバーの .env に配置しないでください。
実行
npm startエンドポイント:
パス | メソッド | 説明 |
| GET | ヘルスチェック(API キー不要) |
| GET | 認証チェック — API キーヘッダーが存在すれば ok を返します |
| 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/pingTLS が nginx で設定されていない限り、ポート 3000 では http://(https:// ではない)を使用します。
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":{}}'認証
すべての MCP リクエストでユーザーの ShortPixel API キーを送信します:
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 ヘッダー許可リスト(本番環境推奨) |
| いいえ |
| アップストリーム SPIO API ベース URL |
| いいえ |
| 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) — 1 行に 1 つの JSON オブジェクト:
イベント | タイミング |
| すべてのリクエスト(メソッド、パス、ステータス、期間、MCP メソッド/ツール) |
| SPIO |
| SPIO 結果サマリー(ステータス、改善率 %) |
| API キーなしのリクエスト |
API キーはマスクされます(****abcd)。完全なキーがログに記録されることはありません。
注記: チャットプロンプトがこのサーバーに到達することはありません。LLM(MCP クライアント内)はユーザーテキストを構造化された tools/call に変換し、サーバーは JSON-RPC 引数のみを認識して SPIO API にマッピングします。
pm2 logs shortpixel-mcp
# or
npm starttools/list および追加の HTTP 行については LOG_LEVEL=debug を設定します。
開発サーバーへのデプロイ
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 ツール
ツール | 説明 |
| SPIO reducer API を介して 1 つ以上のパブリック画像 URL を最適化します |
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 |
|
クラス | 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