原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Ffmpeg Micro MCP

作者:ffmpeg-micro版本 0.4.3i★ –i电脑或云端
注册名称com.ffmpeg-micro/mcp-server

安装

概览

作者提供的说明(英文原文)

MCP server for the FFmpeg Micro video transcoding API — create, monitor, download transcodes.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 电脑或云端
  • 传输方式: stdio, Streamable HTTP
  • 分类: 设计、图片与音频
  • 你需要填写:FFMPEG_MICRO_API_KEY

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。

你需要

  • 在云端运行无需安装任何东西,通过互联网连接
  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

适用于网页版、桌面版和手机版 Claude:

  1. 打开 Settings → Connectors
  2. 点击 Add custom connector
  3. 粘贴下面的地址,然后点击 Add
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Add2https://…3
https://mcp.ffmpeg-micro.com

或者在你的电脑上运行

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "ffmpeg-micro": {
      "command": "npx",
      "args": [
        "-y",
        "@ffmpeg-micro/mcp-server"
      ],
      "env": {
        "FFMPEG_MICRO_API_KEY": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add --transport http ffmpeg-micro https://mcp.ffmpeg-micro.com

或者在你的电脑上运行

claude mcp add ffmpeg-micro --env FFMPEG_MICRO_API_KEY=your-value -- npx -y @ffmpeg-micro/mcp-server

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "ffmpeg-micro": {
      "url": "https://mcp.ffmpeg-micro.com"
    }
  }
}

或者在你的电脑上运行

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "ffmpeg-micro": {
      "command": "npx",
      "args": [
        "-y",
        "@ffmpeg-micro/mcp-server"
      ],
      "env": {
        "FFMPEG_MICRO_API_KEY": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "ffmpeg-micro": {
      "type": "http",
      "url": "https://mcp.ffmpeg-micro.com"
    }
  }
}

或者在你的电脑上运行

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "ffmpeg-micro": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@ffmpeg-micro/mcp-server"
      ],
      "env": {
        "FFMPEG_MICRO_API_KEY": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

ChatGPT 只能连接互联网上的服务器:

  1. 打开网页版 ChatGPT → Settings → Connectors (Apps)
  2. 点击 Create 或 Add(部分套餐需要先在 Advanced 中开启 Developer mode)
  3. 粘贴下面的地址,起个名字,然后保存
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Create2https://…3
https://mcp.ffmpeg-micro.com

菜单名称可能因套餐和版本不同而略有差异。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • FFMPEG_MICRO_API_KEY 机密 必填 env
    API key from https://www.ffmpeg-micro.com/dashboard/api-keys

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过域名 ffmpeg-micro.com 验证(注册中心会核实域名所有权)

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    端点有响应

    尚未检查;我们会轮流检查各个端点

  • … 尚未检查

    使用 OAuth 登录

    尚未检查;我们会轮流检查各个端点

  • … 尚未检查

    工具描述中没有隐藏指令

    尚未检查;我们会在检查端点时读取工具列表

与“设计、图片与音频”中的其他服务器比较i

  • 星标数多于此分类中其他 2180 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 2180 个服务器的 60% 更新
  • 基础检查结果等于或优于此分类中其他 2180 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Ffmpeg Micro MCP 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:FFMPEG_MICRO_API_KEY

它在我的电脑上运行还是在云端?

两种方式都可以:安装在你的电脑上,或者连接云端版本。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.4.3)于21天前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。

有什么可以替代它?

同一分类中有:Figma Context MCP, Claude Real Video, Figma MCP Server

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Figma Context MCP

作者:GLips

Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.

在你的电脑上运行★ 16,165MIT5个月前更新
安装

Claude Real Video

作者:HUANGCHIHHUNGLeo

Let any LLM watch a video locally — and search everything it has ever watched.

在你的电脑上运行★ 2,284MIT2个月前更新
安装

Figma MCP Server

作者:figma

The Figma MCP server brings Figma design context directly into your AI workflow.

在云端运行★ 2,15213个月前更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

@ffmpeg-micro/mcp-server

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.

What it does

Exposes tools that map onto FFmpeg Micro's public API:

