Skip to main content
Glama

🧠 Antigravity to Qwen MCP (mcp_qwen)

License: MIT Version Node.js TypeScript MCP Protocol Platform: Windows

[ 🇷🇺 Русская версия (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

📑 Содержание

  1. О проекте и архитектура оркестрации

  2. Регламент и строгие правила работы агента

  3. Как устроен инструмент изнутри (CDP Automation Engine)

  4. Доступные MCP-инструменты

  5. Установка и быстрый старт («В один клик»)

  6. Инструкция по использованию (Пошаговые сценарии)

  7. Адаптация кода под ЛЮБОЙ ДРУГОЙ ЧАТ

  8. Конфигурация (config.json)

  9. Структура проекта

  10. Тестирование

  11. Лицензия


🌟 О проекте и архитектура оркестрации

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, описания инструментов, системные инструкции):

  1. Строго 100% Оркестратор: Gemini не пишет код самостоятельно в обход субагента, а полностью делегирует реализацию Qwen.

  2. Запрет на искажение промпта: СТРОГО ЗАПРЕЩЕНО перефразировать, «улучшать» или сокращать запрос пользователя. Текст передаётся субагенту в первозданном виде.

  3. Сбор контекста проекта и лимиты вложений: Если в проекте есть существующие файлы, обязательно передается project_dir. Сервер упаковывает проект во вложения: до 4 файлов проекта + 1 txt промпт со всеми остальными файлами 5..N + до 5 изображений/скриншотов (всего до 10 файлов). Для точечной правки передается target_files (и при необходимости images).

  4. Таймер 60 секунд: Сразу после вызова mcp_qwen_submit_task Gemini ставит 60-секундный таймер через инструмент schedule для периодического опроса статуса через mcp_qwen_check_status.

  5. Запись Verbatim (1:1): Код субагента переносится на диск без изменения ни единого символа, без удаления комментариев и сокращений.

  6. Порционный вывод (Continuation): Для файлов длиннее 1000 строк субагент возвращает ### STATUS: NEED_CONTINUATION. Оркестратор сохраняет готовую часть и отправляет команду mcp_qwen_continue_task.

  7. Обязательная верификация (Шаг 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-инструменты

Инструмент

Описание

mcp_qwen_submit_task

Делегирует задачу субагенту Qwen. Поддерживает project_dir (авто-сканирование структуры, прикрепление до 10 файлов: 4 файла проекта + 1 txt промпт со всем недостающим + до 5 фото/скриншотов), images (фото, референсы, скриншоты), target_files (точечная правка) и attached_files. Возвращает task_id.

mcp_qwen_check_status

Опрашивает статус (RUNNING, COMPLETED, NEED_CONTINUATION, ERROR), возвращает распарсенные файлы, структуру и текстовый ответ (raw_response).

mcp_qwen_continue_task

Отправляет команду продолжения генерации оставшихся файлов.

mcp_qwen_verify_task

Шаг 6: Отправляет структуру собранного проекта, отчет об ошибках и скриншоты рендеринга страницы (images) субагенту на подтверждение.

mcp_qwen_extract_and_write_files

Записывает сгенерированные файлы на диск строго без изменений с защитой от Path Traversal.

mcp_qwen_build_project_context

Сканирует директорию проекта, формирует дерево структуры, отбирает до 4 файлов кода и до 5 изображений во вложения и подготавливает остальные для запроса.

mcp_qwen_get_config

Возвращает текущие настройки и результаты сетевой диагностики.

mcp_qwen_set_config

Динамически обновляет параметры конфигурации сервера.


🚀 Установка и быстрый старт («В один клик»)

Требования

  • 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: qwen

  • Type: command

  • Command: node C:\ai_projects\qwen_mcp\build\index.js

💡 Полная автономность:

Вам не нужно вручную создавать ярлыки, запускать батники или включать отладку. При первом обращении агент проверит статус Qwen, при необходимости сам запустит его на экране пользователя с флагом отладки и передаст промпт.


📖 Инструкция по использованию (Пошаговые сценарии)

Сценарий 1: Разработка проекта с нуля

  1. Пользователь: «Создай REST API сервис на FastAPI с авторизацией JWT и базой SQLite».

  2. Gemini (Оркестратор):

    • Вызывает mcp_qwen_submit_task с неизмененным промптом пользователя.

    • Ставит таймер на 60 секунд: schedule(DurationSeconds=60, Prompt="Проверить статус").

  3. Qwen (Субагент):

    • Формирует дерево проекта:

      fastapi_project/
      ├── app/
      │   ├── main.py
      │   ├── auth.py
      │   └── models.py
      ├── requirements.txt
      └── README.md
    • Генерирует код каждого файла через ### FILE: app/main.py, ### FILE: app/auth.py и т.д.

  4. Gemini (Оркестратор):

    • По таймеру опрашивает mcp_qwen_check_status.

    • Получив статус COMPLETED, сохраняет файлы на диск (verbatim).

    • Запускает сборку / проверку синтаксиса.

    • Вызывает mcp_qwen_verify_task с деревом структуры файлов.

    • Получив подтверждение ПРОЕКТ_СОБРАН_ВЕРНО, сообщает пользователю о готовности.

Сценарий 2: Доработка существующего проекта (Контекст + Вложения + Встроенный код)

Когда в проекте уже есть кодовая база и нужно добавить фичу или провести рефакторинг:

  1. Gemini передает параметр project_dir: "C:\\projects\\my_app" (и при необходимости images: ["C:\\photos\\mockup.png"]).

  2. 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"]).

  3. Qwen 3.8 Max (контекстное окно более 1 000 000 токенов) получает целостный контекст всей кодовой базы и всех референсов/скриншотов за один запрос и выполняет задачу с полным пониманием архитектуры.

Сценарий 3: Точечная правка (Targeted Single-File Edit)

Если нужно изменить только один файл или исправить изолированный баг:

  1. Пользователь: «Поправь валидацию email в файле src/auth/validator.ts».

  2. Gemini передает target_files: ["src/auth/validator.ts"].

  3. Сервер прикрепляет ТОЛЬКО этот файл (или файлы из списка) без сканирования и отправки всей кодовой базы проекта.

  4. Субагент мгновенно фокусируется на конкретном файле, экономя время и вычислительные ресурсы.

Сценарий 4: Генерация огромных файлов (Chunking / Continuation)

Если генерируется файл более 1000 строк кода:

  1. Qwen выводит полный файл и завершает ответ меткой:

    ### STATUS: NEED_CONTINUATION
    Осталось вывести: components/Dashboard.tsx, utils/analytics.ts
  2. Gemini опрашивает статус, обнаруживает NEED_CONTINUATION, сохраняет готовый файл на диск.

  3. Gemini вызывает mcp_qwen_continue_task(task_id, instruction="Файл сохранен. Продолжай вывод начиная с components/Dashboard.tsx").

  4. Процесс циклически повторяется до ### STATUS: ALL_FILES_COMPLETED.

Сценарий 5: Исправление ошибок сборки (Верификация)

  1. Если при сборке проекта возникла ошибка (например, конфликт типов в TypeScript):

  2. 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": "...исходный код с ошибкой..." }
      ]
    }
  3. Qwen анализирует ошибку, генерирует исправленную версию файла.

  4. 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;
}

