The image compression MCP server

An image compression MCP server lets an AI assistant compress and convert images for you. Blinkimg’s MCP server works in Claude, ChatGPT, Claude Code, Cursor, VS Code, Gemini CLI and Codex, on web images and on files on your disk. Every account gets 500 free credits a month.

  • Sign in or API key
  • Local files too
  • Exact byte caps

1 credit to compress · 2 to convert · no card

Quick start

Server URL
https://api.blinkimg.com/mcp
Claude Code
claude mcp add --transport http blinkimg https://api.blinkimg.com/mcp
Then ask
Convert every PNG in ./public to AVIF under 100 KB

Each figure is a file the engine produced, not an estimate. How we measure names the source and the settings.

No key to paste

Connect with one click

Apps that support MCP sign-in connect by URL. You sign in on blinkimg.com once, allow the app on one screen, and the tools run on your account.

  • Claude on the web, desktop and mobile

    1. Open Customize > Connectors and choose Add custom connector.
    2. Paste https://api.blinkimg.com/mcp and select Add.
    3. Select Connect, sign in to Blinkimg and allow the app.

    Claude’s Free plan allows one custom connector. Claude’s connector docs

  • ChatGPT in developer mode

    1. In Settings, open Connectors (Apps), then Advanced settings, and turn on Developer mode.
    2. Create a connector with https://api.blinkimg.com/mcp and OAuth.
    3. Sign in to Blinkimg and allow the app.

    Developer mode is on Plus, Pro, Business, Enterprise and Education, on the web. OpenAI’s developer mode guide

  • Claude Code with sign-in

    Terminal
    claude mcp add --transport http blinkimg https://api.blinkimg.com/mcp

    Then type /mcp in a session and sign in to Blinkimg. Add no header: a configured Authorization header turns the sign-in off.

Other apps that follow the MCP authorization spec sign in the same way. Each app you connect shows up in Settings under Connected apps, with Disconnect beside it.

For developer tools

Connect with an API key

Developer tools send Authorization: Bearer bk_... or X-API-Key: bk_... with every call. Keep the key in an environment variable named BLINKIMG_API_KEY, then pick your client.

Claude Code

One command for you alone, or a .mcp.json in the project root that keeps the key out of git. Add --scope user after the name to use the server in every project.

Terminal
claude mcp add --transport http blinkimg https://api.blinkimg.com/mcp \
  --header "Authorization: Bearer YOUR_KEY"
.mcp.json
{
  "mcpServers": {
    "blinkimg": {
      "type": "http",
      "url": "https://api.blinkimg.com/mcp",
      "headers": {
        "Authorization": "Bearer ${BLINKIMG_API_KEY}"
      }
    }
  }
}

Watch out: a configured Authorization header turns off the OAuth sign-in. Leave the header out to sign in instead. claude mcp list shows the server as Connected, Needs authentication or Failed to connect.

Checked against the Claude Code MCP docs on 1 October 2026.

No key yet? Get an API key from your account. Keys start with bk_.

Example prompts

Compress images with Claude or your editor: prompts to try

Ask in plain words. A file on your disk needs an agent that runs commands, such as Claude Code, Cursor or Codex; in Claude or ChatGPT, give a public image address.

  • “Convert every PNG in ./public to AVIF under 100 KB”

    The agent calls upload_image for each file and runs the curl command it returns, then convert_image with target_format avif and target_bytes 100000.

  • “Compress https://example.com/hero.jpg to under 200 KB and keep it a JPEG”

    One compress_image call with the image_url and target_bytes 200000.

  • “Turn photo.heic into a WebP no wider than 1600 pixels”

    upload_image, then convert_image with target_format webp and max_width 1600.

  • “Scan https://example.com and tell me which images cost the most”

    analyze_page returns each image, what it could save, a score and a report link.

  • “How many Blinkimg credits do I have left?”

    get_quota reads the balance and the day the free allowance resets.

The tools

Six tools, and what each one costs

Every tool runs on your account and spends credits from one balance, the same one as the developer API.

The MCP server’s image optimization tools and what each one costs
ToolWhat it doesCredits
upload_imageSends a file from your computer. It returns a one-time upload link, good for 15 minutes, and a ready curl command that sends the file straight to storage.Free
compress_imageMakes an image smaller, from an image_url or an upload_id. It keeps the format unless target_format names another one.1 credit; 2 when target_format changes the format
convert_imageConverts to JPEG, PNG, WebP or AVIF, compressed on the way. HEIC, JPEG, PNG, WebP and AVIF go in.2 credits
get_jobReads a job by its id: the status, the sizes before and after, and the download link once it has succeeded.Free
analyze_pageScans a public web page for image weight: what its images could save, a score and an estimated load-time gain.Free; counts against your plan's scans a day (25 on Free)
get_quotaReads your plan, the credits left, when the free allowance resets, and the limits that apply to your key.Free

analyze_page runs the same scan as the website image analyzer.

  • Options on the two image tools

    • target_format: jpeg, png, webp or avif.
    • quality: 1 to 100, or auto, the engine’s content-aware choice and the default.
    • target_bytes: a hard cap on the output size. The engine lowers quality, then dimensions, until the file fits, or says why it cannot.
    • min_bytes: a floor, for forms that refuse a file under a minimum size.
    • max_width and max_height: fit the picture inside a box. It is never enlarged.
    • keep_metadata: keep EXIF and other metadata. The default strips it.
  • What every result carries

    A download link good for an hour, a download_command (a ready curl -o line that saves the file), and the sizes before and after. The file itself stays for a day.

    A tool waits up to 25 seconds for the engine. A job still running after that comes back as a job_id for get_job.

