mcp_qwen
This server is an MCP bridge that lets an orchestrator AI (e.g. Gemini) delegate coding tasks to Qwen (via Qwen Studio desktop/CDP or API) and manage the full workflow of code generation, file writing, and verification.
Submit coding tasks to Qwen with original user prompts, project directory context, target files, attachments, images, and custom system instructions.
Check task status to see whether generation is running, completed, needs continuation, or errored.
Continue interrupted/large generations when Qwen returns
NEED_CONTINUATIONfor files longer than 1000 lines.Verify assembled projects by sending the built file tree, error logs, and screenshots back to Qwen for confirmation or fixes.
Write generated files to disk safely and verbatim, automatically creating necessary subfolders with path-traversal protection.
Build project context by scanning directories, producing tree structures, selecting up to 4 code files and 5 images for attachments, and preparing remaining files for prompts.
Get and update server configuration dynamically (mode: auto/cdp/api, API key, base URL, model, CDP port).
Automate Qwen Studio interaction through Chrome DevTools Protocol: launch the desktop app, inject prompts, read code from Monaco Editor, and extract generated responses without manual copying.
Enables Google Antigravity (Gemini) to act as an orchestrator that delegates coding tasks to Qwen 3.8 Max via MCP, including task submission, status polling, generation continuation, verbatim file writing, and project verification.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp_qwenHave Qwen implement a REST API with CRUD endpoints and write tests."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🧠 Antigravity to Qwen MCP (mcp_qwen)
[ 🇷🇺 Русская версия (Russian) | 🇬🇧 English Version ]
Автономный MCP-сервер для двухмодельной оркестрации разработки: Gemini в Google Antigravity (Оркестратор) + Qwen 3.8 Max (Субагент-исполнитель). «Из коробки» инструмент работает локально через десктопное приложение Qwen Studio (по протоколу Chrome DevTools / CDP), а на основе открытого исходного кода может быть легко адаптирован под любой другой AI-чат в браузере или прямой API.
Релиз:
v1.1(Attachments & Vision Engine: до 10 файлов — 4 файла проекта + 1 txt промпт + 5 фото/скриншотов)
🚀 Что нового в версии v1.1 (Attachments & Vision Engine)
📎 Поддержка до 10 вложений в Qwen Studio:
До 5 документов (
type: ["document"]): до 4 файлов проекта прикрепляются как документы + 1 файлtask_prompt.txt(содержит полный промпт со всеми директивами, дерево структуры проекта и полный рабочий код всех остальных файлов с 5-го по N-й).До 5 изображений (
type: ["vision"]): автоматическое сканирование и прикрепление референсов, скриншотов, макетов (references_photos/,screenshots/,assets/,mockups/) либо передача через параметрimages: ["путь/к/фото.png"].
⚡ Полный обход лимита 131 072 символов: больше никаких ограничений на размер промпта в textarea — весь избыточный объем автоматически упаковывается в документ
task_prompt.txt, а субагент с контекстным окном >1 000 000 токенов изучает весь код за один шаг.🎨 Двухканальный React Fiber загрузчик: нативная эмуляция загрузки документов и изображений без перезагрузки страницы.
🎯 Точечная правка с изображениями: одновременная передача целевого файла (
target_files) и дизайн-макетов (images).🛠 Новый инструмент
mcp_qwen_build_project_context: предварительное сканирование директории и построение контекста.
Related MCP server: Apprentice
📑 Содержание
🌟 О проекте и архитектура оркестрации
Qwen MCP Server реализует профессиональный паттерн двухмодельной разработки (Orchestrator-Worker Pattern):
Gemini в Google Antigravity (100% Оркестратор): планирует архитектуру, собирает требования пользователя, исходный контекст проекта, активные скиллы и передает задачу субагенту через MCP без малейших искажений. Контролирует ход выполнения через 60-секундные таймеры, переносит сгенерированные файлы на диск строго verbatim (1:1) и передает проект на финальную верификацию.
Qwen 3.8 Max в Qwen Studio Desktop (Субагент-исполнитель): генерирует полное дерево файлов проекта, выводит код каждого файла в блоках
### FILE: путь/к/файлу, управляет порционной выдачей для больших файлов (>1000 строк) и проводит независимый аудит собранного проекта (Шаг 6).
┌─────────────────────────────────────────────────────────────┐
│ Google Antigravity (Gemini) │
│ [100% ОРКЕСТРАТОР] │
└──────────────────────────────┬──────────────────────────────┘
│ JSON-RPC (stdio)
▼
┌─────────────────────────────────────────────────────────────┐
│ mcp_qwen (MCP Сервер) │
│ ┌───────────────────────────┴───────────────────────────┐ │
│ │ TaskManager │ │
│ │ • Prompt Builder • Chunking / Continuation │ │
│ │ • Parser (Tree & Files) • Verbatim File Writer │ │
│ └───────────────────────────┬───────────────────────────┘ │
└──────────────────────────────┼──────────────────────────────┘
│ Chrome DevTools Protocol (ws://localhost:9222)
▼
┌─────────────────────────────────────────────────────────────┐
│ Qwen Studio Desktop (Electron) │
│ [СУБАГЕНТ QWEN 3.8 MAX] │
│ • Интерактивное GUI-окно на рабочем столе пользователя │
│ • Monaco Code Editor (полный вывод кода без сокращений) │
└─────────────────────────────────────────────────────────────┘📜 Регламент и строгие правила работы агента
При работе с mcp_qwen действуют строгие правила оркестрации, зашитые на всех уровнях (спецификация MCP, описания инструментов, системные инструкции):
Строго 100% Оркестратор: Gemini не пишет код самостоятельно в обход субагента, а полностью делегирует реализацию Qwen.
Запрет на искажение промпта: СТРОГО ЗАПРЕЩЕНО перефразировать, «улучшать» или сокращать запрос пользователя. Текст передаётся субагенту в первозданном виде.
Сбор контекста проекта и лимиты вложений: Если в проекте есть существующие файлы, обязательно передается
project_dir. Сервер упаковывает проект во вложения: до 4 файлов проекта + 1 txt промпт со всеми остальными файлами 5..N + до 5 изображений/скриншотов (всего до 10 файлов). Для точечной правки передаетсяtarget_files(и при необходимостиimages).Таймер 60 секунд: Сразу после вызова
mcp_qwen_submit_taskGemini ставит 60-секундный таймер через инструментscheduleдля периодического опроса статуса черезmcp_qwen_check_status.Запись Verbatim (1:1): Код субагента переносится на диск без изменения ни единого символа, без удаления комментариев и сокращений.
Порционный вывод (Continuation): Для файлов длиннее 1000 строк субагент возвращает
### STATUS: NEED_CONTINUATION. Оркестратор сохраняет готовую часть и отправляет командуmcp_qwen_continue_task.Обязательная верификация (Шаг 6): После сборки проекта на диске вызывается
mcp_qwen_verify_taskсо структурой файлов и логами ошибок компилятора/линтера. Оркестратор ожидает подтвержденияПРОЕКТ_СОБРАН_ВЕРНОот субагента перед завершением задачи.
⚙️ Как устроен инструмент изнутри (CDP Automation Engine)
1. Автономный запуск с интерактивным окном (launchQwenWithDebugging)
Обычный вызов child_process.spawn в среде агентов Windows порождает процессы на служебном десктопе (exebox-...), из-за чего окно приложения остается невидимым для пользователя.
В адаптере QwenCDPAdapter реализован запуск через планировщик задач Windows с флагом интерактивности:
schtasks /create /tn "LaunchQwenMCP" /tr "\"C:\Program Files\Qwen\Qwen.exe\" --remote-debugging-port=9222" /sc once /st 00:00 /f /it
schtasks /run /tn "LaunchQwenMCP"Флаг /it предписывает операционной системе открыть GUI-окно на интерактивном рабочем столе пользователя (WinSta0\Default).
2. Подключение к Webview через CDP
Qwen Studio — это приложение Electron, внутри которого страница https://chat.qwen.ai/ загружена во внутренний тег <webview>. Адаптер опрашивает список целей /json/list и подключается именно к сессии чата (type === 'webview' и url.includes('chat.qwen.ai')).
3. Эмуляция пользовательского ввода и клика
Современные веб-интерфейсы на React игнорируют простое изменение textarea.value = .... Адаптер использует прототипный нативный сеттер с последующим вызовом событий:
const nativeSetter = Object.getOwnPropertyDescriptor(
window.HTMLTextAreaElement.prototype, 'value'
)?.set;
nativeSetter.call(textarea, promptText);
textarea.dispatchEvent(new Event('input', { bubbles: true }));
textarea.dispatchEvent(new Event('change', { bubbles: true }));После паузы 350 мс (необходимой React для переключения интерфейса с иконки микрофона на стрелку отправки) адаптер нажимает кнопку button.send-button (aria-label: "Отправить").
4. Чтение кода из Monaco Editor
В Qwen Studio блоки кода рендерятся через встроенный редактор Monaco Editor (pre.qwen-markdown-code). Адаптер извлекает строки напрямую из элементов .view-line, исключая повреждения отступов, HTML-сущностей и спецсимволов.
5. Персистентность задач и восстановление состояния (Task Store & Seamless Process Recovery)
В среде Google Antigravity неактивные процессы MCP-серверов завершаются между вызовами инструментов для экономии ресурсов (например, во время ожидания 60-секундного таймера schedule).
Все задачи, история сообщений, текущий статус и распарсенные файлы непрерывно синхронизируются на диск в
%TEMP%\qwen_mcp\tasks_store.json.При повторном вызове
mcp_qwen_check_statusновый процесс сервера восстанавливает состояние задачи из хранилища.Если задача находилась в статусе
RUNNING, сервер автоматически подключается к запущенному Qwen Desktop по CDP (cdpAdapter.getGenerationState()). Если генерация завершилась за время простоя MCP-процесса, сервер извлекает готовый ответ, парсит файлы, переводит задачу вCOMPLETED(илиNEED_CONTINUATION), сохраняет на диск и мгновенно возвращает результат оркестратору!
🛠 Доступные MCP-инструменты
Инструмент | Описание |
| Делегирует задачу субагенту Qwen. Поддерживает |
| Опрашивает статус ( |
| Отправляет команду продолжения генерации оставшихся файлов. |
| Шаг 6: Отправляет структуру собранного проекта, отчет об ошибках и скриншоты рендеринга страницы ( |
| Записывает сгенерированные файлы на диск строго без изменений с защитой от Path Traversal. |
| Сканирует директорию проекта, формирует дерево структуры, отбирает до 4 файлов кода и до 5 изображений во вложения и подготавливает остальные для запроса. |
| Возвращает текущие настройки и результаты сетевой диагностики. |
| Динамически обновляет параметры конфигурации сервера. |
🚀 Установка и быстрый старт («В один клик»)
Требования
Node.js версии 18 или новее.
Qwen Studio Desktop (по умолчанию устанавливается в
C:\Program Files\Qwen\Qwen.exe) либо браузер Google Chrome.
Шаг 1: Установка зависимостей и сборка
git clone https://github.com/your-username/qwen_mcp.git
cd qwen_mcp
npm install
npm run buildШаг 2: Регистрация в AI-ассистенте
Для Google Antigravity:
Добавьте сервер в файл ~/.gemini/config/mcp_config.json:
{
"mcpServers": {
"qwen": {
"command": "node",
"args": ["C:\\ai_projects\\qwen_mcp\\build\\index.js"]
}
}
}Для Claude Desktop:
Добавьте сервер в файл %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"qwen": {
"command": "node",
"args": ["C:\\ai_projects\\qwen_mcp\\build\\index.js"]
}
}
}Для Cursor IDE:
В настройках MCP (Settings > Features > MCP):
Name:
qwenType:
commandCommand:
node C:\ai_projects\qwen_mcp\build\index.js
💡 Полная автономность:
Вам не нужно вручную создавать ярлыки, запускать батники или включать отладку. При первом обращении агент проверит статус Qwen, при необходимости сам запустит его на экране пользователя с флагом отладки и передаст промпт.
📖 Инструкция по использованию (Пошаговые сценарии)
Сценарий 1: Разработка проекта с нуля
Пользователь: «Создай REST API сервис на FastAPI с авторизацией JWT и базой SQLite».
Gemini (Оркестратор):
Вызывает
mcp_qwen_submit_taskс неизмененным промптом пользователя.Ставит таймер на 60 секунд:
schedule(DurationSeconds=60, Prompt="Проверить статус").
Qwen (Субагент):
Формирует дерево проекта:
fastapi_project/ ├── app/ │ ├── main.py │ ├── auth.py │ └── models.py ├── requirements.txt └── README.mdГенерирует код каждого файла через
### FILE: app/main.py,### FILE: app/auth.pyи т.д.
Gemini (Оркестратор):
По таймеру опрашивает
mcp_qwen_check_status.Получив статус
COMPLETED, сохраняет файлы на диск (verbatim).Запускает сборку / проверку синтаксиса.
Вызывает
mcp_qwen_verify_taskс деревом структуры файлов.Получив подтверждение
ПРОЕКТ_СОБРАН_ВЕРНО, сообщает пользователю о готовности.
Сценарий 2: Доработка существующего проекта (Контекст + Вложения + Встроенный код)
Когда в проекте уже есть кодовая база и нужно добавить фичу или провести рефакторинг:
Gemini передает параметр
project_dir: "C:\\projects\\my_app"(и при необходимостиimages: ["C:\\photos\\mockup.png"]).MCP-сервер автоматически:
Строит полное визуальное дерево структуры файлов проекта (исключая
node_modules,.git, бинарники).Распределяет вложения в пределах лимита до 10 файлов (до 5 документов + до 5 изображений):
До 5 документов: первые до 4 ключевых файлов кода проекта прикрепляются как документы (
type: ["document"]) + 1 файлtask_prompt.txt(содержит полный промпт, дерево структуры и полный рабочий код всех остальных файлов с 5-го по N-й), что полностью исключает лимит поля ввода 131 072 символов.До 5 изображений / фото / скриншотов: автоматически сканируются из проекта (
references_photos/,screenshots/,assets/,mockups/) либо передаются через параметрimages(type: ["vision"]).
Qwen 3.8 Max (контекстное окно более 1 000 000 токенов) получает целостный контекст всей кодовой базы и всех референсов/скриншотов за один запрос и выполняет задачу с полным пониманием архитектуры.
Сценарий 3: Точечная правка (Targeted Single-File Edit)
Если нужно изменить только один файл или исправить изолированный баг:
Пользователь: «Поправь валидацию email в файле src/auth/validator.ts».
Gemini передает
target_files: ["src/auth/validator.ts"].Сервер прикрепляет ТОЛЬКО этот файл (или файлы из списка) без сканирования и отправки всей кодовой базы проекта.
Субагент мгновенно фокусируется на конкретном файле, экономя время и вычислительные ресурсы.
Сценарий 4: Генерация огромных файлов (Chunking / Continuation)
Если генерируется файл более 1000 строк кода:
Qwen выводит полный файл и завершает ответ меткой:
### STATUS: NEED_CONTINUATION Осталось вывести: components/Dashboard.tsx, utils/analytics.tsGemini опрашивает статус, обнаруживает
NEED_CONTINUATION, сохраняет готовый файл на диск.Gemini вызывает
mcp_qwen_continue_task(task_id, instruction="Файл сохранен. Продолжай вывод начиная с components/Dashboard.tsx").Процесс циклически повторяется до
### STATUS: ALL_FILES_COMPLETED.
Сценарий 5: Исправление ошибок сборки (Верификация)
Если при сборке проекта возникла ошибка (например, конфликт типов в TypeScript):
Gemini вызывает
mcp_qwen_verify_task:{ "task_id": "qwen_task_...", "assembled_structure": "src/index.ts, src/types.ts", "verification_status": "ERRORS_FOUND", "error_log": "TS2322: Type 'string' is not assignable to type 'number' at src/index.ts:42", "troubled_files": [ { "path": "src/index.ts", "content": "...исходный код с ошибкой..." } ] }Qwen анализирует ошибку, генерирует исправленную версию файла.
Gemini перезаписывает файл и проверяет повторно.
🔄 Адаптация кода под ЛЮБОЙ ДРУГОЙ ЧАТ
Архитектура адаптера src/adapters/qwen_cdp_adapter.ts полностью универсальна. Вы можете легко адаптировать его под любой веб-интерфейс AI.
1. Адаптация под веб-чаты в браузере Google Chrome
Вы можете использовать ChatGPT, Claude.ai, DeepSeek, Google AI Studio, HuggingChat, Perplexity вместо Qwen Desktop.
Шаг А: Запуск Chrome с портом отладки
chrome.exe --remote-debugging-port=9222 "https://chatgpt.com"Шаг Б: Настройка поиска вкладки (findQwenTarget)
В файле src/adapters/qwen_cdp_adapter.ts измените фильтрацию целей:
public async findQwenTarget(): Promise<CDPTarget> {
const targets = await this.getTargets();
// Ищем вкладку ChatGPT (или claude.ai / deepseek.com):
const target = targets.find(
(t) => t.type === 'page' && t.url.includes('chatgpt.com')
);
if (!target) {
throw new Error('Вкладка ChatGPT не найдена в запущенном браузере Chrome!');
}
return target;
}Шаг В: Таблица селекторов для популярных чатов
Чат | Поле ввода ( | Кнопка отправки ( | Индикатор генерации ( | Контейнер ответа |
ChatGPT |
|
|
|
|
Claude.ai |
|
|
|
|
DeepSeek |
|
|
|
|
Google AI Studio |
|
|
|
|
Perplexity |
|
|
|
|
2. Адаптация под Chrome DevTools Browser / Headless
Инструмент можно использовать в полностью бесшумном фоновом режиме (Headless) без отображения графического окна:
chrome.exe --headless=new --remote-debugging-port=9222 "https://chat.qwen.ai"Через протокол CDP доступны расширенные возможности:
Скриншоты: вызов метода
Page.captureScreenshotдля визуального контроля страницы.Перехват сети: прослушивание Server-Sent Events (SSE) через домен
Networkдля мгновенного получения токенов в реальном времени.Внедрение скриптов: вызов
Runtime.evaluateдля прямого взаимодействия с глобальными объектами страницы.
3. Адаптация под локальные WebUI (Ollama, LM Studio)
Для работы с локальными открытыми моделями через веб-интерфейсы:
Ollama OpenWebUI: запустите интерфейс на
http://localhost:3000в отладочном Chrome и настройте селекторы аналогично ChatGPT.Прямой REST API: включите API-режим в
config.json:{ "mode": "api", "apiBaseUrl": "http://localhost:11434/v1", "model": "qwen2.5-coder:32b", "apiKey": "ollama" }
🔧 Конфигурация (config.json)
Конфигурационный файл config.json автоматически создается в корне проекта:
{
"mode": "auto",
"cdpHost": "127.0.0.1",
"cdpPort": 9222,
"qwenExePath": "C:\\Program Files\\Qwen\\Qwen.exe",
"apiBaseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"apiKey": "",
"model": "qwen-max",
"timeoutSeconds": 300
}mode:"auto"— по умолчанию: пытается подключиться к Qwen Desktop по CDP, при отсутствии переключается на API."cdp"— только через Qwen Desktop / Chrome CDP."api"— только через облачный эндпоинт (DashScope / OpenAI-совместимый).
cdpPort: порт удаленной отладки Chromium (по умолчанию9222).timeoutSeconds: максимальное время ожидания ответа субагента (по умолчанию 300 секунд).
📂 Структура проекта
qwen_mcp/
├── src/
│ ├── index.ts # Точка входа MCP-сервера, регистрация инструментов
│ ├── task_manager.ts # Управление жизненным циклом задач, верификация
│ ├── parser.ts # Парсер деревьев файлов, блоков ### FILE: и статусов
│ ├── file_writer.ts # Атомарная запись кода на диск (verbatim)
│ ├── config.ts # Менеджер конфигурации config.json
│ ├── types.ts # TypeScript интерфейсы и модели протокола
│ └── adapters/
│ ├── qwen_cdp_adapter.ts # CDP-клиент (интерактивный запуск, ввод, чтение Monaco)
│ └── qwen_api_adapter.ts # REST API-клиент (OpenAI-совместимый DashScope)
├── tests/
│ ├── run_all_tests.js # Главный тест-раннер
│ ├── test_parser.js # Юнит-тесты парсера файлов и продолжения
│ └── test_server_mcp.js # Тест протокола JSON-RPC MCP и всех инструментов
├── instructions.md # Официальный регламент оркестрации для AI-агентов
├── GEMINI.md # Инструкция для Gemini в Antigravity
├── package.json # Конфигурация зависимостей и скриптов
├── tsconfig.json # Настройки компилятора TypeScript
├── LICENSE # Лицензия MIT
└── README.md # Полная документация проекта🧪 Тестирование
Для запуска полного набора автоматических тестов выполните:
npm testНабор тестов проверяет:
Корректный парсинг деревьев каталогов и блоков файлов
### FILE:.Обработку больших файлов и чанкования (
### STATUS: NEED_CONTINUATION).Атомарную запись файлов на диск с защитой от Path Traversal.
Полный цикл рукопожатия протокола MCP (JSON-RPC) и регистрацию всех 7 инструментов.
📄 Лицензия
Проект распространяется под открытой лицензией MIT.
Available Tools
8 toolsmcp_qwen_build_project_contextA
Сканирует директорию проекта, формирует дерево каталогов и список файлов: отбирает до 4 файлов кода и до 5 изображений для прямого прикрепления во вложения, а остальные файлы подготавливает для включения в тело запроса. Позволяет Orchestrator предварительно оценить контекст.
| Name | Required | Description | Default |
|---|---|---|---|
| project_dir | Yes | Абсолютный путь к директории проекта | |
| target_files | No | Файлы для точечной правки (если правка точечная) | |
| max_attachments | No | Максимальное количество прикрепляемых файлов кода (по умолчанию 4) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explains that the tool scans the project, builds a tree, selects up to 4 code files and up to 5 images for direct attachment, and prepares the rest for the request body. This goes beyond the schema and gives the agent a reasonable model of the tool's behavior, though it omits edge cases like ignored files or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and informative, with the core action front-loaded and no redundant wording. The second sentence adds a useful purpose statement. It is slightly long and dense, but every clause contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers what the tool does, what it selects, and how the result is intended to be used, which is sufficient for an agent to invoke it correctly. The lack of an output schema is partially mitigated by the description's explanation of the produced tree, file list, and attachment/body split. More details on return structure would be welcome, but are not critically missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents project_dir, target_files, and max_attachments. The description adds the concrete defaults of up to 4 code files and up to 5 images, which enriches understanding, but it does not explain how target_files or max_attachments interact with those limits. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Сканирует директорию проекта') and clearly states the resource and outcome: it builds a directory tree and file list, selects files for attachment, and prepares the rest for the request body. It does not explicitly differentiate from siblings like submit_task or verify_task, but its purpose is distinct and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Позволяет Orchestrator предварительно оценить контекст' implies the tool is meant for early project inspection before task submission. However, it does not explicitly state when to use it versus alternatives such as continue_task or submit_task, and no exclusions or alternative conditions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_qwen_check_statusA
Проверяет статус выполнения задачи субагентом Qwen. Возвращает статус (RUNNING, COMPLETED, NEED_CONTINUATION, ERROR), массив распарсенных файлов (parsed_files) и структуру проекта.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | Идентификатор задачи, полученный из mcp_qwen_submit_task |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It usefully discloses the return payload (status values, parsed_files, project structure), but it does not state whether the call is read-only/idempotent, whether it returns immediately or blocks while the subagent runs, or what happens with an invalid/expired task_id. No contradiction exists because no annotations were provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero filler. The first sentence front-loads the core verb and resource; the second compactly lists return values including the exact status enum. Every clause earns its place and the structure is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since there is no output schema, the description correctly takes on the job of explaining return values and does it well. However, it omits workflow decision guidance — what the agent should do given each status and that this tool sits between submit_task and continue_task/verify_task/extract_and_write_files. For a simple one-parameter tool this is adequate, but an agent must infer the polling loop and next-step routing from sibling names alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — task_id is already documented in the schema as the identifier obtained from mcp_qwen_submit_task. The tool description adds no meaning about the parameter beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — 'Проверяет статус выполнения задачи субагентом Qwen' (checks the status of a Qwen subagent task) — and adds the returned status enum (RUNNING, COMPLETED, NEED_CONTINUATION, ERROR), parsed_files, and project structure. This makes its purpose unambiguous and distinguishes it functionally from siblings like submit_task, continue_task, verify_task, extract_and_write_files, and get/set_config.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is only implied: the schema's parameter description ties task_id to mcp_qwen_submit_task, and the status enum hints at a polling workflow, but the description never states when to call this tool versus mcp_qwen_verify_task, nor how to react to each status (e.g., NEED_CONTINUATION routing to continue_task). There are no explicit alternatives, exclusions, or when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_qwen_continue_taskB
Отправляет команду на продолжение генерации следующих файлов субагентом Qwen в рамках текущей сессии задачи.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | Идентификатор задачи | |
| instruction | Yes | Инструкция продолжения (например: "Файлы A, B сохранены. Продолжай вывод следующих файлов начиная с C") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does add the context that the tool sends a command to a subagent rather than performing the generation itself, which is useful, but it fails to mention side effects, whether the call is asynchronous, idempotency, failure modes, or what happens to the current session when invoked.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence that front-loads the action ('sends a command') and then specifies the target, scope, and context. There is no filler or redundant detail; every part of the sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the agent is left unsure what the call actually returns, whether it blocks or completes asynchronously, and how it relates to mcp_qwen_extract_and_write_files for handling generated files. The description covers purpose but not enough of the operational context needed to invoke the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both task_id and instruction, and the instruction example is helpful. The description itself adds no parameter-level meaning beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('sends a command to continue generation') and clearly identifies the resource ('subagent Qwen' within the current task session). This distinguishes it from sibling tools like submit_task, check_status, verify_task, and config-related tools without needing to inspect schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The verb 'continue' and phrase 'within the current task session' imply the tool should be used after a task has already been submitted and generation has paused. However, there is no explicit when-to-use guidance, no exclusions, and no direct comparison to alternatives like mcp_qwen_submit_task.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_qwen_extract_and_write_filesB
Безопасно и автоматически извлекает сгенерированные Qwen файлы и записывает их на диск в целевую директорию БЕЗ КАКИХ-ЛИБО ИЗМЕНЕНИЙ ИЛИ ИСКАЖЕНИЙ КОДА (100% verbatim). Создает необходимые подпапки автоматически.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | No | ID задачи (извлечет файлы из ответа задачи) | |
| raw_content | No | Или исходный текст с блоками ### FILE: ... | |
| target_directory | Yes | Абсолютный путь к целевой директории проекта |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses a key guarantee (100% verbatim write, no code modifications) and automatic subfolder creation, which are useful. However, it omits overwrite behavior, permissions, error handling, and return value, and uses vague 'safely' without specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences front-load the action and the key verbatim guarantee, then add the subfolder behavior. The all-caps emphasis is slightly loud, but there is almost no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a file-writing tool with no annotations and no output schema, the description is incomplete: it does not state whether existing files are overwritten, what the function returns on success/failure, or any prerequisites. The subfolder note is helpful, but an agent still lacks critical operational details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces that task_id and raw_content are alternative sources and that target_directory receives the files unchanged, but it does not add meaningful detail beyond the schema's own descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific action (extract generated Qwen files and write them to disk) with a clear verb and resource, plus the crucial verbatim guarantee and subfolder creation. It does not explicitly contrast with sibling tools, but its role as a write-to-disk step is distinct from the task lifecycle tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies it is used after Qwen file generation ('generated Qwen files') and hints at two input modes via task_id/raw_content, but it offers no explicit when-to-use or when-not-to-use guidance and never names alternatives among the siblings. An agent must infer that this step follows submit_task/continue_task.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_qwen_get_configA
Возвращает текущую конфигурацию подключения к Qwen (режим: cdp / api, порт отладки, статус подключения).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It states that the tool returns configuration data, including specific fields, which implies a read-only, non-mutating operation. It does not explicitly mention side effects or failure modes, but for a config getter the 'returns' verb and field listing provide sufficient behavioral clarity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, efficient sentence that states the action and the exact return fields. No filler, no redundancy, and the key information is front-loaded in the verb and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter getter with no output schema, the description adequately lists the returned values (mode, debug port, connection status), giving an agent a clear idea of what it will receive. It could mention that the output is a structured object or describe the status representation, but that is minor for this simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics for the description to clarify. The baseline of 4 applies, and the description does not need to add parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Returns' with the resource 'current Qwen connection configuration' and lists the exact fields (mode, debug port, connection status). This clearly distinguishes it from the task-oriented siblings and from the complementary set_config tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies the tool is for retrieving current configuration, so usage is apparent. However, it does not explicitly state when to use it versus mcp_qwen_set_config or other siblings, nor any prerequisites or conditions. Guidance is implied by the verb and resource rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_qwen_set_configB
Обновляет параметры конфигурации MCP сервера (mode, apiKey, apiBaseUrl, model, cdpPort).
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | ||
| model | No | ||
| apiKey | No | ||
| cdpPort | No | ||
| apiBaseUrl | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. Updating config implies a mutation, but the description does not mention persistence, side effects, validation, permission requirements, or whether changes apply immediately. This is a significant gap for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is compact and front-loaded: the verb and resource appear first, followed by the parameter list. There is no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a config-mutation tool with five parameters and no output schema, this description is insufficient. It does not explain what the parameters mean, how they interact, what a successful result looks like, or what side effects might occur. The agent would need additional knowledge to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only lists the parameter names (mode, apiKey, apiBaseUrl, model, cdpPort) without adding meanings, types, defaults, or constraints beyond what the schema field names already convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Обновляет' / updates) and resource (MCP server configuration parameters), listing the affected fields. It clearly communicates what the tool does, though it does not explicitly differentiate from the read-only sibling get_config other than by the verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended usage is implied by the description: use this tool when you need to update MCP server config parameters. However, there is no explicit guidance on when not to use it, nor any mention that get_config should be used for reading current settings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_qwen_submit_taskA
Делегирует задачу субагенту Qwen 3.8 Max (в Qwen Studio / API). ОБЯЗАТЕЛЬНОЕ ПРАВИЛО ДЛЯ GEMINI: При вызове этого инструмента ты являешься 100% ТОЛЬКО ОРКЕСТРАТОРОМ. СТРОГО ЗАПРЕЩЕНО искажать, "улучшать" или перефразировать запрос пользователя — передавай оригинальный текст как есть. КАТЕГОРИЧЕСКОЕ ТРЕБОВАНИЕ: Если в проекте есть ХОТЬ КАКИЕ-ТО существующие файлы (код, package.json, компоненты, скрипты и т.д.), ты ОБЯЗАН передать project_dir: "<абсолютный путь к рабочей папке>". Сервер автоматически строит дерево структуры и прикрепляет до 10 файлов (до 5 документов: 4 файла проекта + 1 txt промпт со всеми недостающими файлами 5..N, и до 5 изображений/скриншотов). Запрещено описывать проект словами от себя! Если требуется точечная правка одного файла — передай target_files: ["путь/к/файлу"]. Для передачи дизайн-макетов, фотографий или скриншотов передай images: ["путь/к/фото.png"] (до 5 изображений). После вызова инструмента ОБЯЗАТЕЛЬНО установи таймер на 60 секунд через инструмент schedule, чтобы каждые 60 секунд опрашивать статус через mcp_qwen_check_status(task_id).
| Name | Required | Description | Default |
|---|---|---|---|
| images | No | Список путей к изображениям, референсам, фото или скриншотам (до 5 изображений: .png, .jpg, .webp и т.д.) | |
| project_dir | No | ОБЯЗАТЕЛЕН, если в проекте есть файлы! Абсолютный путь к директории проекта. Сервер автоматически построит дерево структуры, прикрепит 4 файла проекта + 1 txt промпт (со всем недостающим) + до 5 изображений | |
| user_prompt | Yes | Оригинальный, неизмененный запрос пользователя без перефразирования | |
| target_files | No | Список файлов для точечной правки (например ["src/index.ts"]). Если указан, прикрепляются ТОЛЬКО эти файлы без отправки всей кодовой базы | |
| attached_files | No | Список абсолютных путей к файлам для прямого прикрепления к сообщению в Qwen Studio (до 10 файлов) | |
| skills_content | No | Полный текст содержимого скиллов (если используются для задачи) | |
| workspace_context | No | Текущий контекст рабочей области, структура существующих файлов | |
| custom_system_prompt | No | Дополнительные системные указания для субагента Qwen |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does substantial work: it discloses the server-side behavior (auto-building a tree, attaching up to 10 files, including a txt prompt for missing files, up to 5 images), the orchestrator-only constraint, and the polling requirement. It does not explicitly state side effects or cost implications, but it reveals the main behavioral traits that affect output and downstream actions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and front-loaded with imperative instructions in all caps, which is useful for the Gemini orchestrator rule but makes the text redundant and heavy. It conveys critical constraints, though it could be condensed and better structured (e.g., bullets). It stays on-topic and every sentence contributes something, but the all-caps presentation undermines readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is thorough for a complex 8-parameter delegation tool: it covers the mandatory vs optional selection logic, the server's automatic file-attachment behavior, the post-call polling procedure, and the no-rewrite rule. There is no output schema, so the description could have mentioned what to do with the task_id result, but it already directs the agent to check status. Slightly incomplete in not specifying how to handle the returned task_id beyond polling, but still strong.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter is documented in the schema. The description adds extra meaning to project_dir (mandatory if files exist, auto-attach behavior), target_files (only these files are attached), and user_prompt (must be original, unmodified). The descriptions for custom_system_prompt, skills_content, workspace_context are thin, but the schema covers their basic purpose, so the baseline is 3 and the added detail pushes it to 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool delegates a task to a subagent (Qwen 3.8 Max), and the schema shows it accepts a user_prompt plus optional context files. However, the description is heavily focused on behavioral mandates and doesn't sharply distinguish it from siblings like mcp_qwen_continue_task or mcp_qwen_extract_and_write_files, so it loses one point.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use rules: always delegate original user text, always pass project_dir if any project files exist, use target_files for point edits, use images for design assets, and then poll via mcp_qwen_check_status. This is exceptionally actionable guidance with alternatives implicitly used (check_status as follow-up, target_files for narrower scopes).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_qwen_verify_taskA
ШАГ 6 ВЕРИФИКАЦИИ: Отправляет структуру собранного проекта и отчет о сборке/ошибках обратно субагенту Qwen на подтверждение. Если проект собран с ошибками — прикрепляет логи ошибок и содержимое проблемных файлов. Qwen либо подтверждает правильность ("ПРОЕКТ_СОБРАН_ВЕРНО"), либо возвращает исправленные файлы.
| Name | Required | Description | Default |
|---|---|---|---|
| images | No | Пути к скриншотам (до 5 штук) для визуальной проверки верстки субагентом Qwen | |
| task_id | Yes | Идентификатор задачи | |
| error_log | No | Текст ошибки компилятора, линтера или сборщика (если есть) | |
| troubled_files | No | Содержимое только тех файлов, в которых обнаружены ошибки | |
| assembled_structure | Yes | Дерево фактически собранных файлов в проекте | |
| verification_status | Yes | Статус проверки: SUCCESS если синтаксис/тесты в порядке, ERRORS_FOUND при ошибках |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does substantial work: it discloses the conditional payload behavior (error_log/troubled_files attached only in the error case), the exact confirmation token expected ('ПРОЕКТ_СОБРАН_ВЕРНО'), and the two possible outcomes (confirmation or corrected files). It does not disclose blocking/asynchronous behavior or side effects on task state, so it is not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with zero waste: core action front-loaded, conditional behavior second, expected outcomes third. Every sentence contributes distinct information, and the structure mirrors the decision flow an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the payload logic, workflow step, and possible verification outcomes, which is solid for a 6-parameter tool with 100% schema coverage. However, with no output schema, it leaves an ambiguity: whether the tool synchronously returns Qwen's verdict/corrected files or whether those arrive through a separate mechanism (likely a sibling like continue_task). An agent cannot fully determine what happens after calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds genuine conditional semantics beyond the schema: it explains that error_log and troubled_files are used specifically when the project built with errors, tying those parameters to verification_status=ERRORS_FOUND. This usage logic is absent from the schema and helps an agent decide what to populate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'ШАГ 6 ВЕРИФИКАЦИИ' and states a specific action: sends the assembled project structure and build/error report back to the Qwen subagent for confirmation. The verb+resource+recipient are all concrete, and the confirmation purpose clearly differentiates it functionally from siblings like submit_task or check_status. It stops short of 5 because it never names a sibling explicitly to draw the contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Step 6' workflow framing gives clear positional context (use after assembly, as the verification handoff), and the second sentence states a concrete conditional rule: when the build has errors, attach error logs and the contents of problem files. No explicit exclusions or named alternatives (e.g., when to use continue_task to receive corrected files) are given, preventing a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v1.0.1- Added
mcp_qwen_build_project_context - Changed
mcp_qwen_submit_task4 fields changed- added
Input schema / properties / attached_filesAdded value: +{ + "description": "Список абсолютных путей к файлам для прямого прикрепления к сообщению в Qwen Studio (до 10 файлов)", + "items": { + "type": "string" + }, + "type": "array" +} - added
Input schema / properties / imagesAdded value: +{ + "description": "Список путей к изображениям, референсам, фото или скриншотам (до 5 изображений: .png, .jpg, .webp и т.д.)", + "items": { + "type": "string" + }, + "type": "array" +} - added
Input schema / properties / project_dirAdded value: +{ + "description": "ОБЯЗАТЕЛЕН, если в проекте есть файлы! Абсолютный путь к директории проекта. Сервер автоматически построит дерево структуры, прикрепит 4 файла проекта + 1 txt промпт (со всем недостающим) + до 5 изображений", + "type": "string" +} - added
Input schema / properties / target_filesAdded value: +{ + "description": "Список файлов для точечной правки (например [\"src/index.ts\"]). Если указан, прикрепляются ТОЛЬКО эти файлы без отправки всей кодовой базы", + "items": { + "type": "string" + }, + "type": "array" +}
- Changed
mcp_qwen_verify_task1 field changed- added
Input schema / properties / imagesAdded value: +{ + "description": "Пути к скриншотам (до 5 штук) для визуальной проверки верстки субагентом Qwen", + "items": { + "type": "string" + }, + "type": "array" +}
7 tool updates
v1.0.0- First observed
mcp_qwen_check_status - First observed
mcp_qwen_continue_task - First observed
mcp_qwen_extract_and_write_files - First observed
mcp_qwen_get_config - First observed
mcp_qwen_set_config - First observed
mcp_qwen_submit_task - First observed
mcp_qwen_verify_task
TDQS
Scored across 8 tools
Каждый инструмент отвечает за отдельный этап работы с субагентом: отправка задачи, проверка статуса, продолжение, запись файлов, верификация, сбор контекста и управление конфигурацией. Несмотря на похожие по смыслу check_status и continue_task, их описания четко разграничивают назначение.
Все инструменты используют единый префикс mcp_qwen_ и согласованный паттерн verb_noun в snake_case: submit_task, check_status, continue_task, set_config. Отклонений от этого стиля нет.
Восемь инструментов — хорошо сбалансированный набор для оркестрации субагента: покрыты запуск, мониторинг, продолжение, запись результатов, верификация, контекст и конфигурация. Каждый инструмент оправдывает свое наличие.
Основной жизненный цикл задачи покрыт полностью: от отправки и проверки статуса до записи файлов и верификации. Не хватает явного инструмента для отмены/остановки задачи и, возможно, списка всех активных задач, но это не критично для базового сценария.
Maintenance
Related MCP Connectors
AI work orchestration for plans, tasks, teams, and coding-agent dispatch.
AI-powered spec-to-task decomposition and execution orchestration for coding agents.
Coordinate coding agents through MCP using existing AI plans, saved work, and independent checks.
- ParleyOAuthdev.weldra
Coordination hub for AI coding agents: message teammates, ask humans, audit every event.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables Claude to collaborate with Gemini for code reviews, second opinions, and iterative software development. It facilitates multi-step workflows including PRD creation and code generation through an AI orchestration framework.24 npm1MIT
- AlicenseNot gradedqualityBmaintenanceA local MCP server that delegates coding tasks to local Qwen and cloud Gemini models, enabling orchestrators like Claude Code to offload routine code generation and receive verified results with automatic correction logging.MIT
- AlicenseNot gradedqualityAmaintenanceEnables Claude Code to delegate implementation tasks to Antigravity CLI and OpenCode, run them fully autonomously, and then review and gate the results.MIT
- AlicenseAqualityAmaintenanceEnables Claude Code and Claude Desktop to delegate token-heavy tasks to Antigravity headless subagents, offloading file edits, test runs, and exploration while preserving Claude's context window.1227 npm1MIT