Qencode

com.qencode由 qencode.com 發布官方發布者v1.2.0更新於 Oct 24, 2026

Video pipeline for AI agents: analyze with AI, transcode to MP4/HLS/DASH, edit, protect and deliver.

已驗證Streamable HTTP可網頁執行雲端與基礎設施檔案與儲存媒體與設計

概覽

AI 產生的概覽

託管式 Qencode 連接器,讓助理提交、監控與分析影片轉碼工作,並管理媒體儲存桶。

可以做什麼
  • 從來源網址向一個或多個輸出提交轉碼工作,或直接送出完整原始查詢
  • 查詢工作狀態、各碼率層級的詳細進度,並讀取分析工作產出的結果檔案
  • 搜尋並取得內建的配方與參考文件知識庫
  • 管理媒體儲存:列出與建立儲存桶、瀏覽物件、取得下載連結、把公開網址複製進儲存桶
  • 內嵌播放轉碼結果,並顯示可自動重新整理的工作卡片
適用情境
適合想用自然語言讓助理執行影片流程的情境:建立 HLS/DASH/MP4 多碼率階梯、裁切、加浮水印、字幕、DRM 打包、VMAF 品質檢測、AI 分析或轉錄,並把結果送到儲存桶。
執行需求
遠端 MCP 端點,不需本機安裝,用戶端設定中不需 API 金鑰。需要至少含一個專案的 Qencode 入口網站帳號,以及支援 OAuth 2.1 瀏覽器登入的 MCP 用戶端;授權時選擇專案並同意權限範圍。正式與 QA 環境各有獨立端點與帳號。
安裝前請注意
授權範圍包含 transcoding:write,助理可提交會消耗 Qencode 帳號處理資源的工作並建立儲存桶;也可把公開網址複製進你的儲存空間,並產生有時效的下載連結。用戶端會保存存取權杖並透過 offline_access 更新,不再使用時可在入口網站撤銷授權。來源網址僅限 http、https、s3 與 tus 協定。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Qencode,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.qencode%2Fqencode/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

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

README

qencode-mcp

Model Context Protocol (MCP) server for the Qencode Transcoding API.

Connect any MCP-compatible AI client — Claude, Cursor, ChatGPT, Grok, Gemini — to your Qencode account and let it submit, monitor, and reason about transcoding jobs on your behalf.

Quick example

Once your client is connected (see Connect a client), ask your agent in plain English:

Transcode https://example.com/input.mp4 as an HLS ladder at 1080/720/540/360. Put it in my R2 bucket videos/demo/.

The agent picks the hls_abr recipe, fills in the per-rendition encoding params, submits via start_encode2_raw, and polls until the job is done.

Prerequisites

  • A Qencode portal account with at least one project — sign in at the portal for your environment: https://portal.qencode.com (production) or https://portal-qa.qencode.com (QA). You select the project during the OAuth consent step.
  • An MCP-compatible client (Claude, Cursor, ChatGPT, Grok, Gemini, or any custom client).

There are no API keys to copy into client config — authentication is browser-based OAuth.

How it works

The connector uses standard OAuth 2.1 — no API keys in client config. On first use, your client opens a browser, you sign in to your Qencode portal account, pick a project, and approve the requested scopes. The client stores the token; subsequent calls are silent until the token expires.

Scopes the client should request at authorize time (published via Protected Resource Metadata):

ScopePurpose
openidOIDC identity
profileDisplay name
emailAccount email
offline_accessRefresh token
transcoding:readget_job_status, list_jobs, docs tools
transcoding:writetranscode_video, start_encode2_raw

The RS enforces transcoding:read and transcoding:write on access tokens at the transport layer.

Your Qencode API keys never leave the portal. The MCP server derives a short-lived session token per request via an internal portal endpoint.

Environments

The same connector is deployed in two environments. Each has its own domains, accounts, projects, and credentials — sign in to the portal that matches the endpoint you connect to.

