Подключение Qwen Code к инструментам через MCP
Qwen Code может подключаться к внешним инструментам и источникам данных с помощью Model Context Protocol (MCP) . MCP-серверы предоставляют Qwen Code доступ к вашим инструментам, базам данных и API.
Что можно делать с помощью MCP
При подключенных MCP-серверах вы можете поручить Qwen Code:
- Работать с файлами и репозиториями (чтение/поиск/запись, в зависимости от включённых инструментов)
- Выполнять запросы к базам данных (инспекция схемы, выполнение запросов, создание отчётов)
- Интегрировать внутренние сервисы (оборачивать ваши API в виде MCP-инструментов)
- Автоматизировать рабочие процессы (повторяемые задачи, представленные как инструменты или промпты)
Если вы ищете «одну команду для начала работы», перейдите к разделу Быстрый старт.
Быстрый старт
Qwen Code загружает MCP-серверы из параметра mcpServers в вашем файле settings.json. Вы можете настроить серверы двумя способами:
- Отредактировав
settings.jsonнапрямую - Используя команды
qwen mcp(см. Справочник по CLI)
Добавьте свой первый сервер
- Добавьте сервер (пример: удаленный HTTP MCP сервер):
qwen mcp add --transport http my-server http://localhost:3000/mcp- Убедитесь, что он отображается:
qwen mcp list- Перезапустите Qwen Code в том же проекте (или запустите его, если он еще не работает), затем попросите модель использовать инструменты с этого сервера.
Где хранится конфигурация (области видимости)
Большинству пользователей нужны только эти две области:
- Область проекта (по умолчанию):
.qwen/settings.jsonв корне вашего проекта - Пользовательская область:
~/.qwen/settings.jsonдля всех проектов на вашем компьютере
Запись в пользовательскую область:
qwen mcp add --scope user --transport http my-server http://localhost:3000/mcpДля получения информации о расширенных уровнях конфигурации (системные значения по умолчанию/системные настройки и правила приоритета) см. Настройки.
Настройка серверов
Выбор транспорта
| Транспорт | Когда использовать | Поля JSON |
|---|---|---|
http | Рекомендуется для удалённых сервисов; хорошо работает с облачными серверами MCP | httpUrl (+ опционально headers) |
sse | Устаревшие/неподдерживаемые серверы, которые поддерживают только Server-Sent Events | url (+ опционально headers) |
stdio | Локальный процесс (скрипты, CLI, Docker) на вашей машине | command, args (+ опционально cwd, env) |
Если сервер поддерживает оба варианта, предпочтите HTTP вместо SSE.
Настройка через settings.json или qwen mcp add
Оба подхода создают одинаковые записи mcpServers в вашем файле settings.json — используйте тот, который вам больше нравится.
Сервер Stdio (локальный процесс)
JSON (.qwen/settings.json):
{
"mcpServers": {
"pythonTools": {
"command": "python",
"args": ["-m", "my_mcp_server", "--port", "8080"],
"cwd": "./mcp-servers/python",
"env": {
"DATABASE_URL": "$DB_CONNECTION_STRING",
"API_KEY": "${EXTERNAL_API_KEY}"
},
"timeout": 15000
}
}
}CLI (по умолчанию записывает в область проекта):
qwen mcp add pythonTools -e DATABASE_URL=$DB_CONNECTION_STRING -e API_KEY=$EXTERNAL_API_KEY \
--timeout 15000 python -m my_mcp_server --port 8080HTTP сервер (удаленный потоковый HTTP)
JSON:
{
"mcpServers": {
"httpServerWithAuth": {
"httpUrl": "http://localhost:3000/mcp",
"headers": {
"Authorization": "Bearer your-api-token"
},
"timeout": 5000
}
}
}CLI:
qwen mcp add --transport http httpServerWithAuth http://localhost:3000/mcp \
--header "Authorization: Bearer your-api-token" --timeout 5000SSE сервер (удаленные события сервера)
JSON:
{
"mcpServers": {
"sseServer": {
"url": "http://localhost:8080/sse",
"timeout": 30000
}
}
}CLI:
qwen mcp add --transport sse sseServer http://localhost:8080/sse --timeout 30000Безопасность и контроль
Доверие (пропустить подтверждения)
- Доверие к серверу (
trust: true): отключает запросы подтверждения для этого сервера (используйте с осторожностью).
Фильтрация инструментов (разрешение/запрет инструментов для каждого сервера)
Используйте includeTools / excludeTools, чтобы ограничить инструменты, предоставляемые сервером (с точки зрения Qwen Code).
Пример: включение только нескольких инструментов:
{
"mcpServers": {
"filteredServer": {
"command": "python",
"args": ["-m", "my_mcp_server"],
"includeTools": ["safe_tool", "file_reader", "data_processor"],
"timeout": 30000
}
}
}Глобальные списки разрешений/запретов
Объект mcp в вашем settings.json определяет глобальные правила для всех серверов MCP:
mcp.allowed: список разрешённых имён серверов MCP (ключи вmcpServers)mcp.excluded: список запрещённых имён серверов MCP
Пример:
{
"mcp": {
"allowed": ["my-trusted-server"],
"excluded": ["experimental-server"]
}
}Устранение неполадок
- Сервер отображается как «Отключен» в
qwen mcp list: убедитесь, что URL/команда указаны правильно, затем увеличьте значениеtimeout. - Не удается запустить сервер Stdio: используйте абсолютный путь к
commandи дважды проверьтеcwd/env. - Переменные окружения в JSON не разрешаются: убедитесь, что они существуют в окружении, где запущен Qwen Code (окружения shell и GUI-приложения могут отличаться).
Справочник
Структура settings.json
Конфигурация для конкретного сервера (mcpServers)
Добавьте объект mcpServers в ваш файл settings.json:
// ... файл содержит другие объекты конфигурации
{
"mcpServers": {
"serverName": {
"command": "path/to/server",
"args": ["--arg1", "value1"],
"env": {
"API_KEY": "$MY_API_TOKEN"
},
"cwd": "./server-directory",
"timeout": 30000,
"trust": false
}
}
}Свойства конфигурации:
Обязательные (одно из следующих):
| Свойство | Описание |
|---|---|
command | Путь к исполняемому файлу для транспорта Stdio |
url | URL конечной точки SSE (например, "http://localhost:8080/sse") |
httpUrl | URL конечной точки потоковой передачи по HTTP |
Необязательные:
| Свойство | Тип/Значение по умолчанию | Описание |
|---|---|---|
args | массив | Аргументы командной строки для транспорта Stdio |
headers | объект | Пользовательские заголовки HTTP при использовании url или httpUrl |
env | объект | Переменные окружения для процесса сервера. Значения могут ссылаться на переменные окружения с использованием синтаксиса $VAR_NAME или ${VAR_NAME} |
cwd | строка | Рабочая директория для транспорта Stdio |
timeout | число (по умолчанию: 600,000) | Таймаут запроса в миллисекундах (по умолчанию: 600,000 мс = 10 минут) |
trust | булево (по умолчанию: false) | Если true, отключает все подтверждения вызова инструментов для этого сервера (по умолчанию: false) |
includeTools | массив | Список имен инструментов, которые нужно включить с этого MCP-сервера. Если указано, то только перечисленные здесь инструменты будут доступны с этого сервера (поведение allowlist). Если не указано, по умолчанию включаются все инструменты с сервера. |
excludeTools | массив | Список имен инструментов, которые нужно исключить с этого MCP-сервера. Указанные здесь инструменты не будут доступны модели, даже если они предоставлены сервером. Примечание: excludeTools имеет приоритет над includeTools — если инструмент присутствует в обоих списках, он будет исключен. |
targetAudience | строка | Идентификатор клиента OAuth, добавленный в белый список приложения, защищенного IAP, к которому вы пытаетесь получить доступ. Используется с authProviderType: 'service_account_impersonation'. |
targetServiceAccount | строка | Email адрес сервисного аккаунта Google Cloud, от имени которого необходимо действовать. Используется с authProviderType: 'service_account_impersonation'. |
Управление серверами MCP с помощью qwen mcp
Вы всегда можете настроить серверы MCP, вручную отредактировав файл settings.json, но обычно быстрее использовать CLI.
Добавление сервера (qwen mcp add)
qwen mcp add [options] <name> <commandOrUrl> [args...]| Аргумент/Опция | Описание | По умолчанию | Пример |
|---|---|---|---|
<name> | Уникальное имя сервера. | — | example-server |
<commandOrUrl> | Команда для выполнения (для stdio) или URL (для http/sse). | — | /usr/bin/python или http://localhost:8 |
[args...] | Необязательные аргументы для команды stdio. | — | --port 5000 |
-s, --scope | Область конфигурации (пользовательская или проектная). | project | -s user |
-t, --transport | Тип транспорта (stdio, sse, http). | stdio | -t sse |
-e, --env | Установка переменных окружения. | — | -e KEY=value |
-H, --header | Установка HTTP-заголовков для транспортов SSE и HTTP. | — | -H "X-Api-Key: abc123" |
--timeout | Установка времени ожидания подключения в миллисекундах. | — | --timeout 30000 |
--trust | Доверять серверу (пропустить все запросы на подтверждение вызова инструментов). | — (false) | --trust |
--description | Установка описания сервера. | — | --description "Local tools" |
--include-tools | Список инструментов для включения, разделённый запятыми. | все инструменты включены | --include-tools mytool,othertool |
--exclude-tools | Список инструментов для исключения, разделённый запятыми. | ничего не исключено | --exclude-tools mytool |
Список серверов (qwen mcp list)
qwen mcp listУдаление сервера (qwen mcp remove)
qwen mcp remove <name>