mcpField
Q
qencode

qencode

远程服务
qencode.com媒体与设计15 周前更新

关于 qencode

qencode 是面向 AI Agent 的 Qencode 转码 MCP 服务,可让兼容客户端提交并跟踪媒体任务。它还提供存储管理、播放预览以及配方文档和提示词。

主要功能

  1. 01提交转码任务并查询进度
  2. 02读取分析任务结果文件
  3. 03浏览及管理媒体存储桶
  4. 04内联播放 MP4、HLS 和 DASH
  5. 05检索配方与参考文档

适用场景

  1. 01生成 HLS 或 DASH 自适应码率输出
  2. 02转录视频并读取分析结果
  3. 03将公共 URL 导入媒体存储桶

MCP 相关

通过 MCP 向客户端提供转码与任务管理工具、存储工具、资源和提示词。使用 OAuth 2.1 连接 Qencode 账户。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.qencode.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

qencode-mcp

面向 Qencode Transcoding API 的模型上下文协议(MCP)服务。

将任意兼容 MCP 的 AI 客户端——Claude、Cursor、ChatGPT、Grok、Gemini——连接到你的 Qencode 账户,让它代表你提交、监控转码作业并分析作业情况。

快速示例

连接客户端后(请参阅连接客户端),用日常语言向 Agent 提出请求:

将 https://example.com/input.mp4 转码为包含 1080/720/540/360 的 HLS 梯度。将其放到我的 R2 存储桶 videos/demo/ 中。

Agent 会选择 hls_abr 配方,填写每个输出分辨率对应的编码参数,通过 start_encode2_raw 提交作业,并持续轮询直至作业完成。

前置条件

  • Qencode 门户账户,且至少有一个项目——请登录与你的环境对应的门户:https://portal.qencode.com(生产环境)或 https://portal-qa.qencode.com(QA 环境)。你将在 OAuth 授权步骤中选择项目。
  • 兼容 MCP 的客户端(Claude、Cursor、ChatGPT、Grok、Gemini 或任何自定义客户端)。

无需将 API 密钥复制到客户端配置中——身份验证通过浏览器中的 OAuth 完成。

工作原理

此连接器使用标准 OAuth 2.1——客户端配置中无需 API 密钥。首次使用时,客户端会打开浏览器,你登录 Qencode 门户账户、选择项目并批准请求的权限范围。客户端会保存令牌;后续调用无需任何操作,直到令牌过期。

客户端在授权时应请求的权限范围(通过受保护资源元数据发布):

权限范围用途
openidOIDC 身份
profile显示名称
email账户电子邮件
offline_access刷新令牌
transcoding:readget_job_status、list_jobs、文档工具
transcoding:writetranscode_video、start_encode2_raw

RS 会在传输层对访问令牌强制执行 transcoding:read 和 transcoding:write 权限。

你的 Qencode API 密钥不会离开门户。MCP 服务会通过内部门户端点,为每个请求派生一个短期会话令牌。

环境

同一个连接器部署在两个环境中。每个环境都有各自的域名、账户、项目和凭据——请登录与你连接的端点对应的门户。

角色生产环境QA(测试)
MCP 端点(在此连接)https://mcp.qencode.com/mcphttps://mcp-qa.qencode.com/mcp
门户(登录 / 项目)https://portal.qencode.comhttps://portal-qa.qencode.com
授权服务器https://auth.qencode.comhttps://auth-qa.qencode.com
Qencode APIhttps://api.qencode.comhttps://api-qa.qencode.com

以下说明使用生产环境端点。若要针对 QA 环境测试,请替换为 QA URL,并登录 QA 门户。

连接客户端

端点:https://mcp.qencode.com/mcp — 以下所有客户端均使用此端点。浏览器打开后,登录你的 Qencode 账号并批准访问。

**QA(内部测试):**使用 https://mcp-qa.qencode.com/mcp,并改为在 QA 门户登录。

客户端添加位置MCP URL / 配置
Claude(聊天)消息框 → + → Connectors → Add connectorhttps://mcp.qencode.com/mcp
Claude Code终端claude mcp add --transport http qencode https://mcp.qencode.com/mcp
ChatGPTApps → 搜索 Qencode → Connect;或 Developer Mode → Build app连接器 URL:https://mcp.qencode.com/mcp
Gemini~/.gemini/settings.json → mcpServers"httpUrl": "https://mcp.qencode.com/mcp" — 然后在命令行中运行 /mcp auth qencode
CursorSettings → Tools & MCP → New MCP Server(或 ~/.cursor/mcp.json)"url": "https://mcp.qencode.com/mcp" — 保存后重启 Cursor

Cursor(mcp.json):

{
  "mcpServers": {
    "qencode": { "url": "https://mcp.qencode.com/mcp" }
  }
}

Gemini(settings.json):

{
  "mcpServers": {
    "qencode": {
      "httpUrl": "https://mcp.qencode.com/mcp",
      "timeout": 30000,
      "trust": false
    }
  }
}

提示:连接前,先在浏览器中登录 portal.qencode.com — OAuth 流程会更顺畅。

连接器提供的功能

工具

转码与作业

工具描述
transcode_video将作业提交到一个或多个输出,源为 URL。便捷封装 — 如果未提供 encoder_version,会自动注入 encoder_version: 2(VMAF 使用 1)。
start_encode2_raw备用入口 — 按照 Qencode API 的要求,使用完整的 query JSON 提交作业。
get_job_status根据 task_token 获取一次状态快照。
get_job_status_detailed完整、权威的作业状态,包括各个转码版本的进度和输出详情。
list_jobs为当前对话的 task_tokens 显示内嵌作业卡片 — 包括状态徽标、筛选器、可展开行和输出 URL。只要有作业仍在运行,卡片就会自动刷新。
fetch_job_result读取分析作业生成的结果文件内容(转录文本、VMAF 报告、元数据、分类结果)。
wait_for_job已弃用。会立即返回并指向 list_jobs;保留此工具是为了避免较早的对话遇到“找不到工具”的错误。
search_qencode_docs搜索内置的配方与参考文档知识库。
fetch_qencode_doc通过 qencode:// URI 获取知识库资源的完整内容(作为 resources/read 的工具版对应项)。

播放

工具描述
open_player在页面内渲染可播放的结果 — 渐进式 MP4/WebM 或 HLS/DASH 清单。服务会应用调用方主机的沙箱策略,因此允许哪些源站取决于客户端。
refresh_jobs作业卡片自身的静默轮询。不供 Agent 直接调用;用于支持卡片的自动刷新和 Refresh 按钮。

媒体存储

Qencode Media Storage 的存储桶管理与媒体导入。这些功能使用与转码工具相同的 OAuth 授权 — 无需额外权限范围,也无需重新授权。

工具描述
list_buckets列出账号可用的 Media Storage 存储桶。
create_bucket创建新存储桶。仅在收到明确请求时调用 — 不要为了填补缺失的 destination 而调用。
list_objects浏览存储桶内容。
get_download_url返回现有对象的限时下载 URL。
download_url_to_bucket在服务器端将公共 URL 复制到存储桶(媒体导入,不进行转码)。
资源

该服务附带一个包含配方和参考文档的知识库,并将其作为 MCP 资源公开,供 Agent 按需获取。重要 URI:

  • qencode://docs/best-practices — Agent 自动应用的合成默认设置
  • qencode://docs/storage — 目标存储兼容性矩阵(Qencode S3、R2、AWS S3、Azure、B2、FTP/SFTP)
  • qencode://docs/error-codes — 错误代码 → 原因 → 修复方法
  • qencode://docs/gotchas — 不明显的 API 特性
  • qencode://schema/digest — start_encode2 的完整属性参考
  • qencode://recipe/<slug> — 每种功能流程对应一个配方:ai_detection、ai_upscaling、audio_outputs、callbacks、clip_trim、codec_av1、codec_lcevc、drm_aes128、drm_buydrm、drm_doverunner、drm_expressplay、drm_fairplay_ezdrm、drm_forensic_watermark、drm_playready_ezdrm、drm_widevine_ezdrm、hdr_to_sdr、hls_abr、incremental_abr、mp4_ladder、per_title_encoding、refresh_abr_playlist、reliability、repack、rotate_deinterlace、smart_crop、smart_thumbnail、speech_to_text、stitching、subtitles、thumbnails、video_intelligence、video_metadata、vmaf_quality、vr_360、vr_mode、watermark_logo、waveform

使用 search_qencode_docs 查找适合目标的配方 URI。

提示词(斜杠命令)

在支持 MCP 提示词的客户端中,有 40 个单次使用模板可用。每个模板都会指示 Agent 读取匹配的 qencode://recipe/... 资源,并通过 start_encode2_raw 提交。

ABR / 打包: encode_hls_abr、encode_dash_abr、encode_mp4_ladder、encode_incremental_rung、encode_refreshing_playlist、remux_repack

编解码器 / 质量: encode_av1、encode_lcevc、tune_per_title、check_vmaf、ai_upscale_video、convert_hdr_to_sdr

音频 / 图像 / 文本: extract_audio、generate_thumbnails、generate_smart_thumbnails、generate_waveform、transcribe、add_subtitles

编辑 / 画面构图: trim_clip、rotate_video、deinterlace_video、enable_smart_crop、add_watermark、add_html_overlay

沉浸式: enable_vr_mode、inject_360_metadata

分析: get_video_metadata、analyze_video、detect_ai_generated

探测 / 拼接: stitch_videos

生产环境钩子: enable_callbacks、enable_reliability

DRM: encode_aes128_hls、encode_widevine_ezdrm、encode_playready_ezdrm、encode_fairplay_ezdrm、encode_drm_buydrm、encode_drm_expressplay、encode_drm_doverunner、encode_forensic_watermark

源 URL 规则

transcode_video 和 start_encode2_raw 接受使用 https://、http://、s3:// 或 tus: 协议的 source 值。FTP/SFTP 和私有/元数据 URL 会在工具边界处被拒绝(SSRF 防护)。限制详见 docs/security/THREAT_MODEL.md。

安全

仅支持 OAuth 2.1 身份验证——没有静态 API 密钥模式。你的 Qencode API 密钥不会离开门户;服务会通过内部门户端点,为每个请求派生一个全新的短期会话令牌。源 URL 会在工具边界处进行验证(SSRF 防护——参见源 URL 规则)。

完整威胁模型和对抗性测试覆盖范围:docs/security/THREAT_MODEL.md。

开发

uv venv && uv pip install -e ".[dev]"
NO_NETWORK=1 pytest -q              # offline L1 + L2 + L5 (~900 tests)
pytest -m protocol                # MCP wire conformance only
pytest -m unit                    # per-tool logic (FakeQencode)
pytest -m security                # OWASP MCP Top 10 adversarial suite

协议测试完全离线运行(模拟授权服务器、门户和 Qencode API)。CI 使用 Jenkins 作业 mcp_automated_tests(Jenkinsfile.manual):可通过手动复选框选择任意层级,每晚运行 L3 cron,每周运行 L4 cron。

支持的 MCP 协议版本

客户端在 initialize 阶段协商版本。此服务以 MCP 2025-11-25 为主要目标版本。CI 也会针对 2025-06-18 运行一致性测试,因为 JSON-RPC 批处理行为在较早的修订版之间有所不同。除底层 SDK 协商支持的范围外,我们不声称支持 2025-03-26 或更早版本的线协议语义。

版本支持情况备注
2025-11-25主要版本流式 HTTP;在适用时支持可恢复的 SSE
2025-06-18CI 矩阵为 2025 年年中客户端提供回归保护
2025-03-26非目标版本批处理语义与 2025-06-18 不同
目录列表(Glama)

用户安装的连接器是上方托管的端点。仅用于 Glama Servers / awesome-mcp-servers 评分时,此仓库还会提供 qencode-mcp-inspect(stdio、虚拟环境变量、 拒绝 tools/call)。这不是受支持的客户端传输方式。请参阅 docs/glama-release.md。

更多文档

版本策略

连接器遵循 SemVer,并将其应用于 MCP 接口——工具、提示词、资源、OAuth 作用域和支持的协议版本。Qencode HTTP API 的变更不在此范围内(这属于 API 本身的职责,而非连接器的职责)。

  • MAJOR — 破坏性接口变更:移除或重命名工具 / 提示词 / 资源、将之前可选的参数改为必填、添加或收紧 OAuth 作用域而导致必须重新授权,或弃用某个受支持的 MCP 协议版本。
  • MINOR — 向后兼容的新增内容:新增工具 / 提示词 / 资源、新增可选参数,或新增受支持的协议版本。
  • PATCH — 接口结构不变:调整工具 / 提示词描述的措辞、更新知识库 / 文档,以及修复错误。

接口变更由 tests/protocol/ 下的快照测试进行保护。更改接口时,请重新生成快照(python scripts/regen_tools_snapshot.py),并在同一个 PR 中更新版本:pyproject.toml、src/qencode_mcp/__init__.py、server.json 和新的 CHANGELOG.md 条目必须保持一致。

链接

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。