ToolWhat it does
transcode_videoCreate a transcode job from one or more input videos (gs:// or https://). Supports quality/resolution presets and raw FFmpeg options.
get_transcodeFetch the current state of a single job.
list_transcodesList jobs with optional status, page, limit, since, until filters.
cancel_transcodeCancel a pending or processing job.
get_download_urlGenerate a 10-minute signed HTTPS URL for a completed job's output file.
transcode_and_waitConvenience: create a job, poll until it finishes, return the signed download URL in one call.
request_upload_urlStep 1 of the direct-upload flow. Returns a presigned HTTPS URL that the host PUTs the file bytes to.
confirm_uploadStep 2 of the direct-upload flow. Returns the final gs:// URL plus probe metadata, ready to use as a transcode/transcribe input.
run_blueprintStart a blueprint run — a pre-built video workflow (captioning, resizing, watermarking, ads, and more).
get_blueprint_runFetch a blueprint run's status, step, and output URLs (multi-output blueprints return labeled outputs).
run_blueprint_and_waitConvenience: start a blueprint run and poll until it completes, fails, or pauses for transcript review.
continue_blueprint_runResume a caption-video run paused in awaiting_review by submitting the approved SRT transcript.
Blueprints

Blueprints are pre-built workflows behind POST /v1/blueprints/{slug}/runs. The tool descriptions document each blueprint's input fields. Notes:

  • Most blueprints run on the FFmpeg lane and meter plan compute minutes (no tokens). Generative blueprints (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.
  • Multi-output blueprints (listing-kit, hook-variants) return an outputs array of {label, url} — prefer it over output_url when present.
  • Output URLs are signed with a 10-minute TTL; re-fetch the run for fresh links.
Uploading a local file

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:

  1. Host calls request_upload_url with {filename, contentType, fileSize} → receives a short-lived presigned HTTPS URL.
  2. Host PUTs the file bytes to that URL with the same Content-Type.
  3. Host calls confirm_upload with {filename: , fileSize} → receives the final gs://... fileUrl.
  4. Host passes that fileUrl to transcribe_audio / transcode_video / transcode_and_wait.

Quick start

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.

Authentication

OAuth (recommended)

The MCP server supports OAuth 2.1 with PKCE and dynamic client registration. Your MCP client handles the entire flow automatically:

  1. Client discovers OAuth endpoints via /.well-known/oauth-authorization-server
  2. Client registers itself dynamically
  3. Browser opens for you to sign in and approve access
  4. Token is exchanged and cached — subsequent connections are instant

This is the default when you use the config above with no headers or env block.

API key (alternative)

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.

stdio (local install)

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.

Compatible tools

The HTTP config (OAuth) works with any MCP client that supports streamable HTTP transport:

  • Claude Code (CLI)
  • Claude Desktop
  • Cursor
  • Windsurf
  • VS Code (GitHub Copilot MCP)

The stdio config works with any MCP client that supports stdio transport.

Example prompts

Once connected, you can ask things like:

  • "Transcode this video to 720p MP4 and give me the download URL when it's done."
  • "Crop this landscape video to a square."
  • "Add a text overlay saying 'Episode 12' to my video."
  • "List my failed jobs from this week."
  • "Cancel job b5f5a9c0-9e33-4e77-8a5b-6a0c2cd9c0b3."

Development

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
Running integration tests locally
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).

Smoke-testing the upload tools end-to-end

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

2. HTTP (any deployed server — local 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

Hitting protection-protected Vercel previews

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.

Release process

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.

Contributor flow (every PR)

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):

  • Add the no-changeset label to the PR, or
  • npx changeset --empty to explicitly declare "no release needed."
Maintainer flow (cutting a release)

You don't manually cut releases. The pipeline does it:

  1. PRs land on `main` with changeset files attached.
  2. `.github/workflows/release.yml` runs on every push to main. When pending changesets exist, it opens (or updates) a chore(release): version packages PR authored by the action. That PR:
  • Runs changeset version to consume the pending changesets
  • Bumps package.json
  • Re-syncs server.json and src/version.ts via scripts/sync-server-version.mjs
  • Appends entries to CHANGELOG.md
  • Commits the result to its own branch
  1. Review and merge the Version Packages PR when you're ready to ship. You can let several changesets accumulate before merging — the PR updates itself as more land on main.
  2. On merge, the release workflow runs again. This time there are no pending changesets, so 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 step
  • Creates the GitHub Release + git

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx