Iminify MCP server
Connect Claude, ChatGPT, Cursor or VS Code to Iminify's MCP server and let an AI agent compress, convert and resize images and scan pages for you.
Iminify runs an MCP server, so an AI agent can compress, convert and resize images and scan pages for you, straight from the chat or the editor you already use. Ask Claude to "make these product photos WebP under 1600 pixels wide" and it calls Iminify, waits for the results and hands you the download links.
The server lives at one address:
https://www.iminify.com/mcp
It speaks MCP over streamable HTTP and signs you in with OAuth, so most apps only need that address. The first time you connect, the app sends you to Iminify to approve it, and from then on it works as you: your images, your plan, your counts.
Connecting an app
You need an account with a verified email address. The free plan works.
Claude
In Claude (the web app or the desktop app), open Settings, then Connectors, and add a custom connector with the address above. Claude opens Iminify in a browser tab; sign in if you aren't already, check what it asks for, and press Approve.
Claude Code
claude mcp add --transport http iminify https://www.iminify.com/mcp
Then run /mcp inside Claude Code and pick Iminify to sign in.
Cursor
Add the server to ~/.cursor/mcp.json, or to .cursor/mcp.json in a project:
{
"mcpServers": {
"iminify": {
"url": "https://www.iminify.com/mcp"
}
}
}
Cursor shows a sign-in button next to the server in its MCP settings.
VS Code
Add it to .vscode/mcp.json in your workspace:
{
"servers": {
"iminify": {
"type": "http",
"url": "https://www.iminify.com/mcp"
}
}
}
ChatGPT
ChatGPT connects to MCP servers as connectors. Custom ones currently sit behind developer mode in its settings; create a connector with the address above and OAuth as the sign-in, and approve it on Iminify when ChatGPT sends you there.
Anything else
Any client that speaks MCP over HTTP can use the same address. If it can't do OAuth, give it an API key instead, sent as a header on every request:
Authorization: Bearer <your-api-key>
In Claude Code that's claude mcp add --transport http iminify https://www.iminify.com/mcp --header "Authorization: Bearer $IMINIFY_API_KEY".
What the agent can do
| Tool | What it does |
|---|---|
compress_images |
Compress, convert or resize up to 20 images in one call, from their addresses, from upload links, or sent inline |
create_upload_link |
Get a one-time address to send a local file to |
get_image |
One image's status, sizes, savings and download links |
list_images |
Your images, newest first, filtered by status, source or scan |
create_zip |
One download link for several finished images, or all of a scan's |
scan_page |
Scan a web page for every image it loads and compress them all |
get_scan |
A scan's progress, its images and what it saved |
rename_image |
Change the name a result downloads under |
share_image |
Give a result a public page to send to someone |
delete_image |
Delete an image and both its files, for good |
get_usage |
Your plan, its limits and what today has used |
The settings are the API's: a level, a format, a width, a height or a scale, and whether to keep the metadata. You rarely need to name them. Say what you want in plain words and the agent picks them.
Files on your computer
An agent in the cloud, like Claude on the web, can only work with images that have an address on the internet, or small files it sends inline. An agent that can run commands on your machine, like Claude Code or Cursor, can send local files of any size your plan takes:
-
It calls
create_upload_linkwith the file's name and gets back an address that works once, for 15 minutes. -
It sends the file there with a
PUT, the way this command does:Shellcurl --fail --upload-file hero.png "<upload_url>" -
It calls
compress_imageswith theupload_idit got in step 1.
A file that is sent but never compressed is deleted about a day after it arrives. Inline files, sent as base64 inside the call, are limited to 4 MB each; anything bigger goes through an upload link.
Results come back as links
The server never puts image bytes in its answers. Every image comes with a download_url for the optimized copy and another for the original, and create_zip gives one for a whole batch. These links work without a key, so the agent can fetch them or simply show them to you, and they stop working after 60 minutes. Ask again for fresh ones.
Work runs in the background, as it does everywhere else. compress_images and scan_page answer straight away with the work queued, and the agent checks back with get_image or get_scan until it's done. Each answer carries a hint when there is something to wait for or to know, like an image Iminify couldn't make any smaller with the settings used.
Limits
The MCP server is one more door onto your account, not a separate one. Every image an agent queues counts against your plan's daily images and compressions a minute, the same counts the website and the API spend, and every call to the server counts as an API request. Limits and quotas explains each one, and the pricing page has the numbers for every plan.
When a limit is reached, or anything else is refused, the tool answers with an error carrying the API's message and code (listed on the errors page), plus retry_after in seconds when waiting will help. A good agent tells you the message rather than retrying in a loop.
Disconnecting an app
Settings > Connected apps lists every app you've approved, with when it last called. Disconnect one there and it stops working straight away; it has to be approved again to come back. An app that goes unused for 30 days has to be connected again anyway.
An app connected with an API key instead is removed by deleting that key in Settings > API Tokens.