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)
Transcribe local files and URLs with SpeechWeave's OpenAI-compatible Speech-to-Text API.
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.
SPEECHWEAVE_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": {
"speechweave": {
"command": "npx",
"args": [
"-y",
"@speechweave/mcp"
],
"env": {
"SPEECHWEAVE_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add speechweave --env SPEECHWEAVE_API_KEY=your-value -- npx -y @speechweave/mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"speechweave": {
"command": "npx",
"args": [
"-y",
"@speechweave/mcp"
],
"env": {
"SPEECHWEAVE_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": {
"speechweave": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@speechweave/mcp"
],
"env": {
"SPEECHWEAVE_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 6, 2026
The registry name was verified with the GitHub account speechweave, 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: SPEECHWEAVE_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 (1.10.0) reached the registry 16 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.
Official Model Context Protocol server for SpeechWeave. Use to transcribe local files and URLs from Cursor, Claude Desktop, Claude Code, Windsurf, and other MCP clients.
SpeechWeave handles short clips and long-form audio without client-side chunking. This MCP server exposes both sync tools (the transcript comes back in the same tool call) and async tools (start a job, then poll for status).
Docs: speechweave.com/docs/mcp · API reference
Requires Node.js 18+ and a SpeechWeave API key (sk_live_…).
export SPEECHWEAVE_API_KEY="sk_live_..."
npx -y @speechweave/mcp
Add to your MCP config (e.g. .cursor/mcp.json, claude_desktop_config.json):
{
"mcpServers": { "speechweave": { "command": "npx", "args": ["-y", "@speechweave/mcp"], "env": { "SPEECHWEAVE_API_KEY": "sk_live_..." } } } }
claude mcp add speechweave --env SPEECHWEAVE_API_KEY=sk_live_... -- npx -y @speechweave/mcp
| Tool | Delivery | When to use |
|---|---|---|
transcribe_file | sync | Absolute local path. Returns the transcript in this call |
transcribe_url | sync | Public HTTPS URL. Returns the transcript in this call |
start_job_file | async | Absolute local path. Returns job_id immediately |
start_job_url | async | Public HTTPS URL. Returns job_id immediately |
get_job_status | async | Poll status / transcript for a job id |
cancel_job | n/a | Cancel a queued or processing job |
get_limits | n/a | Upload size ceilings for your API key |
fetch_doc | n/a | Public docs by slug (bundled pages + live OpenAPI) |
Delivery (sync or async) is separate from service_mode (standard or deferred). Either service mode works with either delivery.
Never pass raw audio bytes over MCP. Use absolute file paths (local clients) or HTTPS URLs.
All transcription and job-start tools accept the following optional arguments:
model: Choose core (default) or max.service_mode: Choose standard (default) or deferred (lower cost, lower priority).language: Optional ISO language code to force language detection.task: Choose transcribe (default) or translate to produce an English translation instead. language is ignored when translating.prompt: Optional custom vocabulary hint (proper nouns, acronyms, product names) for the first ~30s of audio.Formatted transcripts: transcribe_file, transcribe_url, and get_job_status also accept an optional response_format (text, srt, vtt, or verbose_json) to return the transcript in that shape instead of the default plain text.
Saving to a file: transcribe_file, transcribe_url, and get_job_status accept output_file (an absolute path). The transcript is written there instead of being returned, so long transcripts stay out of the conversation. The result includes output_file and bytes_written. The path must end in .txt, .md, .json, .srt, or .vtt and cannot be inside a hidden folder. The parent folder must exist, and an existing file is only replaced when overwrite is true. With response_format: "verbose_json" the file holds the text plus segment timings as JSON.
Billing errors: a 402 comes back as a tool error with code and a hint. USER_SPEND_CAP_REACHED (raise your spend cap), PLATFORM_SPEND_CAP_REACHED (monthly account limit, request an increase), and INSUFFICIENT_BALANCE or WALLET_EMPTY (top up) all need a change on the account first, so the hint tells the assistant not to retry.
Timeout behavior: Sync tools accept an optional timeout_ms. If the transcription exceeds the timeout, the tool gracefully returns a job_id and instructs the client to switch to get_job_status polling.
get_limits: Returns GET /v1/limits for the calling key, with MB equivalents. Use before uploading large local files.fetch_doc: Returns public documentation. Slug list shows the catalog. Bundled pages include quickstart, mcp, models, billing, and data_retention. Slug api fetches a live OpenAPI overview, and api/ returns one endpoint (e.g. api/get_v1_limits).After adding the server and restarting your client, try asking your AI assistant:
"Use SpeechWeave to transcribe
/Users/me/recordings/standup.mp3and summarize action items."
*The assistant will call transcribe_file with the absolute path and summarize the returned transcript.*
"Start a SpeechWeave job for
https://cdn.example.com/three_hour_podcast.mp3, then check back until it completes."
*The assistant will call start_job_url, then periodically call get_job_status until the status reaches completed.*
"Translate
/Users/me/recordings/spanish_interview.mp3into English SRT subtitles using SpeechWeave."
*The assistant will call transcribe_file with task: "translate" and response_format: "srt".*