Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Descripción del creador (original en inglés)
MCP server for the FFmpeg Micro video transcoding API — create, monitor, download transcodes.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
FFMPEG_MICRO_API_KEYLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Funciona en Claude para web, escritorio y móvil:
https://mcp.ffmpeg-micro.comAbre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"ffmpeg-micro": {
"command": "npx",
"args": [
"-y",
"@ffmpeg-micro/mcp-server"
],
"env": {
"FFMPEG_MICRO_API_KEY": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add --transport http ffmpeg-micro https://mcp.ffmpeg-micro.comclaude mcp add ffmpeg-micro --env FFMPEG_MICRO_API_KEY=your-value -- npx -y @ffmpeg-micro/mcp-serverCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"ffmpeg-micro": {
"url": "https://mcp.ffmpeg-micro.com"
}
}
}Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"ffmpeg-micro": {
"command": "npx",
"args": [
"-y",
"@ffmpeg-micro/mcp-server"
],
"env": {
"FFMPEG_MICRO_API_KEY": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"ffmpeg-micro": {
"type": "http",
"url": "https://mcp.ffmpeg-micro.com"
}
}
}Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"ffmpeg-micro": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@ffmpeg-micro/mcp-server"
],
"env": {
"FFMPEG_MICRO_API_KEY": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
ChatGPT solo se conecta a servidores en internet:
https://mcp.ffmpeg-micro.comLos nombres de los menús pueden variar un poco según el plan y con el tiempo.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Todavía no hemos leído la lista de herramientas de este servidor; revisamos los endpoints por turnos.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 6 nov 2026
El nombre en el registro se verificó con el dominio ffmpeg-micro.com (el registro comprueba quién es dueño del dominio)
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Aún sin revisar; revisamos los endpoints por turnos
Aún sin revisar; revisamos los endpoints por turnos
Aún sin revisar; leemos la lista de herramientas cuando revisamos el endpoint
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: FFMPEG_MICRO_API_KEY
Funciona de las dos formas: instálalo en tu computadora o conéctate a la versión en la nube.
El repo de GitHub cambió por última vez –, y la última versión (0.4.3) llegó al registro hace 20 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.
En la misma categoría: Figma Context MCP, Claude Real Video, Figma MCP Server
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
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.
The Figma MCP server brings Figma design context directly into your AI workflow.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
A Model Context Protocol server that lets AI agents — Claude Code, Claude Desktop, Cursor, Windsurf, VS Code, and any other MCP-compatible client — create, monitor, and download video transcodes through the FFmpeg Micro REST API.
Exposes tools that map onto FFmpeg Micro's public API:
| Tool | What it does |
|---|---|
transcode_video | Create a transcode job from one or more input videos (gs:// or https://). Supports quality/resolution presets and raw FFmpeg options. |
get_transcode | Fetch the current state of a single job. |
list_transcodes | List jobs with optional status, page, limit, since, until filters. |
cancel_transcode | Cancel a pending or processing job. |
get_download_url | Generate a 10-minute signed HTTPS URL for a completed job's output file. |
transcode_and_wait | Convenience: create a job, poll until it finishes, return the signed download URL in one call. |
request_upload_url | Step 1 of the direct-upload flow. Returns a presigned HTTPS URL that the host PUTs the file bytes to. |
confirm_upload | Step 2 of the direct-upload flow. Returns the final gs:// URL plus probe metadata, ready to use as a transcode/transcribe input. |
run_blueprint | Start a blueprint run — a pre-built video workflow (captioning, resizing, watermarking, ads, and more). |
get_blueprint_run | Fetch a blueprint run's status, step, and output URLs (multi-output blueprints return labeled outputs). |
run_blueprint_and_wait | Convenience: start a blueprint run and poll until it completes, fails, or pauses for transcript review. |
continue_blueprint_run | Resume a caption-video run paused in awaiting_review by submitting the approved SRT transcript. |
Blueprints are pre-built workflows behind POST /v1/blueprints/{slug}/runs. The tool descriptions document each blueprint's input fields. Notes:
product-ad) charge tokens; a 402 insufficient_tokens response means the account needs a token pack (dashboard).caption-video pauses in awaiting_review with the transcript (srt_text) so the agent can review/edit before rendering; resume with continue_blueprint_run.listing-kit, hook-variants) return an outputs array of {label, url} — prefer it over output_url when present.The request_upload_url + confirm_upload pair lets an MCP host upload a local file to the FFmpeg Micro storage bucket without dealing with raw API keys or gs:// URLs:
request_upload_url with {filename, contentType, fileSize} → receives a short-lived presigned HTTPS URL.Content-Type.confirm_upload with {filename: , fileSize} → receives the final gs://... fileUrl.fileUrl to transcribe_audio / transcode_video / transcode_and_wait.Add this to your project's .mcp.json (or your MCP client's config):
{
"mcpServers": { "ffmpeg-micro": { "type": "http", "url": "https://mcp.ffmpeg-micro.com" } } }
That's it. The first time your AI tool connects, it will open a browser window for you to sign in with your FFmpeg Micro account via OAuth. After you approve, the token is cached and you won't be asked again.
No API keys to copy, no environment variables to set.
The MCP server supports OAuth 2.1 with PKCE and dynamic client registration. Your MCP client handles the entire flow automatically:
/.well-known/oauth-authorization-serverThis is the default when you use the config above with no headers or env block.
If you prefer to use an API key directly (e.g., for automation or CI), you can pass it as a Bearer token:
{
"mcpServers": { "ffmpeg-micro": { "type": "http", "url": "https://mcp.ffmpeg-micro.com", "headers": { "Authorization": "Bearer your_api_key_here" } } } }
Get your API key from the dashboard.
Runs the server as a local process using npx. Requires Node.js 22.14 or later.
{
"mcpServers": { "ffmpeg-micro": { "command": "npx", "args": ["-y", "@ffmpeg-micro/mcp-server"], "env": { "FFMPEG_MICRO_API_KEY": "your_api_key_here" } } } }
npx -y fetches the latest version each time. Any MCP client that supports stdio servers works with this config.
The HTTP config (OAuth) works with any MCP client that supports streamable HTTP transport:
The stdio config works with any MCP client that supports stdio transport.
Once connected, you can ask things like:
b5f5a9c0-9e33-4e77-8a5b-6a0c2cd9c0b3."git clone https://github.com/ffmpeg-micro/ffmpeg-micro-mcp.git
cd ffmpeg-micro-mcp ./scripts/setup.sh
setup.sh installs dependencies, builds, and wires up the git hooks.
Point your MCP client at the local build to iterate:
{
"mcpServers": { "ffmpeg-micro-dev": { "command": "node", "args": ["/absolute/path/to/ffmpeg-micro-mcp/dist/index.js"], "env": { "FFMPEG_MICRO_API_KEY": "…" } } } }
The MCP Inspector is the fastest way to iterate on tool schemas and responses:
npx @modelcontextprotocol/inspector node dist/index.js
To run the HTTP server locally against a local API gateway:
FFMPEG_MICRO_API_URL=http://localhost:8081 npm run serve
FFMPEG_MICRO_API_KEY=your_key npm run test:integration
Integration tests hit the real FFmpeg Micro production API. They are read-only (no jobs are created).
Unit tests use a mocked fetch, so they prove tool registration + Zod schemas + URL paths but not that the wire shapes match what the gateway actually returns. Two smoke scripts exercise the full request_upload_url → PUT → confirm_upload flow against a real MCP server using a real API key. Run them in order — stdio first (fastest signal), then a deployed HTTP server before/after merge:
# 1. stdio (local dist build) — spawns dist/index.js as a subprocess
npm run build FFMPEG_MICRO_API_KEY=your_key node scripts/smoke-upload-stdio.mjs
npm run serve, Vercel preview, or prod)FFMPEG_MICRO_API_KEY=your_key MCP_URL=https://mcp.ffmpeg-micro.com/ \ node scripts/smoke-upload-http.mjs
Both scripts hit the production API by default and consume billable minutes (the stdio script chains into transcribe_audio for an end-to-end check). Pass a small file like 15-second.mp3 to keep the cost negligible.
A third script smoke-tests the blueprint tools (run_blueprint + get_blueprint_run polled to completion on resize-format, then run_blueprint_and_wait on hook-variants to exercise multi-output). It uses FFmpeg-lane blueprints only, so it consumes plan compute minutes but no tokens:
npm run build
FFMPEG_MICRO_API_KEY=your_key node scripts/smoke-blueprints-stdio.mjs
Vercel preview deployments are gated by Deployment Protection by default. To exercise the HTTP smoke script against a preview URL, generate a Protection-Bypass-for-Automation token in the project's Vercel settings and pass it via VERCEL_BYPASS:
FFMPEG_MICRO_API_KEY=your_key \
MCP_URL=https://your-preview.vercel.app/ \ VERCEL_BYPASS=your_bypass_token \ node scripts/smoke-upload-http.mjs
The script sends the token as the x-vercel-protection-bypass header on every request. It does not send x-vercel-set-bypass-cookie: true — that variant triggers a 307 cookie-setting redirect on POST that the MCP SDK's StreamableHTTPClientTransport does not follow, so the request fails. The header alone returns 200 directly without the redirect dance.
Releases are published to npm via trusted publishing and to the MCP Registry as com.ffmpeg-micro/mcp-server, authenticated via an Ed25519 DNS TXT record on ffmpeg-micro.com. The corresponding private key lives in the MCP_PRIVATE_KEY GitHub Actions secret. The npm side uses OIDC trusted publishing, so no npm token is stored.
Releases are automated via Changesets. Contributors don't manually bump versions, tag commits, or run publish commands — they attach a changeset to their PR and the release pipeline handles the rest.
Every PR that changes shipped code must include a changeset. A CI check enforces this.
# While working on your PR:
npx changeset
The CLI prompts for bump type (major/minor/patch) and a short summary. It writes a markdown file under .changeset/ — commit that file with your PR.
Escape hatches for non-release PRs (docs, CI, internal refactor, test changes with no behavioral impact):
no-changeset label to the PR, ornpx changeset --empty to explicitly declare "no release needed."You don't manually cut releases. The pipeline does it:
main. When pending changesets exist, it opens (or updates) a chore(release): version packages PR authored by the action. That PR:changeset version to consume the pending changesetspackage.jsonserver.json and src/version.ts via scripts/sync-server-version.mjsCHANGELOG.mdmain.changesets/action detects the version bump and:changeset publish, which runs npm publish (OIDC trusted publishing, with provenance attestation) only if that version isn't on npm yet, so every other push to main passes this stepSolo se muestra el principio; lee el resto en el repo