Шаг В: Таблица селекторов для популярных чатов

Чат

Поле ввода (textarea)

Кнопка отправки (sendBtn)

Индикатор генерации (isGenerating)

Контейнер ответа

ChatGPT

#prompt-textarea

button[data-testid="send-button"]

button[data-testid="stop-button"]

div[data-message-author-role="assistant"]

Claude.ai

div[contenteditable="true"]

button[aria-label="Send Message"]

button[aria-label="Stop response"]

.font-claude-message

DeepSeek

textarea

.chat-input-send-button

.chat-input-stop-button

.ds-markdown

Google AI Studio

textarea.mat-input-element

button.run-button

mat-spinner, button.stop-button

.model-response-text

Perplexity

textarea[placeholder*="Ask"]

button[aria-label="Submit"]

button[aria-label="Stop"]

.prose


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)

Для работы с локальными открытыми моделями через веб-интерфейсы:

  1. Ollama OpenWebUI: запустите интерфейс на http://localhost:3000 в отладочном Chrome и настройте селекторы аналогично ChatGPT.

  2. Прямой 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 tools
mcp_qwen_build_project_contextA

Сканирует директорию проекта, формирует дерево каталогов и список файлов: отбирает до 4 файлов кода и до 5 изображений для прямого прикрепления во вложения, а остальные файлы подготавливает для включения в тело запроса. Позволяет Orchestrator предварительно оценить контекст.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_dirYesАбсолютный путь к директории проекта
target_filesNoФайлы для точечной правки (если правка точечная)
max_attachmentsNoМаксимальное количество прикрепляемых файлов кода (по умолчанию 4)

TDQS

A3.7/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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) и структуру проекта.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesИдентификатор задачи, полученный из mcp_qwen_submit_task

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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 в рамках текущей сессии задачи.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesИдентификатор задачи
instructionYesИнструкция продолжения (например: "Файлы A, B сохранены. Продолжай вывод следующих файлов начиная с C")

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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). Создает необходимые подпапки автоматически.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idNoID задачи (извлечет файлы из ответа задачи)
raw_contentNoИли исходный текст с блоками ### FILE: ...
target_directoryYesАбсолютный путь к целевой директории проекта

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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, порт отладки, статус подключения).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNo
modelNo
apiKeyNo
cdpPortNo
apiBaseUrlNo

