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)
Chat with 300+ LLMs via OpenRouter. Analyze and generate images, audio, and video from MCP.
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.
OPENROUTER_API_KEY, OPENROUTER_DEFAULT_MODEL, OPENROUTER_OUTPUT_DIR, OPENROUTER_MAX_TOKENS, OPENROUTER_PROVIDER_SORT, OPENROUTER_PROVIDER_IGNORE, OPENROUTER_PROVIDER_ORDER, OPENROUTER_PROVIDER_QUANTIZATIONS, OPENROUTER_PROVIDER_REQUIRE_PARAMETERS, OPENROUTER_PROVIDER_DATA_COLLECTION, OPENROUTER_PROVIDER_ALLOW_FALLBACKS, OPENROUTER_CACHE_RESPONSES, OPENROUTER_INCLUDE_REASONINGValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"openrouter-multimodal": {
"command": "npx",
"args": [
"-y",
"@stabgan/openrouter-mcp-multimodal"
],
"env": {
"OPENROUTER_API_KEY": "your-value",
"OPENROUTER_DEFAULT_MODEL": "your-value",
"OPENROUTER_OUTPUT_DIR": "your-value",
"OPENROUTER_MAX_TOKENS": "your-value",
"OPENROUTER_PROVIDER_SORT": "your-value",
"OPENROUTER_PROVIDER_IGNORE": "your-value",
"OPENROUTER_PROVIDER_ORDER": "your-value",
"OPENROUTER_PROVIDER_QUANTIZATIONS": "your-value",
"OPENROUTER_PROVIDER_REQUIRE_PARAMETERS": "your-value",
"OPENROUTER_PROVIDER_DATA_COLLECTION": "your-value",
"OPENROUTER_PROVIDER_ALLOW_FALLBACKS": "your-value",
"OPENROUTER_CACHE_RESPONSES": "your-value",
"OPENROUTER_INCLUDE_REASONING": "your-value"
}
}
}
}Run this in your terminal
claude mcp add openrouter-multimodal --env OPENROUTER_API_KEY=your-value --env OPENROUTER_DEFAULT_MODEL=your-value --env OPENROUTER_OUTPUT_DIR=your-value --env OPENROUTER_MAX_TOKENS=your-value --env OPENROUTER_PROVIDER_SORT=your-value --env OPENROUTER_PROVIDER_IGNORE=your-value --env OPENROUTER_PROVIDER_ORDER=your-value --env OPENROUTER_PROVIDER_QUANTIZATIONS=your-value --env OPENROUTER_PROVIDER_REQUIRE_PARAMETERS=your-value --env OPENROUTER_PROVIDER_DATA_COLLECTION=your-value --env OPENROUTER_PROVIDER_ALLOW_FALLBACKS=your-value --env OPENROUTER_CACHE_RESPONSES=your-value --env OPENROUTER_INCLUDE_REASONING=your-value -- npx -y @stabgan/openrouter-mcp-multimodalFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"openrouter-multimodal": {
"command": "npx",
"args": [
"-y",
"@stabgan/openrouter-mcp-multimodal"
],
"env": {
"OPENROUTER_API_KEY": "your-value",
"OPENROUTER_DEFAULT_MODEL": "your-value",
"OPENROUTER_OUTPUT_DIR": "your-value",
"OPENROUTER_MAX_TOKENS": "your-value",
"OPENROUTER_PROVIDER_SORT": "your-value",
"OPENROUTER_PROVIDER_IGNORE": "your-value",
"OPENROUTER_PROVIDER_ORDER": "your-value",
"OPENROUTER_PROVIDER_QUANTIZATIONS": "your-value",
"OPENROUTER_PROVIDER_REQUIRE_PARAMETERS": "your-value",
"OPENROUTER_PROVIDER_DATA_COLLECTION": "your-value",
"OPENROUTER_PROVIDER_ALLOW_FALLBACKS": "your-value",
"OPENROUTER_CACHE_RESPONSES": "your-value",
"OPENROUTER_INCLUDE_REASONING": "your-value"
}
}
}
}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": {
"openrouter-multimodal": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@stabgan/openrouter-mcp-multimodal"
],
"env": {
"OPENROUTER_API_KEY": "your-value",
"OPENROUTER_DEFAULT_MODEL": "your-value",
"OPENROUTER_OUTPUT_DIR": "your-value",
"OPENROUTER_MAX_TOKENS": "your-value",
"OPENROUTER_PROVIDER_SORT": "your-value",
"OPENROUTER_PROVIDER_IGNORE": "your-value",
"OPENROUTER_PROVIDER_ORDER": "your-value",
"OPENROUTER_PROVIDER_QUANTIZATIONS": "your-value",
"OPENROUTER_PROVIDER_REQUIRE_PARAMETERS": "your-value",
"OPENROUTER_PROVIDER_DATA_COLLECTION": "your-value",
"OPENROUTER_PROVIDER_ALLOW_FALLBACKS": "your-value",
"OPENROUTER_CACHE_RESPONSES": "your-value",
"OPENROUTER_INCLUDE_REASONING": "your-value"
}
}
}
}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.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
OPENROUTER_DEFAULT_MODEL envOPENROUTER_OUTPUT_DIR envOPENROUTER_MAX_TOKENS envOPENROUTER_PROVIDER_SORT envOPENROUTER_PROVIDER_IGNORE envOPENROUTER_PROVIDER_ORDER envOPENROUTER_PROVIDER_QUANTIZATIONS envOPENROUTER_PROVIDER_REQUIRE_PARAMETERS envOPENROUTER_PROVIDER_DATA_COLLECTION envOPENROUTER_PROVIDER_ALLOW_FALLBACKS envOPENROUTER_CACHE_RESPONSES envOPENROUTER_INCLUDE_REASONING envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
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 7, 2026
The registry name was verified with the GitHub account stabgan, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
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
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.
You need to fill in: OPENROUTER_API_KEY
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 –, and the latest version (4.5.1) reached the registry 6 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js, Docker on your computer.
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.
OpenRouter MCP Multimodal
The MCP server for multimodal AI agents.
One install · 21 tools · 300+ OpenRouter models · text, vision, audio & video — analysis and generation.
Quick start · Tools · Examples · Security · Troubleshooting · Development · Releasing · FAQ
OpenRouter MCP Multimodal is a production-grade Model Context Protocol (MCP) server — listed on the official MCP Registry as io.github.stabgan/openrouter-multimodal. It connects AI coding agents (Cursor, Claude Desktop, VS Code, Windsurf, Cline, and others) to OpenRouter's unified LLM API over stdio.
Unlike text-only MCP servers, one install covers the full multimodal surface:
| Capability | Tools | Highlights |
|---|---|---|
| Chat | chat_completion, start_chat_completion, get_chat_completion_status | 300+ models, :nitro / :floor / :free / :online / :exacto suffixes, provider routing, web search, response caching, reasoning tokens, reasoning effort control, structured output (JSON Schema), async jobs, multi-model fusion, subagent delegation, response healing |
| Vision | analyze_image, generate_image, generate_image_dedicated | OCR, captioning, VQA, image generation with reference inputs, dedicated Image API with resolution/quality/format control |
| Audio | analyze_audio, generate_audio, text_to_speech, speech_to_text | Transcription, speech/music generation, dedicated TTS (Deepgram, ElevenLabs, OpenAI; free Deepgram default, voices, mp3/pcm), dedicated STT (Whisper, GPT-4o Transcribe, Voxtral, ElevenLabs Scribe) |
| Video | analyze_video, generate_video, generate_video_from_image, get_video_status | Clip understanding, Veo 3.1 / Seedance 2.5 / Kling v3.0 / Wan 2.7 / Grok Imagine Video generation with progress notifications |
| Embedding | embed_text | 37+ embedding models (text-embedding-3-small/large, Nomic, Jina, Voyage, etc.) |
| Decisions | decide | Structured yes/no, choice, or score decisions with calibrated probabilities (System One models) |
| Catalog | search_models, get_model_info, validate_model, rerank_documents, health_check | Model discovery, validation, reranking, ops health |
Production hardening: input/output path sandboxes (including analyze\_\* local files as of v4.5.2), SSRF guards, structured errors with _meta.code, MCP 2025-11-25 structured outputs + tool icons, async video progress notifications, and 3929 automated tests (3905 unit/mock + 7 regression + 17 live integration).
1. Get an API key (free tier works) → openrouter.ai/keys
2. Run the server
export OPENROUTER_API_KEY=sk-or-v1-...
npx -y @stabgan/openrouter-mcp-multimodal
3. Add to your MCP client — copy one JSON block from Install into your client config:
| Client | Config location |
|---|---|
| Cursor | Project: .cursor/mcp.json · User: Cursor Settings → MCP |
| Claude Desktop | macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json |
| VS Code | .vscode/mcp.json (workspace) or User Settings → MCP |
| Windsurf | Windsurf Settings → MCP (same mcpServers JSON shape as Cursor) |
Use the mcpServers object from Manual config below.
No credits required to start. Free models such as
google/gemma-4-26b-a4b-it:freework for chat and vision. Video/audio generation typically needs credits.
MCP servers are distributed through several packaging models. This server is implemented in Node.js/TypeScript; the table below maps each ecosystem method to how you run it here.
| Method | Runtime | Best for | This server |
|---|---|---|---|
| [npx](#manual-config) | Node.js 22+ | Most MCP clients (default) | ✅ @stabgan/openrouter-mcp-multimodal |
| [uvx / pipx](#manual-config) | Python 3.10+ and Node.js 22+ | Python-first workflows, same pattern as PyPI MCP servers | ✅ mcp-server-openrouter-multimodal |
| [npm global](#manual-config) | Node.js 22+ | Pin a version without re-downloading | ✅ |
| [node (local)](#manual-config) | Node.js 22+ | Contributors / air-gapped builds | ✅ |
| [Docker Hub](#manual-config) | Docker | Isolation, no Node on host | ✅ stabgan/openrouter-mcp-multimodal |
| [GHCR](#manual-config) | Docker | GitHub-native OCI pulls | ✅ ghcr.io/stabgan/openrouter-mcp-multimodal |
| [Smithery CLI](#smithery) | Node.js (via installer) | Interactive install into Claude/Cursor/etc. | ✅ |
| [MCP Registry](#mcp-registry) | npm or OCI | Official discovery (io.github.stabgan/openrouter-multimodal) | ✅ listing |
| [One-click deeplinks](#one-click) | Node.js | Cursor, VS Code, Kiro | ✅ |
| [Claude Code CLI](#claude-code-cli) | Node.js | Terminal-first Claude Code users | ✅ |
| [MCP Inspector](#mcp-inspector) | Node.js | Debug / list tools locally | ✅ |
| **Windows cmd /c npx*
Only the beginning is shown; read the rest in the repo