Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Create client-editable photo and video galleries from Cursor or Claude Code, then embed them.
Pick the AI app you use, then copy the settings.
Passed 3/3 checks · Runs on your computer · ✓ Commands checked Nov 14, 2026
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude, with some setup first
Install Node.js on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
One time only; it works for every server that needs Node.js
SettingsDeveloperEdit Config
{
"mcpServers": {
"dropl": {
"command": "npx",
"args": [
"-y",
"@dropl/mcp"
]
}
}
}Use Dropl MCP and tell me what you can do for me, then show me one thing✓ If Claude says it is using Dropl MCP or shows a Dropl MCP tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
DROPL_API_KEY Optional. Dropl API key; overrides the saved browser sign-in.Descriptions are as written by the maker.
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect Dropl MCP yet
Dropl MCP runs on your computer, but ChatGPT can only connect servers that run on the web
A · Use an app that can connect Dropl MCP
B · Others in Design, images & audio that work with ChatGPT
Picked from the most used in the same category, only ones that connect by address with no key
Works with Claude Code, with some setup first
Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add --scope user dropl -- npx -y @dropl/mcpYou should see Dropl MCP listed as connected
Use Dropl MCP and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using Dropl MCP or shows a Dropl MCP tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
DROPL_API_KEY Optional. Dropl API key; overrides the saved browser sign-in.Descriptions are as written by the maker.
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor, with some setup first
Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Use Dropl MCP and tell me what you can do for me, then show me one thing✓ If Cursor says it is using Dropl MCP or shows a Dropl MCP tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
DROPL_API_KEY Optional. Dropl API key; overrides the saved browser sign-in.Descriptions are as written by the maker.
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code, with some setup first
Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Use Dropl MCP and tell me what you can do for me, then show me one thing✓ If VS Code says it is using Dropl MCP or shows a Dropl MCP tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
DROPL_API_KEY Optional. Dropl API key; overrides the saved browser sign-in.Descriptions are as written by the maker.
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.
JSON settings are under “For developers” below
Claude Code
claude mcp add --scope user dropl -- npx -y @dropl/mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"dropl": {
"command": "npx",
"args": [
"-y",
"@dropl/mcp"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"dropl": {
"command": "npx",
"args": [
"-y",
"@dropl/mcp"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"dropl": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@dropl/mcp"
]
}
}
}DROPL_API_KEY secret envDescriptions are as written by the maker.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
npm: @dropl/mcpBased on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Runs on your computer; the tool list appears in your AI app after you install it.
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 dropl.io (the registry checks domain ownership)
Code last changed 40 days ago
Uses MIT
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
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 3 of 3 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.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed 40 days ago, and the latest version (0.6.0) reached the registry 41 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
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.
Create client-editable photo and video galleries from Cursor or Claude Code, then embed them.
Dropl MCP lets AI coding agents set up Dropl for client websites: create client sites and showcases (embeddable photo and video galleries), upload whole folders of media with categories, fetch embed code for HTML, Next.js, WordPress, Webflow, and Framer, manage collections like menus, inventory, and events, and work through client feedback by fixing it in code, replying, and marking it done. Clients then update their own photos and videos from a phone, without a CMS.
It's an MCP server for Dropl, which gives you client-editable galleries, video hosting for agencies (an ad-free Vimeo alternative), and client feedback, for people who build client sites in code or on WordPress, Webflow, and Framer. Uploads go straight from your computer to Dropl's storage, are resumable, and are safe to re-run. The agent is told to show you a plan and get your confirmation before it creates anything or uploads.
Or add it by hand: see Client configuration. Requires Node.js 20.3 or later. Nothing to install: your MCP client runs it with npx.
Then sign in once from a terminal. This opens your browser so you can approve access; the key is saved on this computer.
npx -y @dropl/mcp login
The agent plans first and asks before it creates, uploads, or changes a collection's fields.
Choose one:
npx -y @dropl/mcp login. It shows a code, opens the Dropl approval page, and saves the resulting API key. Use --client "Cursor" to label it, --no-browser to just print the link, and --api-url for a non-production API.DROPL_API_KEY in the MCP server's environment. When it's set, it takes precedence over the saved sign-in.Only account owners and admins can approve sign-ins or create API keys. Keys can be limited to specific client sites and scopes.
Other commands:
npx -y @dropl/mcp whoami # show the connected account and key
npx -y @dropl/mcp logout # remove the saved key from this computer
logout only deletes the local copy. To disable a key, revoke it in Dropl → Settings → API keys.
In .cursor/mcp.json (this project) or ~/.cursor/mcp.json (all projects):
{
"mcpServers": { "dropl": { "command": "npx", "args": ["-y", "@dropl/mcp@latest"] } } }
With an API key instead of the browser sign-in:
{
"mcpServers": { "dropl": { "command": "npx", "args": ["-y", "@dropl/mcp@latest"], "env": { "DROPL_API_KEY": "dropl_live_…" } } } }
Don't commit a config file that contains a key. Use the user-level ~/.cursor/mcp.json, or keep the project file out of version control.
claude mcp add dropl -- npx -y @dropl/mcp@latest
With an API key:
claude mcp add dropl -e DROPL_API_KEY=dropl_live_… -- npx -y @dropl/mcp@latest
Use a stdio server with command npx and arguments ["-y", "@dropl/mcp@latest"]. Add DROPL_API_KEY to its environment if you aren't using the browser sign-in.
| Tool | What it does |
|---|---|
plan_migration | Scans a local folder without uploading anything. Returns per-folder photo/video counts and sizes, unsupported files, proposed categories, and the steps to run. With layout: "projects" (or a projects/ folder of project folders), plans one project per folder with its title, slug, and counts. |
whoami | Connected account, user, role, key name/prefix, scopes, and site restriction. |
list_sites / create_site | List client sites, or create one (name, optional domain). |
list_showcases / create_showcase | List a site's showcases with their type and project counts, or create one (title, type gallery or projects, layout, grid fit, category filters, page size). |
get_showcase / update_showcase | Summarize a showcase (items by status and category, projects, photos without alt text, failures), or change its settings. |
list_showcase_items | Page through a showcase's items: id, kind, status, file name, the local path it was uploaded from, alt text, and categories. Filter by kind, missing alt text, category, or text. |
update_items | Set alt text and add or remove categories on many items in one call, by the ids uploads return (library video ids work too). Missing categories are created. |
create_category | Add a category to a showcase; an existing one with the same name is reused. |
tag_items | Add or remove categories on showcase items, by the ids uploads return. |
upload_photos | Upload photos from files, folders, or globs into a showcase, with optional alt text and categories per photo (files). Optionally creates categories from folders. In a projects showcase, pass project to upload into that project. Supports dry runs and resuming. Returns each file's showcase item id. |
list_videos | List a site's videos. |
upload_videos | Upload videos to a site's library in resumable parts, and optionally add them to a showcase with categories (or to one of its projects with project). Returns each file's video id (and showcase item id). |
add_videos_to_showcase | Add existing library videos to a showcase, or to one of its projects. |
get_embed_code | The embed snippet for a video or a showcase (or one category or project), plus how to paste it in HTML, React/Next.js, WordPress, Webflow, and Framer. For projects showcases, projectUrl (e.g. /work/{slug}) links index cards to a page per project. |
list_projects | A projects showcase's projects in order (excerpt, details, categories, counts), or one project with its full description and its photos and videos. |
create_project / update_project | Add a project (title, subtitle, description, slug, details, categories), or change one, including its cover. An existing project with the same title or slug is reused. |
reorder_projects / reorder_project_items | Set the order of the projects, or of the photos and videos inside one project. Partial lists go first; the rest keep their order. |
get_project_details | A projects showcase's custom details (fields like location or year) and their version, including edits made in the dashboard. |
plan_project_details / apply_project_details | Preview a change to the project details without saving, then apply it with the expectedVersion you read. Keys never change; removing values needs confirmDestructive. |
get_usage | Storage and bandwidth used against your plan, and whether uploads are suspended. |
list_collections | A site's collections (menus, inventory, events) with item counts and plan limits. |
get_collection_schema | A collection's current fields and schemaVersion, including edits made in the dashboard. |
plan_collections / apply_collection_plan | Preview creating or changing collections as a plain-text diff, then apply it. Destructive changes need confirmDestructive; plans made from an outdated schema are refused. |
add_collection_items | Bulk-add items with per-item errors. Dry runs by default; retries don't duplicate. |
list_collection_items | List items with search, status and field filters, sorting, and paging. |
get_collection_code | TypeScript types and a Next.js fetch example for a collection. |
undo_collection_change | Undo the most recent schema change when no data would be lost. |
list_feedback | Feedback clients left on a site (comments, text changes, notes). Defaults to open and in progress; filter by status, type, and page. |
get_feedback | One request with its full context: page, clicked element (selector and text), device, screenshot and photos, and the thread. |
reply_to_feedback | Reply in a request's thread, e.g. to ask the client to clarify. The client is emailed; retries don't post twice. |
update_feedback_status | Set open, in progress, done, or won't do, with a short note. Marking done emails the client. |
Collections need an API key with the collections:read scope to read, collections:write to add items, and collections:schema to create or change collections.
Feedback needs feedback:read to read and feedback:write to reply or change status. Keys created before Feedback existed don't have these scopes; run npx -y @dropl/mcp login again to get a new key. Ask your agent to *"fix the open Dropl feedback"*: it reads each request, applies text changes in the code, asks the client when something is unclear, and marks the fixed ones done.
upload_photos and upload_videos return a files list mapping each local path to its Dropl id, with a status of uploaded, already_uploaded (skipped on a re-run, id included), failed (with error), or pending (dry run). The first 100 are listed; omitted and more say how to page through the rest with list_showcase_items.
{
"uploaded": 2, "alreadyUploaded": 1, "altTextSet": 2, "files": { "count": 3, "items": [ { "path": "Decks/cedar.jpg", "id": "0190…a1", "status": "uploaded" }, { "path": "Decks/railing.jpg", "id": "0190…a2", "status": "uploaded" }, { "path": "kitchen.jpg", "id": "0190…a0", "status": "already_uploaded" } ], "omitted": 0, "more": null } }
Set alt text and categories per photo at upload time:
{
"showcaseId": "…", "files": [ { "path": "/abs/photos/cedar.jpg", "alt": "Cedar deck with glass railing at dusk", "categories": ["Decks"] }, { "path": "/abs/photos/texture.jpg", "alt": "" } ] }
Or later, without uploading again: update_items with { "showcaseId": "…", "items": [{ "id": "0190…a1", "alt": "Cedar deck at dusk", "addCategories": ["Decks"] }] }. Write concise, descriptive alt text (what the photo shows, without "image of"), and leave it empty for purely decorative photos. Alt text is at most 500 characters. Changing alt text needs the showcases:write scope.
Supported uploads: JPEG, PNG, WebP, AVIF, and HEIC photos up to 20 MB each, checked by file contents as