RoleProductionQA (testing)
MCP endpoint (connect here)https://mcp.qencode.com/mcphttps://mcp-qa.qencode.com/mcp
Portal (sign in / projects)https://portal.qencode.comhttps://portal-qa.qencode.com
Authorization serverhttps://auth.qencode.comhttps://auth-qa.qencode.com
Qencode APIhttps://api.qencode.comhttps://api-qa.qencode.com

The instructions below use the production endpoint. To test against QA, swap in the QA URL and sign in at the QA portal.

Connect a client

Endpoint: https://mcp.qencode.com/mcp — same for every client below. Sign in to your Qencode account when the browser opens and approve access.

QA (internal testing): use https://mcp-qa.qencode.com/mcp and sign in at the QA portal instead.

ClientWhere to add itMCP URL / config
Claude (chat)Message box → + → Connectors → Add connectorhttps://mcp.qencode.com/mcp
Claude CodeTerminalclaude mcp add --transport http qencode https://mcp.qencode.com/mcp
ChatGPTApps → search Qencode → Connect; or Developer Mode → Build appConnector URL: https://mcp.qencode.com/mcp
Gemini~/.gemini/settings.json → mcpServers"httpUrl": "https://mcp.qencode.com/mcp" — then /mcp auth qencode in the CLI
CursorSettings → Tools & MCP → New MCP Server (or ~/.cursor/mcp.json)"url": "https://mcp.qencode.com/mcp" — restart Cursor after saving

Cursor (mcp.json):

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

Gemini (settings.json):

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

Tip: sign in to portal.qencode.com in your browser before connecting — OAuth goes smoother.

What the connector exposes

Tools

Transcoding & jobs

ToolDescription
transcode_videoSubmit a job from a source URL to one or more outputs. Convenience wrapper — auto-injects encoder_version: 2 (or 1 for VMAF) when omitted.
start_encode2_rawEscape hatch — submit a job with the full query JSON exactly as the Qencode API expects.
get_job_statusOne-shot status snapshot by task_token.
get_job_status_detailedFull, authoritative job status, including per-rendition progress and output details.
list_jobsInline jobs card for the task_tokens of the current conversation — status badges, filters, expandable rows, output URLs. The card refreshes itself while any job is still running.
fetch_job_resultRead the contents of a result file produced by an analysis job (transcript, VMAF report, metadata, categorization).
wait_for_jobDeprecated. Returns immediately and points at list_jobs; kept so older conversations do not hit "tool not found".
search_qencode_docsSearch the built-in knowledge base of recipes and reference docs.
fetch_qencode_docFetch the full content of a knowledge-base resource by qencode:// URI (tool-based counterpart to resources/read).

Playback

ToolDescription
open_playerRender a playable result inline — progressive MP4/WebM or an HLS/DASH manifest. The server applies the calling host's sandbox policy, so which source origins are allowed depends on the client.
refresh_jobsThe jobs card's own silent poll. Not meant to be called directly by an agent; it backs the card's auto-refresh and Refresh button.

Media Storage

Bucket management and ingest for Qencode Media Storage. These ride the same OAuth grant as the transcoding tools — no extra scope and no re-consent.

ToolDescription
list_bucketsList the Media Storage buckets available to the account.
create_bucketCreate a new bucket. Called only on an explicit request — not to satisfy a missing destination.
list_objectsBrowse the contents of a bucket.
get_download_urlReturn a time-limited download URL for an existing object.
download_url_to_bucketServer-side copy of a public URL into a bucket (ingest, no transcoding).

Resources

The server ships a knowledge base of recipes and reference docs, exposed as MCP resources so the agent can fetch only what it needs. Notable URIs:

  • qencode://docs/best-practices — composition defaults the agent applies automatically
  • qencode://docs/storage — destination compatibility matrix (Qencode S3, R2, AWS S3, Azure, B2, FTP/SFTP)
  • qencode://docs/error-codes — error code → cause → fix
  • qencode://docs/gotchas — non-obvious API quirks
  • qencode://schema/digest — full attribute reference for start_encode2
  • qencode://recipe/<slug> — one per feature flow: 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

