Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Description from the maker (original English)
Image and PDF toolkit: convert to AVIF/WebP/JXL, resize, crop, remove backgrounds, optimize PDFs.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://mcp.mochify.app/mcpRun this in your terminal
claude mcp add --transport http mochify https://mcp.mochify.app/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"mochify": {
"url": "https://mcp.mochify.app/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"mochify": {
"type": "http",
"url": "https://mcp.mochify.app/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://mcp.mochify.app/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
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 6, 2026
The registry name was verified against the domain mochify.app (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 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 –, 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 in developer mode.
In the same category: Figma Context MCP, Claude Real Video, Figma MCP Server
Servers in the same category from other makers, sorted by stars.
Reading a card:★ 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.
Let any LLM watch a video locally — and search everything it has ever watched.
Figma’s official server gives AI your design data so it can turn designs into code or describe them accurately. Connects to Figma’s cloud.
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
Only the beginning is shown; read the rest in the repo