Qencode MCP
About
Qencode lets AI assistants transcode, analyze, edit, optimize, and deliver video using natural language, powered by a cloud video processing platform.
Details
- Author
- qencode-corp
- Categories
- Developer Tools, Other
Jump to
Setup
Install Qencode MCP in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/qencode-corp/mcp
Follow the installation instructions in the repository README, then restart your MCP client.
Model Context Protocol (MCP) server for theQencode 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.
Once your client is connected (seeConnect a client), ask your agent in plain English:
Transcodehttps://example.com/input.mp4as an HLS ladder at 1080/720/540/360. Put it in my R2 bucketvideos/demo/.
The agent picks thehls_abrrecipe, fills in the per-rendition encoding params, submits viastart_encode2_raw, and polls until the job is done.
There are no API keys to copy into client config — authentication is browser-based OAuth.
Scopes the client should request at authorize time(published via Protected Resource Metadata):
The RS enforcestranscoding:readandtranscoding:writeon 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.
{ "mcpServers": { "qencode": { "url": "https://mcp.qencode.com/mcp" } } }
{ "mcpServers": { "qencode": { "httpUrl": "https://mcp.qencode.com/mcp", "timeout": 30000, "trust": false } } }
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.
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 forstart_encode2
- qencode://recipe/<slug>— one per feature flow:hls_abr,mp4_ladder,audio_outputs,thumbnails,speech_to_text,subtitles,stitching,drm_widevine_ezdrm,drm_fairplay_ezdrm,drm_playready_ezdrm,drm_aes128,drm_buydrm,drm_expressplay,codec_av1,per_title_encoding,incremental_abr,refresh_abr_playlist,callbacks,reliability,video_metadata
Usesearch_qencode_docsto discover the right recipe URI for a goal.
In clients that surface MCP prompts,21one-shot templates are available. Each tells the agent to read the matchingqencode://recipe/...resource and submit viastart_encode2_raw.
ABR / packaging:encode_hls_abr,encode_dash_abr,encode_mp4_ladder,encode_incremental_rung,encode_refreshing_playlist
Codecs / quality:encode_av1,tune_per_title
Audio / images / text:extract_audio,generate_thumbnails,transcribe,add_subtitles
Probe / stitch:get_video_metadata,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
transcode_videoandstart_encode2_rawacceptsourcevalues with schemeshttps://,http://,s3://, ortus:. FTP/SFTP and private/metadata URLs are rejected at the tool boundary (SSRF defence). Seedocs/security/THREAT_MODEL.mdfor limitations.
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 — seeSource URL rules).
Full threat model and adversarial test coverage:docs/security/THREAT_MODEL.md.
uv venv && uv pip install -e ".[dev]" NO_NETWORK=1 pytest -q # offline L1 + L2 + L5 (~540 tests) pytest -m protocol # MCP wire conformance only pytest -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).CIis the Jenkins jobmcp_automated_tests(Jenkinsfile.manual): manual checkboxes for any layer, nightly L3 cron, weekly L4 cron.
Clients negotiate a version atinitialize. This server targetsMCP 2025-11-25as the primary version. CI also runs conformance tests against2025-06-18because JSON-RPC batching behavior differs between earlier revisions. We do not claim support for2025-03-26or older wire semantics beyond what the underlying SDK negotiates.
- 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
- 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 undertests/protocol/. When you change the surface, regenerate the snapshots (python scripts/regen_tools_snapshot.py) and bump the version in thesamePR:pyproject.toml,src/qencode_mcp/__init__.py,server.json, and a newCHANGELOG.mdentry must all agree.
- 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
This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.
An MCP server that allows AI assistants to interact with Adobe After Effects.
Executes Manim Python animation scripts to generate and return videos.
MCP server wrapping the ContinuityGuard CLI for video-clip continuity scans.
Executes Manim Python scripts to generate and return rendered video animations.
MCP server for OpenRouter: 300+ LLMs with vision, image gen, audio in/out, and video analysis + generation (Veo 3.1 / Sora 2 Pro / Seedance / Wan). Structured errors, IPv6 SSRF guards, path sandbox.
Paid rendering API for AI agents - turn text into MP4 video or PNG images via x402 payments on Base
A multimodal generation service using Volcengine Jimeng AI for image generation, video generation, and image-to-video conversion.
Manage and utilize website content within the DevHub CMS platform
Make your AI agent speak every language on the planet, using Lingo.dev Localization Engine.
Server for advanced AI-driven video editing, semantic search, multilingual transcription, generative media, voice cloning, and content moderation.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