Use search_qencode_docs to discover the right recipe URI for a goal.

Prompts (slash commands)

In clients that surface MCP prompts, 40 one-shot templates are available. Each tells the agent to read the matching qencode://recipe/... resource and submit via start_encode2_raw.

ABR / packaging: encode_hls_abr, encode_dash_abr, encode_mp4_ladder, encode_incremental_rung, encode_refreshing_playlist, remux_repack

Codecs / quality: encode_av1, encode_lcevc, tune_per_title, check_vmaf, ai_upscale_video, convert_hdr_to_sdr

Audio / images / text: extract_audio, generate_thumbnails, generate_smart_thumbnails, generate_waveform, transcribe, add_subtitles

Editing / framing: trim_clip, rotate_video, deinterlace_video, enable_smart_crop, add_watermark, add_html_overlay

Immersive: enable_vr_mode, inject_360_metadata

Analysis: get_video_metadata, analyze_video, detect_ai_generated

Probe / stitch: stitch_videos

Production hooks: 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

Source URL rules

transcode_video and start_encode2_raw accept source values with schemes https://, http://, s3://, or tus:. FTP/SFTP and private/metadata URLs are rejected at the tool boundary (SSRF defence). See docs/security/THREAT_MODEL.md for limitations.

Security

Authentication is OAuth 2.1 only — there is no static-API-key mode. Your Qencode API keys never leave the portal; the server derives a fresh, short-lived session token per request via an internal portal endpoint. Source URLs are validated at the tool boundary (SSRF defence — see Source URL rules).

Full threat model and adversarial test coverage: docs/security/THREAT_MODEL.md.

Development

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

Protocol tests run fully offline (mocked Authorization Server, portal, and Qencode API). CI is the Jenkins job mcp_automated_tests (Jenkinsfile.manual): manual checkboxes for any layer, nightly L3 cron, weekly L4 cron.

Supported MCP protocol versions

Clients negotiate a version at initialize. This server targets MCP 2025-11-25 as the primary version. CI also runs conformance tests against 2025-06-18 because JSON-RPC batching behavior differs between earlier revisions. We do not claim support for 2025-03-26 or older wire semantics beyond what the underlying SDK negotiates.

VersionSupportNotes
2025-11-25PrimaryStreamable HTTP, resumable SSE where used
2025-06-18CI matrixRegression guard for mid-2025 clients
2025-03-26Not targetedBatching semantics differ from 2025-06-18

Directory listings (Glama)

The connector users install is the hosted endpoint above. For Glama Servers / awesome-mcp-servers scoring only, this repo also ships qencode-mcp-inspect (stdio, dummy env, tools/call refused). That is not a supported client transport. See docs/glama-release.md.

More docs

Versioning policy

The connector follows SemVer applied to the MCP surface — tools, prompts, resources, OAuth scopes, and supported protocol versions. Qencode HTTP API changes are out of scope (they are the API's own concern, not the connector's).

  • MAJOR — a breaking surface change: a tool/prompt/resource is removed or renamed, a previously optional argument becomes required, an OAuth scope is added or tightened in a way that forces re-consent, or a supported MCP protocol version is dropped.
  • MINOR — a backward-compatible addition: a new tool/prompt/resource, a new optional argument, or a newly supported protocol version.
  • PATCH — no change to the surface shape: tool/prompt description rewordings, knowledge-base/doc updates, and bug fixes.

Surface changes are guarded by snapshot tests under tests/protocol/. When you change the surface, regenerate the snapshots (python scripts/regen_tools_snapshot.py) and bump the version in the same PR: pyproject.toml, src/qencode_mcp/__init__.py, server.json, and a new CHANGELOG.md entry must all agree.

Links

來源:README.md,提交 acd812d

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

2
  1. v1.2.0最新Oct 21, 2026
  2. v1.1.0Sep 16, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Qencode 整合