Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Image and PDF toolkit: convert to AVIF/WebP/JXL, resize, crop, remove backgrounds, optimize PDFs.
Pick the AI app you use, then copy the settings.
Passed 5/5 checks · What you ask goes through the maker’s server (mcp.mochify.app) · ✓ Commands checked Nov 13, 2026
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude · about 2 min
No key, nothing to install · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it
CustomizeConnectors
Copy each value into the field with the same name in Claude, then click Continue
Mochifyhttps://mcp.mochify.app/mcpClick Continue past the sign-in settings Claude detected · under Authentication choose what the maker says (Sign in now, Sign in when needed or No sign in), then click Add
+ConnectorsMochify
Use Mochify and tell me what you can do for me, then show me one thing✓ If Claude says it is using Mochify or shows a Mochify tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with ChatGPT, depending on your plan
Full MCP: ChatGPT Business, Enterprise or Edu on the web · Pro: connects with read/fetch permissions, so tools that change data may not work · Plus: not confirmed in OpenAI’s docs; if you see an add-custom-MCP option on the Plugins page you can try these steps · web only
Plugins+Add custom MCP server
Enter a name, paste the address under Connection, tick the risk warning and click Create as a plugin
Mochifyhttps://mcp.mochify.app/mcpStart a new chat and pick Mochify from your plugins before typing
Use Mochify and tell me what you can do for me, then show me one thing✓ If ChatGPT says it is using Mochify or shows a Mochify tool in the answer, you are connected
Menu names checked against OpenAI’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Claude Code · about 2 min
No key, nothing to install
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add --transport http --scope user mochify https://mcp.mochify.app/mcpYou should see Mochify listed as connected
Use Mochify and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using Mochify or shows a Mochify tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor · about 2 min
No key, nothing to install
Use Mochify and tell me what you can do for me, then show me one thing✓ If Cursor says it is using Mochify or shows a Mochify tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code · about 2 min
No key, nothing to install
Use Mochify and tell me what you can do for me, then show me one thing✓ If VS Code says it is using Mochify or shows a Mochify tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.
Address for apps that connect over the web
https://mcp.mochify.app/mcpJSON settings are under “For developers” below
Claude Code
claude mcp add --transport http --scope user mochify https://mcp.mochify.app/mcpCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"mochify": {
"url": "https://mcp.mochify.app/mcp"
}
}
}VS Code (mcp.json)
{
"servers": {
"mochify": {
"type": "http",
"url": "https://mcp.mochify.app/mcp"
}
}
}These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
cargo: mochifyBased on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Connect over the internet in
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
The server asks you to sign in before it lists its tools.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 14, 2026
The registry name was verified against the domain mochify.app (the registry checks domain ownership)
Code last changed 19 days ago
Uses MIT
Responded in 74 ms (HTTP 401)
Declares OAuth sign-in, so your AI app can take you to log in
Not checked yet; we read the tool list when we check the endpoint
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 5 of 5 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed 19 days ago, and the latest version (1.6.2) reached the registry 2 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT on the web (full MCP on Business and above; Pro read-only).
In the same category: Figma Context MCP, AutoClip, Next AI Draw.io
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Clip long videos into short clips with covers and captions. Local CLI and MCP.
draw.io diagrams your AI agent draws on a live browser canvas that you can also edit by hand
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
A command-line tool and MCP server for mochify.app — a fast, privacy-first image compression and conversion API powered by a native C++ engine.
Compress and convert images to modern formats (AVIF, JXL, WebP, Jpegli) from your terminal, work on PDFs, or give AI assistants like Claude direct access to the same engine over the Model Context Protocol — either as a local stdio server (mochify serve) or the hosted one at mcp.mochify.app, which needs no install at all.
Jump to: Installation · CLI usage · PDF processing · MCP server · Plans
macOS (Homebrew):
brew tap getmochify/mochify
brew install mochify
Windows (Scoop):
scoop bucket add mochify https://github.com/getmochify/scoop-mochify
scoop install mochify
Linux / WSL:
# x86_64
curl -L https://github.com/getmochify/mochify-cli/releases/latest/download/mochify-linux-x86_64 -o mochify chmod +x mochify sudo mv mochify /usr/local/bin/
curl -L https://github.com/getmochify/mochify-cli/releases/latest/download/mochify-linux-arm64 -o mochify chmod +x mochify sudo mv mochify /usr/local/bin/
Cargo (all platforms):
cargo install mochify
Requires Rust. Easiest option on Linux/WSL if you already have the toolchain.
Manual: All binaries at Releases.
From source:
cargo install --path .
Sign in with your mochify.app account to unlock your full quota:
mochify auth login
This opens your browser, where you sign in and authorize the CLI. Credentials are saved automatically to ~/.config/mochify/credentials.toml — no environment variables or manual key copying required. Both the CLI and MCP server pick them up automatically.
On a machine without a browser (over SSH, say), sign in with a code instead — open the link it prints on any device and type the code:
mochify auth login --no-browser
mochify auth status # check whether you're signed in
mochify auth logout # remove saved credentials
Without an account you get 3 images per batch (IP-based). With a free account: 25 images/month. Sign up at mochify.app.
mochify [OPTIONS] <FILES>...
| Flag | Description |
|---|---|
-t, --type | Output format: jpg, png, webp, avif, jxl |
-w, --width | Target width in pixels |
-H, --height | Target height in pixels |
--crop | Crop to exact dimensions (saliency-guided) |
--region | Crop to a rectangle, as fractions 0–1 of the upright image from the top-left |
--redact | Hide areas: faces and/or ;-separated boxes x,y,w,h (same convention as --region) |
--redact-style | fill (solid black, default) or blur (cosmetic only) |
-r, --rotation | Rotation: 0, 90, 180, 270 |
-o, --output | Output directory (default: same as input) |
-n, --name | Base name for the output file (without extension) |
--clarity | Apply clarity (midtone contrast enhancement — crisper, more detailed look) |
--remove-bg | Remove the background (AI foreground isolation) |
--background | Composite colour for --remove-bg (white, #ff0000, …) |
--keep-metadata | Preserve EXIF/metadata (stripped by default) |
-q, --quality | Output quality 1–100 (default: automatic) |
--smart-compress | Saliency-guided quality — detail keeps more, flat areas less |
--brightness | Exposure, -100 (darkest) to +100 (brightest) |
--optimize-for-web | Progressive + 4:2:0 chroma — smallest file to serve |
--lossless | Pixel-exact output (jxl, webp, png only) |
--hdr [MODE] | Ultra HDR gain map: preserve (bare flag) or generate |
-p, --prompt | Natural-language prompt — resolves all params automatically |
-j, --jobs | Files to process at once (default 4; 1 for strictly one at a time) |
-k, --api-key | API key override (or set MOCHIFY_API_KEY env var) |
# Convert to AVIF
mochify photo.jpg -t avif
mochify photo.jpg -t webp -w 800
mochify ./images/*.jpg -t avif -w 1200 -o ./compressed
mochify photo.jpg -p "convert to avif, 1200px wide" mochify photo.jpg -p "optimise for eBay" mochify photo.jpg -p "remove background and convert to WebP" mochify photo.jpg -p "resize to 50%, strip EXIF, keep as WebP"
mochify photo.jpg -t webp -n hero mochify product.jpg -p "optimise for Shopify" -n product-main
find . -name "*.jpg" | mochify -t webp -o ./out cat images.txt | mochify -p "convert to avif 1200px wide" -o ./compressed ls *.heic | mochify -t jpg
Quality is chosen automatically unless you say otherwise.
# Fixed quality
mochify photo.jpg -t webp -q 70
mochify photo.jpg -t avif --smart-compress
mochify photo.jpg -t webp --optimize-for-web
mochify photo.jpg --brightness 30
mochify scan.png -t webp --lossless
--lossless only works for jxl, webp and png — jpg and avif are rejected before the request goes out. It overrides -q and --smart-compress, and the output is usually larger than the input: lossless preserves pixels, not file size. A source that is already lossy (JPEG, AVIF, HEIC) comes back as the best lossy encode instead, since nothing can restore what that file discarded — the CLI says so when that happens.
--crop finds the subject itself. --region is for when *you* — or the AI assistant driving the MCP server — already know which part of the picture you want:
# The bottom-left quarter
mochify photo.jpg --region 0,0.5,0.5,0.5
mochify photo.jpg --region 0.2,0.1,0.6,0.8 -w 800 -t webp
The four numbers are x,y,width,height as fractions of the image (0 to 1), measured from the top-left of the picture as it displays — the right way up, even for a phone photo stored sideways. Fractions rather than pixels so the same box works whatever size the image is viewed at. A value above 1 is refused before the request goes out, since that is almost always a box in pixels. The region is cut first: -w/-H, --crop, --rotation and --remove-bg all act on it. --verbose prints the pixel rectangle that was actually cut.
Over MCP this is how an assistant can crop to *content* — "crop to the feet", "just the logo": it looks at the image itself, picks the box, and Mochify only ever receives the four numbers.
Hide faces, number plates, addresses or anything else before an image goes anywhere:
# Every face, found automatically
mochify family.jpg --redact faces
mochify car.jpg --redact 0.38,0.71,0.24,0.08
mochify street.jpg --redact "faces;0.38,0.71,0.24,0.08" --redact-style blur
Separate entries with ; — the , belongs to the box. fill (solid black) is the default and the one to use for anything that must stay secret; blur is for the look of a blurred face, and blurred text or faces can sometimes be recovered.
Redaction always strips metadata (EXIF can hold a thumbnail of the original) and removes any HDR gain map (which holds the scene's structure), even if you asked to keep them. faces is best-effort — it can miss small faces and side profiles — so the CLI says when it found none. Check the output before sharing it.
--hdr controls the Ultra HDR / ISO 21496-1 gain map that makes a photo render with real headroom on an HDR display.
| Mode | What it does |
|---|---|
--hdr (or --hdr preserve) | Keeps a gain map the source already has. Never invents one, so it does nothing to an SDR photo. |
--hdr generate | Keeps an existing gain map and synthesises one when the source is plain SDR. This is the one for "make it HDR". |
Only jpg output can carry a gain map (jxl carries HDR by a different route; avif, webp and png cannot), so pair it with -t jpg. It is also skipped alongside --clarity or --remove-bg, which change the base the gain map is a ratio to. The CLI reads the X-Mochify-HDR response header and tells you when the output ended up with no gain map.
# Keep the headroom an iPhone photo already captured, converting to JPEG
mochify IMG_1234.heic -t jpg --hdr
mochify photo.jpg --hdr generate
mochify photo.jpg -p "make this HDR"
By default, when the output format and directory match the input, the result is saved as {name}_mochified.{ext} so it's always clear something happened. If that file already exists, a numeric suffix is added (_1, _2, etc.). When the format changes (e.g. .jpg → .webp), the extension change is already unambiguous so no suffix is added.
Use -n, --name to set an explicit base name: mochify photo.jpg -t webp -n hero saves hero.webp. The prompt path also supports this: mochify *.jpg -p "optimise for Shopify, name them product" will produce product.webp, product_1.webp, etc.
PDFs are detected automatically by the .pdf extension, and --op picks what to do with them. (PDFs and images can't be mixed in a single command — run them separately.)
create is the exception: its inputs are images, so there is nothing in a .jpg to route on. Pass --op create, or just say "pdf" in a prompt — mochify *.jpg -p "convert to pdf" builds one too.
| Op | Takes | Returns | What it does |
|---|---|---|---|
optimize | a PDF | .pdf | Recompresses the images inside the PDF. Text, fonts, vector art and layout are untouched, so the document stays searchable. |
extract | a PDF | .zip | Pulls out the images somebody placed into the document, at the resolution they were stored at. |
rasterize | a PDF | .zip | Renders every page to an image, text and all. |
split | a PDF | .zip | Explodes the PDF into one single-page PDF per page. |
create | images | .pdf | Builds a PDF from images, one page per image, in the order given. |
| Flag | Applies to | Description |
|---|---|---|
--op | all | optimize, extract, rasterize, split, create |
-t, --type | rasterize, extract | png, jpg, webp, avif, jxl — plus original for extract (no re-encode) |
--dpi | rasterize, optimize, create | Render resolution (rasterize, default 150), target resolution for the images kept inside the PDF (optimize), or page sizing (create) |
-q, --quality | all but split | Output quality 1–100 (same flag as for images) |
--max-width | extract, optimize, create | Cap image width in pixels; 0 leaves sizes alone |
--min-size | extract, optimize | Skip images smaller than this on either axis; 0 takes everything |
| --page | create | fit (default), a4, `let