
Qencode
com.qencodePublished by qencode.comOfficial publisherv1.2.0Updated Oct 24, 2026
Video pipeline for AI agents: analyze with AI, transcode to MP4/HLS/DASH, edit, protect and deliver.
Overview
Hosted Qencode connector that lets an assistant submit, monitor and analyze video transcoding jobs and manage media storage buckets.
- What you can do
- Submit transcoding jobs from a source URL to one or more outputs, or with a full raw query
- Check job status, detailed per-rendition progress, and read result files from analysis jobs
- Search and fetch a built-in knowledge base of recipes and reference docs
- Manage media storage: list and create buckets, browse objects, get download links, copy a public URL into a bucket
- Render playable results inline and show a self-refreshing jobs card
- When to use it
- Useful when you want an assistant to run video pipelines for you in plain language: building HLS/DASH/MP4 ladders, trimming, watermarking, subtitles, DRM packaging, VMAF quality checks, AI analysis or transcription, and delivering outputs to a storage bucket.
- Requirements
- A remote MCP endpoint; no local install or API keys in client config. A Qencode portal account with at least one project, and an MCP-compatible client that supports OAuth 2.1 browser sign-in. You pick the project and approve scopes during consent. Separate production and QA endpoints with separate accounts.
Installation
In SourceWeft
- Open Qencode in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/com.qencode%2Fqencode/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"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.mp4as an HLS ladder at 1080/720/540/360. Put it in my R2 bucketvideos/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):
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.
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/mcpand sign in at the QA portal instead.
Cursor (mcp.json):
Gemini (settings.json):
Tip: sign in to portal.qencode.com in your browser before connecting — OAuth goes smoother.
What the connector exposes
Tools
Transcoding & jobs
Playback
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.
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 automaticallyqencode://docs/storage— destination compatibility matrix (Qencode S3, R2, AWS S3, Azure, B2, FTP/SFTP)qencode://docs/error-codes— error code → cause → fixqencode://docs/gotchas— non-obvious API quirksqencode://schema/digest— full attribute reference forstart_encode2qencode://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
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.
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
- Local server / env vars:
docs/local-development.md - Test layers (L1–L5):
docs/testing.mdandtests/README.md - L3 against live QA / PROD:
tests/integration/README.md - L4 agent evals:
evals/README.md - Pre-release gate:
docs/release-checklist.md
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
- Changelog:
CHANGELOG.md - OAuth 2.1 authorization-server spec:
docs/oauth-spec.md - Qencode portal: https://portal.qencode.com (production) · https://portal-qa.qencode.com (QA)
- Qencode API reference: https://docs.qencode.com/api-reference/transcoding
Source: README.md at commit acd812d
Tools
0Version history
2- v1.2.0LatestOct 21, 2026
- v1.1.0Sep 16, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
