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, video and audio generation APIs with USD quotes and confirmation before paid requests.
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.
SPICY_API_KEYValues 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": {
"spicyapi-ai": {
"command": "npx",
"args": [
"-y",
"@spicyapi/mcp"
],
"env": {
"SPICY_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add spicyapi-ai --env SPICY_API_KEY=your-value -- npx -y @spicyapi/mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"spicyapi-ai": {
"command": "npx",
"args": [
"-y",
"@spicyapi/mcp"
],
"env": {
"SPICY_API_KEY": "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": {
"spicyapi-ai": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@spicyapi/mcp"
],
"env": {
"SPICY_API_KEY": "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.
These 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 spicyapi-ai, 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: SPICY_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 (0.6.2) reached the registry 3 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, 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.
The official local MCP server for SpicyAPI. It lets the AI assistant you already use — Claude Desktop, Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI or any MCP client — browse the live model catalog, compare prices, create generation tasks and collect results, with every billable step confirmed by you.
SpicyAPI is an unrestricted AI API: one key for 200+ image, video, audio and chat models (Seedance, Kling, Wan, MiniMax, Seedream, GPT Image, Suno and more), with no content filter added by the platform. What a request can produce depends on the model you pick, and the catalog marks which models are uncensored.
This package installs spicyapi-mcp (stdio) and spicyapi-mcp-http (loopback-only Streamable HTTP). It does not contain the CLI or the Agent Skill.
Full, beginner-friendly guide: [docs.spicyapi.ai/docs/mcp](https://docs.spicyapi.ai/docs/mcp).
MCP (Model Context Protocol) is an open standard for giving AI assistants extra abilities. Once this server is added to your assistant, you can ask in ordinary language — _"make a five-second video from this photo"_ — and the assistant:
The server runs on your own computer. Your assistant app starts it when needed; there is nothing to host.
node --version). npx ships with Node.js.did not declare the required capability. Nothing is created, reserved, charged or destroyed: creation has fetched only its free quote by then, and retry and purge have sent no request. The read-only tools still work.0 for no cap.sk-spicy- and is shown once.export SPICY_API_KEY="sk-spicy-..." # paste your own key
In Windows PowerShell: $env:SPICY_API_KEY = "sk-spicy-...".
Every client below runs the same stdio server: npx --yes --package=@spicyapi/mcp spicyapi-mcp.
You never run this server yourself — your MCP client starts it. Launched by hand it just waits silently on stdin, which looks like a hang. And it needs --package=@spicyapi/mcp in front of the binary name, because this package ships two of them; plain npx @spicyapi/mcp fails with could not determine executable to run.
~/Library/Application Support/Claude/claude_desktop_config.json on macOS and %APPDATA%\Claude\claude_desktop_config.json on Windows.spicyapi entry to an existing mcpServers) and replace YOUR_SPICY_API_KEY.{
"mcpServers": { "spicyapi": { "command": "npx", "args": ["--yes", "--package=@spicyapi/mcp", "spicyapi-mcp"], "env": { "SPICY_API_KEY": "YOUR_SPICY_API_KEY" } } } }
claude mcp add spicyapi \
-e SPICY_API_KEY=$SPICY_API_KEY \ -- npx --yes --package=@spicyapi/mcp spicyapi-mcp
The default scope is the current project; add --scope user for every project. Do not use --scope project, which writes the key into a .mcp.json inside the repository. Check with claude mcp list or /mcp. On native Windows, if the server fails to start, use -- cmd /c npx --yes --package=@spicyapi/mcp spicyapi-mcp.
codex mcp add spicyapi \
--env SPICY_API_KEY=$SPICY_API_KEY \ -- npx --yes --package=@spicyapi/mcp spicyapi-mcp
That writes ~/.codex/config.toml, which the Codex CLI, the IDE extension and the ChatGPT desktop app all read — configure it once and all three pick it up. Check with codex mcp list or /mcp.
Both terminal commands copy SPICY_API_KEY out of your current shell into that client's local config, so run them in a terminal where the key is already exported. If it was not, remove the server (claude mcp remove spicyapi / codex mcp remove spicyapi) and add it again.
Cursor (~/.cursor/mcp.json), Windsurf (~/.codeium/windsurf/mcp_config.json) and Gemini CLI (~/.gemini/settings.json) share the same shape as Claude Desktop:
{
"mcpServers": { "spicyapi": { "command": "npx", "args": ["--yes", "--package=@spicyapi/mcp", "spicyapi-mcp"], "env": { "SPICY_API_KEY": "YOUR_SPICY_API_KEY" } } } }
On Windows these live under %USERPROFILE%. If a file already has other settings, merge mcpServers into it — the whole file must stay valid JSON, with no comments or trailing commas. Restart the client if the tools do not appear (Gemini CLI: /mcp lists them).
Those are user-level files outside your repository. Never copy that block, with a real key in it, into a project file that gets committed — such as a project-level .cursor/mcp.json.
.vscode/mcp.json is committed with your repository, so let VS Code prompt for the key and keep it in its own secret storage:
{
"inputs": [ { "id": "spicyapi-key", "type": "promptString", "description": "SpicyAPI key", "password": true } ], "servers": { "spicyapi": { "type": "stdio", "command": "npx", "args": ["--yes", "--package=@spicyapi/mcp", "spicyapi-mcp"], "env": { "SPICY_API_KEY": "${input:spicyapi-key}" } } } }
Start it from the code lens above the entry or MCP: List Servers, paste the key when asked, then use the tools from Chat in Agent mode.
Use the same command, args and env. Each client owns its config location and format, and both change between versions — their own documentation is authoritative.
Ask your assistant, in order:
spicyapi_service_status needs no key, so this proves the server starts.spicyapi_balance_get proves the key reaches the server.spicyapi_.None of these costs anything.
Use SpicyAPI to list the image models I can call, pick an inexpensive one, generate a cinematic
night portrait, and give me the result link when it finishes.
The agent reads the catalog, fetches the model's schema, obtains an exact quote and stops for your confirmation before anything is charged.
More prompts to try:
Model IDs always come from the live catalog. Any placeholder such as MODEL_ID_FROM_CATALOG in SpicyAPI documentation means an exact ID selected from that catalog, not a literal value.
| Tool | Purpose | Read-only | Billable | Confirmation |
|---|---|---|---|---|
spicyapi_service_status | Public health and readiness; no key needed | Yes | No | No |
spicyapi_docs_search | Search the bundled first-party documentation index; no key | Yes | No | No |
spicyapi_models_list | Enabled models and account-specific prices | Yes | No | No |
spicyapi_model_get | One model and its current input schema | Yes | No | No |
spicyapi_balance_get | Available, held and total balance | Yes | No | No |
spicyapi_usage_get | Settled USD usage for the current key | Yes | No | No |
spicyapi_tasks_list | One page of task metadata for the current key | Yes | No | No |
spicyapi_task_get | Read one task, including ready result links | Yes | No | No |
spicyapi_task_wait | Wait up to 300 seconds for a task to reach a terminal state | Yes | No | No |
spicyapi_task_quote | Price an exact request without creating anything | Yes | No | No |
spicyapi_upload_file | Read, upload and commit a local file; return its spicy:// URI | No | No | No |
spicyapi_download_url_create | Short-lived signed URL for a task output | No | No | No |
spicyapi_task_create | Create an asynchronous generation task | No | Yes | Always |
spicyapi_task_retry | Create a new task from a failed or expired one | No | Yes | Always |
spicyapi_task_purge | Destroy one terminal task's stored content (destructiveHint) | No | No | Always |
spicyapi_assets_list | One page of saved assets, each with its spicy://a/ reference | Yes | No | No |
spicyapi_assets_usage_get | Asset storage plan, what is stored, today's count, next plan | Yes | No | No |
spicyapi_asset_save | Save a task output, local file, URL or upload to the library | No | No | No |
spicyapi_asset_rename | Rename a saved asset; its reference stays the same | No | No | No |
spicyapi_asset_delete | Delete a saved asset for good (destructiveHint) | No | No | Always |
spicyapi_characters_list | One page of characters, each with its images in order | Yes | No | No |
spicyapi_character_get | One character with its images, as spicy://a/ references | Yes | No | No |
The server also registers two resources — `s
Only the beginning is shown; read the rest in the repo