Before you rely on it

Limits and privacy

The numbers that bound a session, and what happens to every file it sends.

  • Limits

    • 500 free credits a month on every account, reset on the 1st. Plans and packs add more: image API pricing.
    • upload_image takes a file up to your plan’s cap, 30 MB on Free. get_quota returns the exact caps for your key.
    • One key runs 2 image_url downloads at a time. Another call waits in line for up to 20 seconds.
    • Gemini Enterprise is not supported yet: it needs an OAuth client that an admin creates.
  • Your files

    • Every file is deleted within 24 hours of the upload.
    • Metadata such as EXIF and GPS is stripped unless you set keep_metadata.
    • No person opens your files, and no image trains a model.
    • An app you connect gets a token that works on the MCP server alone. Disconnect it in Settings at any time.

    The privacy policy says what a job record keeps, and for how long.

When it does not connect

Troubleshooting

Most failed connections come down to one of these.

Common MCP setup mistakes and their fixes
SymptomFix
Gemini CLI does not connectUse httpUrl. In Gemini CLI, url means the older SSE transport.
Cline does not connectAdd "type": "streamableHttp". Without it, Cline uses the legacy SSE transport.
VS Code does not list the serverIn .vscode/mcp.json the top-level key is servers, not mcpServers, with "type": "http" on the server.
Codex sends no keybearer_token_env_var takes the variable’s name, BLINKIMG_API_KEY, not the bk_ key itself.
A 401 in an app opened from the Mac DockAn app opened from the Dock does not see variables exported in ~/.zshrc. Paste the key, or start the app from a terminal.
Claude Code says Missing environment variableBLINKIMG_API_KEY was not set when Claude Code started, so the header carried the placeholder, not a key. Set it, then start Claude Code again.
Claude Code never offers to sign inA configured Authorization header turns off the OAuth sign-in. Remove the header to sign in.
“This key already has 2 images downloading”One key runs 2 image_url downloads at once. Another call waits in line for up to 20 seconds, then asks you to try again.

Everything else

Questions about the MCP server

The apps, the cost, local files, the formats and what happens to your images.

Does the Blinkimg MCP server work with ChatGPT?

Yes, through ChatGPT's developer mode, which is on Plus, Pro, Business, Enterprise and Education plans on the web. In Settings, open Connectors (Apps), then Advanced settings, and turn on Developer mode. Create a connector with https://api.blinkimg.com/mcp and OAuth, sign in to Blinkimg once, and ChatGPT can compress, convert and scan on your account.

Can I compress images with Claude?

Yes. In Claude on the web, desktop or mobile, open Customize > Connectors, add a custom connector with https://api.blinkimg.com/mcp, then select Connect and sign in to Blinkimg. Claude then calls compress_image and convert_image for you. Claude's Free plan allows one custom connector. In Claude Code, one command adds the same server.

Is the Blinkimg MCP server free?

Every Blinkimg account gets 500 free API credits a month, reset on the 1st, with no card. Compressing an image costs 1 credit, or 2 when the format changes, and converting costs 2. Uploading, reading a job and reading the quota cost nothing. Plans and credit packs add more credits when you need them.

Can the MCP server compress images on my computer?

Yes, in an agent that can run commands, such as Claude Code, Cursor or Codex. The upload_image tool returns a one-time upload link and a ready curl command. The agent runs the command, the file goes straight to storage, and compress_image or convert_image takes its upload_id. Chat apps take a public image address instead.

Which image formats does the MCP server take?

The MCP server takes HEIC, JPEG, PNG, WebP and AVIF, and writes JPEG, PNG, WebP or AVIF. compress_image keeps the format unless you name another one, and convert_image needs a target_format. A HEIC with no target comes back as a JPEG. Metadata such as EXIF and GPS is stripped unless you set keep_metadata.

Is there a TinyPNG MCP server?

TinyPNG has no official MCP server. Tinify, the company behind it, lists one community MCP project on its add-ons page, and does not mark it official (checked October 2026). The TinyPNG MCP servers that turn up in search are community wrappers or integration platforms. Blinkimg's MCP server runs Blinkimg's own engine and has no tie to TinyPNG.

Is my image stored after the MCP server processes it?

Blinkimg deletes every image within 24 hours of the upload. The file and its result wait in storage behind signed links that expire, and a sweeper removes them on schedule. A download link works for an hour. No person opens your files, no image trains a model, and the job record keeps sizes and settings, not the picture.

Does the MCP server work with Gemini?

Gemini CLI connects with an API key: add the server with gemini mcp add, or put an httpUrl entry with an Authorization header in ~/.gemini/settings.json. Use httpUrl, not url, because url means the older SSE transport in Gemini CLI. Gemini Enterprise needs an OAuth client that an admin creates, which Blinkimg does not support yet.

Page updated

Connect Blinkimg to your assistant

500 credits a month, no card. Sign in from Claude or ChatGPT, or take a key for your editor.