quark-mcp
quark-mcp
Der Quark MCP Server bietet über die in den Quark-Browser integrierte KI-Chatseite (quark.cn/chat, Qwen) Funktionen für Bildanalyse, Fragen und Antworten sowie Text-zu-Bild-Generierung – ganz ohne API-Kosten.
Basierend auf CDP + Playwright wird ein Quark-Browser mit eigenem Profil übernommen; in der Chatseite werden Bilder hochgeladen, um Fragen zu stellen, und die Antworten werden abgeholt und zurückgegeben – kein API-Key erforderlich.
Fähigkeiten
Tool | Beschreibung |
| Text-Fragen und Antworten (Sitzung wird wiederverwendet, Mehrfach-Kontext möglich; |
| Bilderkennung/-analyse (Bild in die Chatseite hochladen, Frage stellen und Antwort abholen) |
| Text-zu-Bild-Generierung (durch natürliche Sprache ausgelöst, ca. 4 Bilder pro Durchlauf, lokal speichern und Pfad zurückgeben) |
| Videoanalyse (Download/lokal → Frames extrahieren → Zeitstempel einbrennen → Kacheln zusammensetzen → erkennen, optional lokal transkribieren) |
| Quark-Daemon starten (eigenes Profil, Port 9224, idempotent) |
| Status des Daemons und Anmeldezustand prüfen |
| Quark-Daemon beenden |
Related MCP server: Percepta MCP Server
Funktionsweise
Claude Code ──MCP stdio──> server.py ──> quark_mcp/quark_ai.py ──CDP──> 夸克浏览器(独立 profile)
quark_mcp/video_analyze.py │
quark.cn/chat(网页版千问)Quark wird mit
--remote-debugging-port=9224und eigenem Profil gestartet, der Anmeldezustand ist persistentBilder werden per DataTransfer injiziert (
JS_DROP_IMAGE) und nicht über den Dateiauswahl-Dialog; gesendet wird, sobald die Anhangliste erscheintAbschlusskriterium einer Antwort: In einer Karte des Bereichs
[data-chat-answers-wrap]erscheint das Waren die Klassecompleted
Umgebungsanforderungen
Python 3.10+
Quark-Browser (automatische Erkennung über die Umgebungsvariable
QUARK_PATHoder übliche Installationspfade)video_analyzebenötigtffmpeg/ffprobe(Frames extrahieren) pluspillow(Zeitstempel einbrennen, Bilder zusammensetzen)Optional:
yt-dlp(Online-Videos herunterladen) sowiefaster-whisper(Audio-Transkription,transcribe=True)
Installation
pip install fastmcp playwright websocket-client
# 可选功能依赖
pip install pillow # 视频帧时间戳烧录 + 拼图(video_analyze 必需)
pip install yt-dlp # 在线视频下载(video_analyze 传 URL 时)
pip install faster-whisper # 音频转写(transcribe=True)Der mit pip installierte yt-dlp.exe liegt häufig in Scripts/ und nicht direkt im PATH aufgelistet. Der Code hat dafür bereits einen Rückfall eingebaut: Wird der Befehl yt-dlp nicht gefunden, wird automatisch python -m yt_dlp verwendet – funktioniert also auch ohne PATH-Konfiguration.
Verwendung
1. Als MCP-Server (mit Claude Code usw.)
{
"mcpServers": {
"quark-mcp": {
"command": "python",
"args": ["/path/to/quark-mcp/server.py"]
}
}
}2. HTTP-Modus (Debugging)
python server.py --port 80803. Direkter CLI-Aufruf (ohne MCP)
# 启动 daemon(首次需手动登录一次,登录态持久化)
python quark_mcp/quark_ai.py --start
python quark_mcp/quark_ai.py --status
# 纯文本问答
python quark_mcp/quark_ai.py --ask "帮我解释一下 CDP 是什么"
# 图片识别
python quark_mcp/quark_ai.py --image photo.jpg --question "请描述这张图片"
# 文生图(默认存 ~/.claude/quark-images)
python quark_mcp/quark_ai.py --gen "一只橘猫坐在窗台看夕阳,插画风格"
python quark_mcp/quark_ai.py --gen "复古黄铜怀表" --outdir ./imgs --max-images 2
# 视频分析(本地文件或 URL)
python quark_mcp/video_analyze.py --video demo.mp4
python quark_mcp/video_analyze.py --video demo.mp4 --transcribeHinweise zur Bildgenerierung
Modell: Folgt der Voreinstellung der Chatseite (Qwen), nicht wählbar
Auslösung: Es gibt keinen eigenen Schalter für „Bildgenerierung“; die Auslösung erfolgt über natürliche Sprache (im Prompt präzise beschreiben, was erzeugt werden soll)
Seitenverhältnis: Die Webversion hat keinen Seitenverhältnis-Auswahlregler, dies muss im Prompt beschrieben werden (z. B. „16:9 Querformat“)
Ergebnis: Pro Durchlauf ca. 4 Bilder, getestet ungefähr 960×1280
Download: Die CDN-URLs besitzen eine
auth_key-Signatur; sie müssen über den Browser-Kontext (page.request) abgerufen werden – ein direkterurllib-Aufruf führt zu 4logout0.
# 返回结构
{"ok": True,
"images": ["C:/Users/.../.claude/quark-images/quark_20260823-103519_1.png", ...],
"text": "已生成 2 张图片, 保存至 ...",
"meta": {"found": 4, "details": [{"path": ..., "bytes": ..., "width": 960, "height": 1280}],
"model": "千问(夸克对话页默认)"}}Konfiguration
Quark-Pfad: Setzen Sie die Umgebungsvariable
QUARK_PATH, um das ausführbare Programm zu bestimmenCDP-Port: Standardwert 9224, siehe
CDP_PORTinquark_ai.py(abweichend von 9223 des doubao-mcp, beide können koexistieren)Anmeldezustand: Das normale eigene Profi befindet sich unter
~/.claude/quark-Pizza-cream; nach dem erstendaemon_startgenügt eine manuelle AnmeldungBildverzeichnis: Standardmäßig
~/.claude/quark-images, mitoutdirüberschreibbar
Häufig gestellte Fragen
Exit-Code 1 (CDP nicht erreichbar bzw. Quark nicht gefunden): Daemon nicht gestartet, zuerst
daemon_startausführen; oderQUARK_PATHsetzenExit-Code 2 (nicht angemeldet): Chatseite öffnen und einmal manuell anmelden
Exit-Code 3 (Bildproblem): Der Pfad existiert nicht oder der Upload ist fehlgeschlagen
Exit-Code 4 (Interaktionsfehler): Eingabefeld- oder Sende-Button nicht gefunden, meist nach einem Seiten-Update
Exit-Code 5 (Timeout): Generierung dauert zu lange; den
timeouterhöhen (Standard bei Bildern: 300 s)Exit-Code 6 (Ergebnis leer): Antwort ist leer oder es wurde kein Bild erzeugt – möglicherweise Risiko-Brutalismus oder Inhalt wurde gefiltert
Abhängigkeit von der Seitenstruktur
Interne Web-Eingriffe bedeuten, dass eine Quark-SeitenauEine Delegation kann bereits die Funktion zerstören. Die aktuell getestete Abhängigkeit (SEL in quark_ai.py, basierend auf Quark 7.1.2.956 / Kombination 144 + Web-Version 4.0.0):
Zweck | Selektor |
Eingabefeld |
|
Senden |
|
KI-Antwort |
|
Benut zerfrage |
|
Fertigstellung |
|
Anhang |
|
Zwei Fallstricke:
Das Fertigzeichnen ist das
completedder Antwortkarte, nicht dasqcenterauf dem.markdown– einqk-markdown-completeist die Stellen konnte im Client-Panel geschrieben, bei der Web-Version gibt es das nicht. Ein Übernehmen davon führt dazu, dass immer der Status „nicht fertig“ erscheint.Bei der Bildgenerierung muss man warten, bis der Satz von signierten Bild-URLs stabil ist; es genügt nicht, nur auf
completedzu undreißen. Text bekommt zuerstcompletedba, aber das eigentliche Bild braucht noch ca. 45 s, bis die Platzhalter-Animation ersetzt wird. Wenn nach demcompleted-Text sowie weiteremIMAGE_GROSSE(120 s) immer noch kein Bild vorhanden ist, wird erst dann entschlossen, dass diese Runde kein Bild erzeugt.
Lizenz
MIT
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
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to control browser automation through natural language prompts using Playwright, supporting visual element interaction, PDF generation, screenshots, and testing assertions.
- FlicenseNot gradedqualityDmaintenanceProvides browser automation, AI-powered analysis, visual processing, web scraping, automated test generation, and DevTools analysis capabilities. Supports multiple AI providers (OpenAI, Anthropic, Google, Ollama) for intelligent web interaction and data extraction.
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to execute browser automation, perform QA tasks, and generate test code through natural language commands using Playwright.5
- AlicenseAqualityCmaintenanceEnables terminal AI coding assistants to interact with web AI chat services through browser automation, supporting multiple platforms like Doubao and ChatGPT.310MIT
Related MCP Connectors
LLM chat, text summarization and AI image generation
AI QA tester — real browsers scan sites for bugs, SEO, perf, and accessibility issues via chat.
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
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/007bba/quark-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server