Skip to main content
Glama

mcp-qmedia

직접 작성한 MCP 서버로, 텍스트 전용 에이전트가 미디어에 대해 질문할 수 있게 해줍니다 — 이미지, 오디오, 비디오. 에이전트가 파일 경로(또는 URL)와 질문을 전달하면, 서버가 이를 Xiaomi MiMo-V2.5(기본적으로 전방향 모달: 텍스트/이미지/오디오/비디오 입력, 텍스트 출력)로 OpenCode Zen 엔드포인트를 통해 전송하고 답변을 텍스트로 반환합니다. opencode와 Claude Code에서 모두 사용됩니다.

제공자

모든 제공자에 대해 동일한 코드 경로(OpenAI 호환 /chat/completions, base64 콘텐츠 파트)를 사용합니다. 두 가지가 내장되어 있으며, 웹 UI(아래)에서 더 추가, 제거 및 기본값을 변경할 수 있습니다 — 또는 저장소 ~/.config/mcp-qmedia/providers.json(0600, 저장소 외부에 위치; 키를 보유할 수 있음)을 편집하여 변경합니다. 호출 시: backend="<name>"; QMEDIA_BACKEND가 저장된 기본값을 재정의합니다.

제공자

엔드포인트

모델

비용 / 제한

opencode의 auth.json 키 항목

mimo-v2.5 - opencode go (기본값)

https://opencode.ai/zen/go/v1

mimo-v2.5

~$0.14/M 입력, 1M 컨텍스트

opencode-go

mimo-v2.5-free - opencode zen

https://opencode.ai/zen/v1

mimo-v2.5-free

무료, 200k 컨텍스트, 속도 제한 있음(소진 시 429 FreeUsageLimitError)

opencode

Related MCP server: Vision MCP Server

API 키 — 이 저장소에는 절대 없음

제공자별, 해결 순서: 저장소에 있는 제공자 자체 키(UI를 통해 설정) → QMEDIA_API_KEYOPENCODE_API_KEY~/.local/share/opencode/auth.json (QMEDIA_AUTH_JSON): 제공자의 auth_entry, 그 다음 키가 있는 다른 항목. 따라서 opencode go / zen에 로그인되어 있다면(opencode auth login), 구성할 것이 없습니다. deploy/env.example는 비밀 설정이 아닌 것만 보유합니다. 저장소는 0600으로 기록되며 ~/.config 아래에 있고, 어떤 저장소에도 있지 않습니다.

설정 마법사 + 프로브(요청 시, 데몬 아님)

mcp-qmedia ui (= server.py ui [port])는 실행 중인 동안 http://127.0.0.1:8938 을 제공합니다 — 시작하고, 구성하고, 종료합니다(mcp-imap의 설정 마법사와 유사): 제공자 목록(기본값 표시, 키 상태 + 키 출처 — 키 자체는 브라우저로 전송되지 않음), 추가/편집/제거(내장 제공자는 재설정 가능, 제거 불가), 기본값 설정, 그리고 프로브 패널: http(s) URL 또는 로컬 경로 붙여넣기(줄당 하나), 질문(비어 있으면 describe 프롬프트), 제공자 선택, 질문 — 답변 + 시간 + 페이지별 기록. 그 뒤에 JSON API: GET/POST /api/providers, DELETE /api/providers/<name>, POST /api/default, POST /api/ask {files, question, provider}, 및 GET /api/status (CORS *, 메시징 데몬의 상태와 동일한 형태 — 허브 페이지(ai-agent-setup mcp-hub.service, http://127.0.0.1:8930/)가 폴링합니다; 데몬과 동일한 필드 세트 — 하지만 qmedia는 데몬이 아니며 허브 카드가 없습니다. 허브의 Bridge 카드에 나타납니다). 페이지는 "모든 데몬 ↗"(http://127.0.0.1:8930/)으로 연결됩니다; 페이지 자체는 web/page.html입니다. MCP 서버는 호출할 때마다 동일한 저장소를 읽으므로 변경 사항이 재시작 없이 즉시 적용됩니다.

도구(opencode에서는 qmedia_ 접두사, Claude Code에서는 mcp__qmedia__ 접두사)

  • ask(files, question, backend="", system="") — 주요 도구입니다. files절대 로컬 경로 목록입니다(~/… 가능; 서버는 공유 데몬이며, 현재 작업 디렉토리는 프로젝트가 아닙니다) 또는 http(s):// URL; 한 번의 호출에 여러 파일을 넣어 모델이 서로 연관지을 수 있습니다. 짧은 헤더([mimo-v2.5 - opencode go/mimo-v2.5 · 2 file(s) · 8.8s] + 파일별 유형/크기)와 답변을 반환합니다.

  • describe(files, backend="") — 질문 불필요: 철저한 설명; 이미지는 보이는 모든 텍스트를 그대로 포함, 오디오는 그대로의 전사, 비디오는 타임스탬프 + 전사와 함께 장면별 설명.

  • backends() — 제공자: 엔드포인트, 모델, 기본값, 각각에 대해 키가 확인되는지 여부(키는 절대 출력하지 않음), ffmpeg 가용성, 제한, 저장소 경로.

