# qencode

Wires your agent into the Qencode Transcoding API: submit jobs, check status, get HLS or MP4 out. Handy when video work happens inside the chat.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 1
- Author: Qencode-Corp
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/Qencode-Corp/mcp
- Updated: 2026-09-21
- HTML: https://affpapa.org/en/nevibecode/mcp/qencode

## What it does

The server hands the agent a set of transcoding tools. `transcode_video` takes a source URL and one or more outputs; `start_encode2_raw` accepts the full `query` JSON the way the Qencode API expects it. Job state comes from `get_job_status` or the fuller `get_job_status_detailed`, and `list_jobs` renders a card for the current conversation with per-rendition progress, refreshing itself while anything is still running. Analysis output — transcripts, VMAF reports, metadata — is read with `fetch_job_result`.

A second group covers Media Storage: list buckets, create one, browse objects, get a time-limited download link, or copy a public URL server-side into a bucket. `open_player` renders a playable result inline, though which origins are allowed follows the calling host's sandbox. There is also a knowledge base of recipes and reference docs, reachable through `search_qencode_docs` and `fetch_qencode_doc` on URIs like `qencode://docs/best-practices`.

Auth is browser-based OAuth 2.1, so no API key goes into client config. You need a Qencode portal account with at least one project: on first use the client opens a browser, you sign in, pick the project and approve scopes. Writing needs `transcoding:write`, reading needs `transcoding:read`. The client keeps the token until it expires; refreshing it requires `offline_access`.

## Requirements
- Remote server: `https://mcp.qencode.com/mcp`

## Install

### Claude Code (native platform)

**Platform CLI: remote server**
```bash
claude mcp add --transport http qencode https://mcp.qencode.com/mcp
```

### Codex

**Platform CLI: remote server**
```bash
codex mcp add qencode --url https://mcp.qencode.com/mcp
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "qencode": {
            "url": "https://mcp.qencode.com/mcp"
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "qencode": {
            "type": "http",
            "url": "https://mcp.qencode.com/mcp"
        }
    }
}
```

### Gemini CLI

**Platform CLI: remote server**
```bash
gemini mcp add -t http qencode https://mcp.qencode.com/mcp
```

## When to use it
- send a video link off to transcode and wait for it to finish
- build an HLS ladder at chosen resolutions
- see which rendition a job is stuck on
- pull a transcript or VMAF report out of a finished job
- copy a public URL into a bucket without transcoding

## Example prompts
- Check the job behind this `task_token` and tell me how many renditions are done
- Find the `hls_abr` recipe in the Qencode docs and build the job from it

## Similar
- [ffmpeg-video-editor](https://affpapa.org/en/nevibecode/skills/ffmpeg-video-editor.md) — skill · 780 installs
- [media-transcoding](https://affpapa.org/en/nevibecode/skills/media-transcoding.md) — skill · 335 installs
- [video-producer](https://affpapa.org/en/nevibecode/skills/video-producer.md) — skill · 449 installs
- [ima-dai-sdk](https://affpapa.org/en/nevibecode/skills/ima-dai-sdk.md) — skill · 4300 installs
- [StoriesIG Instagram MCP Server](https://affpapa.org/en/nevibecode/mcp/storiesig-instagram-mcp-server.md) — MCP server · ★ 1
- [face-swap](https://affpapa.org/en/nevibecode/skills/face-swap.md) — skill · 379800 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
