quark-mcp
quark-mcp
夸克 MCP Server — через встроенную страницу AI-чата браузера 夸克 (quark.cn/chat, 千问) предоставляет возможность работы с изображениями, вопросов-ответов и генерации изображений по тексту без затрат на API.
На базе CDP + Playwright управляет браузером 夸克 в отдельном профиле: на странице чата загружает изображения, задаёт вопрос и извлекает ответ; API-ключ не требуется.
Возможности
工具 | 说明 |
| Текстовый вопрос-ответ (повторное использование сессии, поддержка многоходового контекста; |
| Распознавание/анализ изображений (загрузка картинки на страницу чата с вопросом и получение ответа) |
| Генерация изображений по тексту (естественный запрос, за раз примерно 4 картинки; сохраняется локально и возвращается путь) |
| Видеоанализ (скачать/локальный → извлечение кадров с таймкодом → разбивка на плитки → распознавание; опционально локальная транскрипция) |
| Запускает демон 夸克 (отдельный профиль, порт 9224, идемпотентно) |
| Проверка состояния демона и статуса входа |
| Останавливает демон 夸克 |
Related MCP server: Percepta MCP Server
Как это работает
Claude Code ──MCP stdio──> server.py ──> quark_mcp/quark_ai.py ──CDP──> 夸克浏览器(独立 profile)
quark_mcp/video_analyze.py │
quark.cn/chat(网页版千问)夸克 запускается с
--remote-debugging-port=9224в отдельном профиле, статус входа сохраняется.Изображения отправляются через DataTransfer-инъекцию (
JS_DROP_IMAGE), а не filechooser; отправка происходит после появления списка вложений.Критерий завершения ответа: в
card classAI-ответа[data-chat-answers-wrap]появляетсяcompleted.
Требования к окружению
Python 3.10+
браузер 夸克 (автоматически определяет переменную окружения
QUARK_PATHили стандартные пути установки)Для
video_analyzeнужныffmpeg/ffprobe(извлечение кадров) +pillow(надписи с таймкодом, сборка плиток) +Опционально:
yt-dlp(загрузка онлайн-видео),faster-whisper(transcribe=Trueдля транскрипции аудио)
Установка
pip install fastmcp playwright websocket-client
# 可选功能依赖
pip install pillow # 视频帧时间戳烧录 + 拼图(video_analyze 必需)
pip install yt-dlp # 在线视频下载(video_analyze 传 URL 时)
pip install faster-whisper # 音频转写(transcribe=True)yt-dlp.exe, установленный через pip, часто ложится в Scripts/ и не попадает в PATH; в коде уже есть подстраховка: если команда yt-dlp не найдена, автоматически используется python -m yt_dlp, так что настраивать PATH не обязательно.
Использование
1. Как MCP-сервер (Claude Code и т. п.)
{
"mcpServers": {
"quark-mcp": {
"command": "python",
"args": ["/path/to/quark-mcp/server.py"]
}
}
}2. HTTP-режим (отладка)
python server.py --port 80803. Прямой запуск через CLI (без 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 --transcribeПримечания по генерации изображений
Модель: следует модели по умолчанию на странице диалога 夸克 (千问), её нельзя изменить.
Запуск: отдельной кнопки/переключателя «генерации изображений» нет, генерация срабатывает от обычного словесного запроса (в промпте нужно явно написать, что рисовать).
Пропорции: в веб-версии нет селектора пропорций, поэтому пропорции нужно описать словами в промпте (например, «горизонтальная композиция 16:9»).
Результат: за раз получается примерно 4 картинки, примерно 960×1280.
Загрузка: CDN-URL подписаны
auth_key, поэтому картинки нужно тянуть через контекст браузера (page.request), обычный urllib даст 403.
# 返回结构
{"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": "千问(夸克对话页默认)"}}Конфигурация
Путь к 夸克: установите переменную окружения
QUARK_PATHс указанием исполняемого файла.Порт CDP: по умолчанию
9224— см.CDP_PORTвquark_ai.py(порт разнесён с doubao-mcp, чтобы использовать 9223, можно сосуществовать).Вход: отдельный профиль находится в
~/.claude/quark-ai-profile; после первогоdaemon_startнужно один раз войти в систему вручную.Каталог для картинок: по умолчанию
~/.claude/quark-images, можно переопределить черезoutdir.
Часто задаваемые вопросы
Код выхода 1 (CDP недоступен / не найден 夸克): демон не запущен — сначала выполните
daemon_start; либо задайтеQUARK_PATH.Код выхода 2 (не выполнен вход): откройте страницу диалога и один раз войдите вручную.
Код выхода 3 (проблема с изображением): не существует указанного пути или не удалось загрузить изображение.
Код выхода 4 (сбой взаимодействия): не найдено поле ввода / кнопка отправки, обычно из-за изменения страницы.
Код выхода 5 (таймаут): ответ генерируется долго, увеличьте
timeout(для генерации изображений по умолчанию 300 с).Код выхода 6 (пустой результат): ответ пуст или не создано ни одного изображения, возможно риск-контроль или фильтрация контента.
Зависимость от структуры страницы
Чисто веб-операции означают, что при изменении структуры страницы интерфейса 夸克 может сломаться. Проверено на текущем наборе зависимостей (SEL в quark_ai.py, на базе 夸克 7.1.2.956 / Chromium 144 + веб-версия 4.0.0):
用途 | 选择器 |
Поле ввода |
|
Отправка |
|
Роль ответа AI |
|
Роль вопроса пользователя |
|
Признак завершения | в class элемента |
Вложение |
|
Два подводных камня:
Признак завершения — это
completedна карточке ответа, а не.qk-markdown->qk-markdown-complete. Второй вариант на веб-версии отсутствует — он используется в клиентской панели; если скопировать его, результат всегда будет считаться «не завершённым».В генерации изображений нужно ждать стабилизации набора подписанных URL картинок, а опираться только на
completedнельзя: текст завершается раньше, а финальные изображения появляются ещё через ~45 секунд, когда заменяется плейсхолдер-анимация. Только если послеcompletedподождать ещёIMAGE_GRACE(120 секунд) и картинки всё ещё нет, можно считать, что в этом раунде изображений нет.
License
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