권한: 세 도구 모두 읽기 전용이며 저렴함 → 두 에이전트 모두에서 허용. 참고: ask/describe는 주어진 파일을 구성된 제공자(기본값의 경우 유료 API)에 업로드합니다 — 허용 목록 와일드카드는 에이전트가 묻지 않고 이를 수행할 수 있음을 의미하며, 계획 모드도 포함됩니다; 이것이 중요하다면 기본값을 무료 제공자로 유지하십시오.

미디어 처리

종류

전송 방식

참고

이미지 (png/jpg/gif/webp/heic/avif…)

image_url 데이터 URI

> QMEDIA_MAX_BYTES → ffmpeg를 통해 ≤2000 px jpeg로 다운스케일

오디오 (wav/mp3 직접; m4a/ogg/opus/flac/… 트랜스코딩)

input_audio {data, format}

wav/mp3가 아니거나 크기 초과 → ffmpeg를 통해 mp3 모노 16 kHz 48 kbps

비디오 (mp4/webm 직접; mov/mkv/avi/… 재인코딩)

video_url 데이터 URI + 사운드트랙의 input_audio

엔드포인트는 video_url의 프레임만 보므로, 오디오 트랙이 추출되어(ffprobe/ffmpeg) 두 번째 파트로 전송됩니다; 크기 초과/기타 컨테이너 → 480p/15 fps h264

기타 모든 것 (pdf, docx…)

지원되는 항목을 나열하는 오류

유형 감지: 확장자 테이블 → mimetypes → HTTP Content-Type → 매직 바이트. ffmpeg는 선택 사항이지만 강력히 권장됩니다(dnf install ffmpeg); 없으면 트랜스코딩이 필요 없는 파일만 작동합니다.

2026-08-17 mimo-v2.5 - opencode go에서 확인됨: 이미지 OCR, wav 전사(espeak 샘플), 3초 mp4 비프음 포함 (프레임 + 사운드트랙), 그리고 한 번의 호출로 이미지+오디오.

설정

레이아웃: server.py (stdio MCP 서버 + ui 마법사 모드), web/page.html (마법사 페이지), deploy/bin/mcp-qmedia (실행기), deploy/env.example (선택적 비밀 아닌 설정). systemd 유닛 없음: 여러 에이전트 세션이 있는 한 머신에서 mcp-proxy를 통해 한 번 실행합니다 (ai-agent-setup의 mcp-bridge.service) 또는 각 클라이언트가 생성하도록 합니다. 심볼릭 링크로 연결하여 git pull이 머신을 업데이트하도록 합니다.

git clone git@github.com:spookysys/mcp-qmedia.git ~/.local/src/mcp-qmedia
cd ~/.local/src/mcp-qmedia
uv venv .venv --python 3.14 && uv pip install --python .venv/bin/python 'mcp>=1.9,<2' httpx
ln -s "$PWD/deploy/bin/mcp-qmedia" ~/.local/bin/          # launcher
# setup: mcp-qmedia ui   -> http://127.0.0.1:8938 (close it when done)
# optional: mkdir -p ~/.config/mcp-qmedia && cp deploy/env.example ~/.config/mcp-qmedia/env

opencode (opencode.jsonc):

"qmedia": { "type": "local", "command": ["/home/YOU/.local/bin/mcp-qmedia"], "enabled": true }
// or, shared through mcp-bridge: { "type": "remote", "url": "http://127.0.0.1:8939/servers/qmedia/sse" }
// permission: "qmedia_*": "allow"

Claude Code (사용자 범위):

claude mcp add -s user qmedia --transport stdio -- ~/.local/bin/mcp-qmedia
# or, shared through mcp-bridge: claude mcp add -s user qmedia --transport sse http://127.0.0.1:8939/servers/qmedia/sse
# settings.json permissions.allow: "mcp__qmedia__*"

환경 변수

변수

기본값

의미

QMEDIA_BACKEND

저장소 기본값 (mimo-v2.5 - opencode go)

기본 제공자 재정의; 알 수 없는 이름은 오류입니다(유료 내장 제공자로 자동 대체되지 않음)

QMEDIA_STORE

~/.config/mcp-qmedia/providers.json

제공자 저장소 (0600, 키를 보유할 수 있음)

QMEDIA_UI_PORT

8938

요청 시 설정 마법사의 포트 (mcp-qmedia ui, 127.0.0.1)

QMEDIA_API_KEY, OPENCODE_API_KEY

저장된 키가 없는 제공자를 위한 키 재정의 (그렇지 않으면 opencode의 auth.json에 있는 제공자 자체 auth_entry — 다른 항목의 키는 절대 아님)

QMEDIA_AUTH_JSON

~/.local/share/opencode/auth.json

opencode가 제공자 키를 보관하는 위치

QMEDIA_MAX_BYTES

20000000

ffmpeg 트랜스코딩 전 파일당 상한

QMEDIA_TIMEOUT

300

모델 호출 시간 제한, 초

MCP_QMEDIA_PYTHON

체크아웃의 .venv/bin/python

실행기: 인터프리터 재정의

MCP_QMEDIA_ENV

~/.config/mcp-qmedia/env

실행기: 소스할 설정 파일 (선택 사항)

MCP_QMEDIA_DIR

체크아웃

systemd 유닛: server.py가 있는 위치

F
license - not found
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

  • 15 media & data tools for AI agents: search, transcribe, subtitles, voiceover, translate & more.

  • Generate images, video, and audio with Glif's media-generation agent

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/spookysys/mcp-qmedia'

If you have feedback or need assistance with the MCP directory API, please join our Discord server