TDQS

B3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
imagesNoСписок путей к изображениям, референсам, фото или скриншотам (до 5 изображений: .png, .jpg, .webp и т.д.)
project_dirNoОБЯЗАТЕЛЕН, если в проекте есть файлы! Абсолютный путь к директории проекта. Сервер автоматически построит дерево структуры, прикрепит 4 файла проекта + 1 txt промпт (со всем недостающим) + до 5 изображений
user_promptYesОригинальный, неизмененный запрос пользователя без перефразирования
target_filesNoСписок файлов для точечной правки (например ["src/index.ts"]). Если указан, прикрепляются ТОЛЬКО эти файлы без отправки всей кодовой базы
attached_filesNoСписок абсолютных путей к файлам для прямого прикрепления к сообщению в Qwen Studio (до 10 файлов)
skills_contentNoПолный текст содержимого скиллов (если используются для задачи)
workspace_contextNoТекущий контекст рабочей области, структура существующих файлов
custom_system_promptNoДополнительные системные указания для субагента Qwen

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines5/5

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 либо подтверждает правильность ("ПРОЕКТ_СОБРАН_ВЕРНО"), либо возвращает исправленные файлы.

ParametersJSON Schema
NameRequiredDescriptionDefault
imagesNoПути к скриншотам (до 5 штук) для визуальной проверки верстки субагентом Qwen
task_idYesИдентификатор задачи
error_logNoТекст ошибки компилятора, линтера или сборщика (если есть)
troubled_filesNoСодержимое только тех файлов, в которых обнаружены ошибки
assembled_structureYesДерево фактически собранных файлов в проекте
verification_statusYesСтатус проверки: SUCCESS если синтаксис/тесты в порядке, ERRORS_FOUND при ошибках

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

  1. 3 tool updatesv1.0.1
    • Addedmcp_qwen_build_project_context
    • Changedmcp_qwen_submit_task4 fields changed
      • addedInput schema / properties / attached_files
        Added value: +{
        +  "description": "Список абсолютных путей к файлам для прямого прикрепления к сообщению в Qwen Studio (до 10 файлов)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / images
        Added value: +{
        +  "description": "Список путей к изображениям, референсам, фото или скриншотам (до 5 изображений: .png, .jpg, .webp и т.д.)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / project_dir
        Added value: +{
        +  "description": "ОБЯЗАТЕЛЕН, если в проекте есть файлы! Абсолютный путь к директории проекта. Сервер автоматически построит дерево структуры, прикрепит 4 файла проекта + 1 txt промпт (со всем недостающим) + до 5 изображений",
        +  "type": "string"
        +}
      • addedInput schema / properties / target_files
        Added value: +{
        +  "description": "Список файлов для точечной правки (например [\"src/index.ts\"]). Если указан, прикрепляются ТОЛЬКО эти файлы без отправки всей кодовой базы",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
    • Changedmcp_qwen_verify_task1 field changed
      • addedInput schema / properties / images
        Added value: +{
        +  "description": "Пути к скриншотам (до 5 штук) для визуальной проверки верстки субагентом Qwen",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
  2. 7 tool updatesv1.0.0
    • First observedmcp_qwen_check_status
    • First observedmcp_qwen_continue_task
    • First observedmcp_qwen_extract_and_write_files
    • First observedmcp_qwen_get_config
    • First observedmcp_qwen_set_config
    • First observedmcp_qwen_submit_task
    • First observedmcp_qwen_verify_task

TDQS

A3.8/5.0

Scored across 8 tools

Disambiguation5/5

Каждый инструмент отвечает за отдельный этап работы с субагентом: отправка задачи, проверка статуса, продолжение, запись файлов, верификация, сбор контекста и управление конфигурацией. Несмотря на похожие по смыслу check_status и continue_task, их описания четко разграничивают назначение.

Naming Consistency5/5

Все инструменты используют единый префикс mcp_qwen_ и согласованный паттерн verb_noun в snake_case: submit_task, check_status, continue_task, set_config. Отклонений от этого стиля нет.

Tool Count5/5

Восемь инструментов — хорошо сбалансированный набор для оркестрации субагента: покрыты запуск, мониторинг, продолжение, запись результатов, верификация, контекст и конфигурация. Каждый инструмент оправдывает свое наличие.

Completeness4/5

Основной жизненный цикл задачи покрыт полностью: от отправки и проверки статуса до записи файлов и верификации. Не хватает явного инструмента для отмены/остановки задачи и, возможно, списка всех активных задач, но это не критично для базового сценария.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables 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.
    2
    4 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A 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