mcp-qmedia
mcp-qmedia
Eigenentwickelter MCP-Server, der es textbasierten Agenten ermöglicht, Fragen zu Medien zu stellen – Bilder, Audio, Video. Der Agent übergibt Dateipfade (oder URLs) plus eine Frage; der Server sendet sie an Xiaomi MiMo-V2.5 (nativ omni-modal: Text/Bild/Audio/Video rein, Text raus) über die OpenCode Zen-Endpunkte und gibt die Antwort als Text zurück. Wird sowohl von opencode als auch von Claude Code verwendet.
Anbieter
Gleicher Codepfad für alle (OpenAI-kompatible /chat/completions, Base64-Inhaltsteile). Zwei sind integriert; weitere können über die Web-Oberfläche (unten) hinzugefügt, entfernt und der Standard gewechselt werden – oder durch Bearbeiten des Stores ~/.config/mcp-qmedia/providers.json (0600, außerhalb des Repos; kann Schlüssel enthalten). Pro Aufruf: backend="<name>"; QMEDIA_BACKEND überschreibt den gespeicherten Standard.
Anbieter | Endpunkt | Modell | Kosten / Grenzen | Schlüsseleintrag in opencodes |
|
|
| ~0,14 $/M rein, 1M Kontext |
|
|
|
| kostenlos, 200k Kontext, ratenbegrenzt (429 |
|
Related MCP server: Vision MCP Server
API-Schlüssel – niemals in diesem Repository
Pro Anbieter, Auflösungsreihenfolge: der eigene Schlüssel des Anbieters im Store (über die UI gesetzt) → QMEDIA_API_KEY → OPENCODE_API_KEY → ~/.local/share/opencode/auth.json (QMEDIA_AUTH_JSON): der auth_entry des Anbieters, dann jeder andere Eintrag mit einem Schlüssel. Wenn Sie also bei opencode go / zen angemeldet sind (opencode auth login), ist nichts zu konfigurieren. deploy/env.example enthält nur nicht-geheime Einstellungen; der Store wird mit 0600 geschrieben und liegt unter ~/.config, nicht in einem Repository.
Einrichtungsassistent + Test (auf Abruf, kein Dienst)
mcp-qmedia ui (= server.py ui [port]) bedient http://127.0.0.1:8938, solange es läuft – starten, konfigurieren, schließen (wie mcp-imaps Einrichtungsassistent): Liste der Anbieter (Standard markiert, Schlüsselstatus + woher der Schlüssel kommt – der Schlüssel selbst wird nie an den Browser gesendet), hinzufügen/bearbeiten/entfernen (eingebaute können zurückgesetzt, nicht entfernt werden), Standard festlegen, und ein Test-Panel: HTTP(s)-URLs oder lokale Pfade einfügen (eine pro Zeile), eine Frage (leer = die describe-Aufforderung), einen Anbieter auswählen, Fragen – Antwort + Zeit + seitenweise Verlauf. JSON-API dahinter: GET/POST /api/providers, DELETE /api/providers/<name>, POST /api/default, POST /api/ask {files, question, provider}, und GET /api/status (CORS *, gleiche Form wie der Status der Nachrichtendienste – die Hub-Seite (ai-agent-setup mcp-hub.service, http://127.0.0.1:8930/) fragt sie ab; eine gleiche Feldermenge wie die Dienste – aber qmedia ist kein Dienst und hat keine Hub-Karte; es erscheint in der Bridge-Karte des Hubs). Die Seite verlinkt zu "Alle Dienste ↗" (http://127.0.0.1:8930/); die Seite selbst ist web/page.html. Der MCP-Server liest bei jedem Aufruf denselben Store, sodass Änderungen sofort ohne Neustart wirksam werden.
Werkzeuge (Präfix qmedia_ in opencode, mcp__qmedia__ in Claude Code)
ask(files, question, backend="", system="")– das Hauptwerkzeug.filesist eine Liste von absoluten lokalen Pfaden (~/…ist okay; der Server ist ein gemeinsamer Dienst, sein Arbeitsverzeichnis ist nicht Ihr Projekt) oderhttp(s)://URLs; mehrere Dateien in einem Aufruf, damit das Modell sie in Beziehung setzen kann. Gibt einen kurzen Header zurück ([mimo-v2.5 - opencode go/mimo-v2.5 · 2 Datei(en) · 8,8 s]+ pro Datei Typ/Größe) und die Antwort.describe(files, backend="")– keine Frage nötig: ausführliche Beschreibung; Bilder inkl. aller sichtbaren Texte wörtlich, Audio als wörtliches Transkript, Video Szene für Szene mit Zeitstempeln + Transkript.backends()– Anbieter: Endpunkte, Modelle, welcher Standard ist, ob ein Schlüssel für jeden aufgelöst wird (gibt nie den Schlüssel aus), ffmpeg-Verfügbarkeit, Grenzen, Store-Pfad.
Berechtigung: Alle drei sind schreibgeschützt und günstig → erlauben in beiden Agenten. Hinweis: ask/describe laden die angegebenen Dateien auf den konfigurierten Anbieter hoch (eine kostenpflichtige API für den Standard) – ein Erlaubnis-Wildcard bedeutet, dass ein Agent dies ohne Nachfrage tun kann, inklusive Plan-Modus; behalten Sie den Standard auf dem kostenlosen Anbieter, falls Ihnen das wichtig ist.
Medienverarbeitung
Art | Gesendet als | Anmerkungen |
Bild (png/jpg/gif/webp/heic/avif…) |
| > |
Audio (wav/mp3 direkt; m4a/ogg/opus/flac/… transcodiert) |
| nicht-wav/mp3 oder zu groß → mp3 mono 16 kHz 48 kbps via ffmpeg |
Video (mp4/webm direkt; mov/mkv/avi/… neu codiert) |
| der Endpunkt betrachtet nur die Frames von |
Alles andere (pdf, docx…) | — | Fehler mit Auflistung, was unterstützt wird |
Typ-Erkennung: Erweiterungstabelle → mimetypes → HTTP Content-Type → Magic-Bytes.
ffmpeg ist optional, aber dringend empfohlen (dnf install ffmpeg); ohne es funktionieren nur Dateien, die keine Transcodierung benötigen.
Getestet am 17.08.2026 auf mimo-v2.5 - opencode go: Bild-OCR, wav-Transkription (espeak-Beispiel), 3 s mp4 mit Piepton (Frames + Tonspur) und Bild+Audio in einem Aufruf.
Einrichtung
Aufbau: server.py (stdio MCP-Server + ui-Assistentenmodus), web/page.html (die Assistentenseite), deploy/bin/mcp-qmedia (Starter), deploy/env.example (optionale nicht-geheime Einstellungen). Kein systemd-Unit: auf einem Rechner mit mehreren Agentensitzungen, starten Sie es einmal über mcp-proxy (ai-agent-setups mcp-bridge.service) oder lassen Sie jeden Client es starten. Einbinden mit Symlinks, sodass ein git pull den Rechner aktualisiert.
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/envopencode (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 (Benutzerkontext):
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__*"Umgebungsvariablen
Variable | Standard | Bedeutung |
| Store-Standard ( | Überschreibung des Standard-Anbieters; ein unbekannter Name ist ein Fehler (niemals stiller Fallback auf den kostenpflichtigen eingebauten) |
|
| Anbieter-Store (0600, kann Schlüssel enthalten) |
|
| Port des bedarfsgesteuerten Einrichtungsassistenten ( |
| — | Schlüssel-Überschreibung für Anbieter ohne gespeicherten Schlüssel (ansonsten der eigene |
|
| Wo opencode Anbieterschlüssel speichert |
|
| Pro-Datei-Grenze vor ffmpeg-Transcodierung |
|
| Timeout des Modellaufrufs, Sekunden |
|
| Starter: Interpreter-Überschreibung |
|
| Starter: Einstellungsdatei zum Einlesen (optional) |
| Checkout-Verzeichnis | systemd-Unit: Wo |
This server cannot be installed
Maintenance
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
- AlicenseBqualityDmaintenanceEnables text-only models to process images and other media formats by providing access to multimodal models from OpenAI and Dashscope (Alibaba Cloud). Supports flexible deployment options and comprehensive tooling for multimodal AI interactions.34MIT
- AlicenseAqualityDmaintenanceEnables AI agents to analyze images, extract text, compare images, and analyze video through any OpenAI-compatible vision model.455019MIT
- AlicenseAqualityBmaintenanceGives text-only coding agents the ability to 'see' images, videos, and screenshots by routing them to a vision model and returning structured text.8561MIT
- FlicenseAqualityBmaintenanceEnables text-only agents to process images by accepting image files, base64 data, or URLs, sending them to multimodal models, and returning structured text results via MCP.4
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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