ImageKit MCP server
26 operations0 webhooks
Image and video media library and CDN with ImageKit - upload files, list and search assets, organize folders, tag files, read versions and metadata, run folder jobs and purge CDN cache.
Try ImageKit with your agent
Connect ImageKit, then paste this into Claude, ChatGPT or Cursor. For ideas from other apps, see the use cases.
Using Corsair, show me what you can do in ImageKit on my account, then run one read-only example and show me the result.
ImageKit tools and triggers
Tools are what your agent can do in ImageKit through Corsair's MCP server. Triggers are the ImageKit events a routine can start from.
Files
- Add TagsWrite
Add tags to up to 50 files at once; the answer splits successes from per-file errors
files.addTags
- Bulk DeleteDestructive
Permanently delete up to 100 files by ID; a 207 answer lists per-file failures in errors. The CDN keeps serving cached copies until cache.purge clears them
files.bulkDelete
- CopyWrite
Copy a file to another folder, optionally with all of its versions
files.copy
- DeleteDestructive
Permanently delete a file and all of its versions; there is no trash and no restore. The CDN keeps serving cached copies until cache.purge clears them
files.delete
- Get DetailsRead-only
Read one file by ID: path, URL, tags, AI tags, size, versions and custom metadata
files.getDetails
- ListRead-only
List and search files and folders with paging (limit and skip), a folder path filter, file type and a searchQuery expression
files.list
- MoveWrite
Move a file to another folder
files.move
- Remove AITagsWrite
Remove AI-generated tags from up to 50 files at once
files.removeAITags
- Remove TagsWrite
Remove tags from up to 50 files at once
files.removeTags
- RenameWrite
Rename a file in place; purgeCache purges the old URL, its versions and query-parameter transformations from the CDN (path-parameter transformations need cache.purge), reported by purgeRequestId. If the purge fails (e.g. quota exceeded), the rename still happens and the answer has reason PURGE_FAILED instead
files.rename
- Update DetailsWrite
Change a file: replace tags, set custom metadata, coordinates or description, remove AI tags (names or all), or publish or unpublish it (that call alone)
files.updateDetails
- UploadWrite
Upload a file from an https URL or base64 content into the media library, optionally into a folder and with tags
files.upload
Folders
- CopyWrite
Copy a folder subtree into another folder as a background job; follow with folders.getJobStatus until status is Completed
folders.copy
- CreateWrite
Create a folder in a parent folder path
folders.create
- DeleteDestructive
Permanently delete a folder and everything inside it; there is no trash and no restore
folders.delete
- Get Job StatusRead-only
Where a folder bulk job stands; status Pending or Completed
folders.getJobStatus
- MoveWrite
Move a folder subtree into another folder as a background job; follow with folders.getJobStatus
folders.move
- RenameWrite
Rename a folder as a background job; follow with folders.getJobStatus. purgeCache also purges old CDN paths
folders.rename
File Versions
- DeleteDestructive
Permanently delete one non-current version of a file; the current version cannot be deleted
fileVersions.delete
- Get DetailsRead-only
Read one stored version of a file
fileVersions.getDetails
- ListRead-only
List every stored version of a file, newest first
fileVersions.list
- RestoreWrite
Make a stored version the current version of a file
fileVersions.restore
Cache
- Get Purge StatusRead-only
Where a cache purge stands; status Pending or Completed
cache.getPurgeStatus
- PurgeWrite
Purge the CDN cache of one delivered file URL; follow with cache.getPurgeStatus until status is Completed
cache.purge
Metadata
- Get By File IdRead-only
Read image or video metadata of a stored file: dimensions, format, pHash, EXIF
metadata.getByFileId
- Get By UrlRead-only
Read metadata of any delivered file URL, including transformed variants
metadata.getByUrl
Connect ImageKit to Claude, ChatGPT or Cursor
- 1
Connect ImageKit in Corsair
Add your ImageKit API key once in Corsair. Corsair stores the credential encrypted and makes the ImageKit API calls for your agent, so it never goes into a prompt or a config file. Connect ImageKit
If your link lets the agent add apps, you can skip this: it gives you a sign-in link the first time it needs ImageKit. On a ChatGPT personal plan, connect ImageKit here first.
- 2
Add Corsair's MCP server to your agent
Every client uses the same address:
https://mcp.corsair.dev/mcpOpen Customize → Connectors → Add custom connector, paste the address, then select Connect.Add a custom MCP server with the address and choose OAuth. Personal plans get read tools only.Add to CursorOr add this to~/.cursor/mcp.json. Cursor opens Corsair to sign in the first time it connects.{ "mcpServers": { "corsair": { "url": "https://mcp.corsair.dev/mcp" } } }Run this, then run/mcpin Claude Code to sign in.claude mcp add --transport http corsair https://mcp.corsair.dev/mcpCodex, Gemini CLI, VS Code, Zed and other clients with OAuth sign-in work the same way. Clients without it, such as GitHub Copilot's coding agent, use a link's own address and an API key. Setup for every client
- 3
Sign in and choose what needs your approval
Your client opens Corsair to sign in. Pick a link: the apps your agent can use and a mode that decides what it may do without asking. In the default Cautious mode, ImageKit's read and write operations run right away and its 4 destructive operations wait for your approval. Strict mode asks before every write and refuses destructive operations, and Read mode allows reads only.
FAQ
Install corsair and @corsair-dev/imagekit, add the ImageKit plugin, and connect with an API key. Then call methods like corsair.imagekit.api.cache.getPurgeStatus() from your app. Corsair keeps each tenant isolated.
Yes. ImageKit requires an API key from your ImageKit account or developer dashboard. Create credentials with access that matches what you automate, then paste them into Corsair or connect through managed auth in Hub.
Yes. One Corsair client can hit ImageKit, GitHub, Notion, Stripe, and the rest. Trigger ImageKit from a webhook, push updates to Slack, or chain actions across plugins. Same tenant context across integrations, plain TypeScript.
Teams use Corsair for image and video media library and CDN with ImageKit - upload files, list and search assets, organize folders, tag files, read versions and metadata, run folder jobs and purge CDN cache. Common builds include sync jobs, admin tooling, and agents that call ImageKit APIs from your backend.
The SDK is open source. Self-host and you pay Corsair nothing for the integration layer. Hub bills for hosted auth and execution, not per ImageKit API call. Hub has a generous free tier. For hobby projects you can probably run the whole thing on free. Paid plans start to matter with more tenants or heavier traffic.
We maintain @corsair-dev/imagekit in the open repo. When ImageKit ships API changes, upgrade the package. Your call sites stay typed. You should not need to rewrite the integration layer each time.
No. Corsair does not read your ImageKit data or hold individual access credentials. Credentials stay in your database. API calls run on your instance. We do not store ImageKit data on your behalf.
Yes. Add https://mcp.corsair.dev/mcp as a custom connector or MCP server in Claude, ChatGPT, Cursor, VS Code, Claude Code, Codex or any client that supports remote MCP servers with OAuth sign-in, then sign in to Corsair. On ChatGPT personal plans, custom servers currently get read tools only.
Yes. Put ImageKit on a link in Strict mode and every write waits for your approval, while destructive actions are refused. The default Cautious mode asks only before the 4 destructive ImageKit operations. You can change a link's mode at hub.corsair.dev/me.