Skip to Content
Guia do UsuárioRecursosMCP

Conecte o Qwen Code a ferramentas via MCP

O Qwen Code pode se conectar a ferramentas e fontes de dados externas por meio do Model Context Protocol (MCP) . Os servidores MCP dão ao Qwen Code acesso às suas ferramentas, bancos de dados e APIs.

O que você pode fazer com o MCP

Com servidores MCP conectados, você pode pedir ao Qwen Code para:

  • Trabalhar com arquivos e repositórios (ler/pesquisar/escrever, dependendo das ferramentas que você habilitar)
  • Consultar bancos de dados (inspeção de schema, queries, relatórios)
  • Integrar serviços internos (expor suas APIs como ferramentas MCP)
  • Automatizar fluxos de trabalho (tarefas repetitivas expostas como ferramentas/prompts)
Tip

Se você está procurando o “comando único para começar”, vá direto para Início rápido.

Início rápido

O Qwen Code carrega os servidores MCP a partir de mcpServers no seu settings.json. Você pode configurar os servidores de duas formas:

  • Editando o settings.json diretamente
  • Usando os comandos qwen mcp (consulte a referência da CLI)

Adicione seu primeiro servidor

  1. Adicione um servidor (exemplo: servidor MCP HTTP remoto):
qwen mcp add --transport http my-server http://localhost:3000/mcp
  1. Abra o diálogo de gerenciamento do MCP para visualizar e gerenciar os servidores:
qwen mcp
  1. Reinicie o Qwen Code no mesmo projeto (ou inicie-o se ainda não estiver em execução) e peça ao modelo para usar as ferramentas desse servidor.

Onde a configuração é armazenada (escopos)

A maioria dos usuários precisa apenas destes dois escopos:

  • Escopo do projeto (padrão): .qwen/settings.json na raiz do seu projeto
  • Escopo do usuário: ~/.qwen/settings.json em todos os projetos da sua máquina

Gravar no escopo do usuário:

qwen mcp add --scope user --transport http my-server http://localhost:3000/mcp
Tip

Para camadas avançadas de configuração (padrões do sistema/configurações do sistema e regras de precedência), consulte Configurações.

Configurar servidores

Escolha um transporte

TransporteQuando usarCampo(s) JSON
httpRecomendado para serviços remotos; funciona bem para servidores MCP em nuvemhttpUrl (+ headers opcional)
sseServidores legados/descontinuados que suportam apenas Server-Sent Eventsurl (+ headers opcional)
stdioProcesso local (scripts, CLIs, Docker) na sua máquinacommand, args (+ cwd, env opcionais)
Note

Se um servidor suportar ambos, prefira HTTP em vez de SSE.

Configurar via settings.json vs qwen mcp add

Ambas as abordagens geram as mesmas entradas mcpServers no seu settings.json—use a que preferir.

Servidor Stdio (processo local)

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 (grava no escopo do projeto por padrão):

qwen mcp add pythonTools -e DATABASE_URL=$DB_CONNECTION_STRING -e API_KEY=$EXTERNAL_API_KEY \ --timeout 15000 python -m my_mcp_server --port 8080

Servidor HTTP (HTTP remoto com streaming)

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 5000

Servidor SSE (Server-Sent Events remoto)

JSON:

{ "mcpServers": { "sseServer": { "url": "http://localhost:8080/sse", "timeout": 30000 } } }

CLI:

qwen mcp add --transport sse sseServer http://localhost:8080/sse --timeout 30000

Segurança e controle

Confiança (pular confirmações)

  • Confiança no servidor (trust: true): ignora os prompts de confirmação para esse servidor (use com moderação).

Autenticação OAuth

O Qwen Code suporta autenticação OAuth 2.0 para servidores MCP. Isso é útil ao acessar servidores remotos que exigem autenticação.

Uso básico

Quando você adiciona um servidor MCP com credenciais OAuth, o Qwen Code gerencia automaticamente o fluxo de autenticação:

qwen mcp add --transport sse oauth-server https://api.example.com/sse/ \ --oauth-client-id your-client-id \ --oauth-redirect-uri https://your-server.com/oauth/callback \ --oauth-authorization-url https://provider.example.com/authorize \ --oauth-token-url https://provider.example.com/token

Importante: Configuração do redirect URI

O fluxo OAuth exige um redirect URI para onde o provedor de autorização envia o código de autenticação.

  • Desenvolvimento local: Por padrão, o Qwen Code usa http://localhost:7777/oauth/callback. Isso funciona ao executar o Qwen Code na sua máquina local com um navegador local.

  • Implantações remotas/em nuvem: Ao executar o Qwen Code em servidores remotos, IDEs em nuvem ou terminais web, o redirecionamento localhost padrão NÃO funcionará. Você DEVE configurar --oauth-redirect-uri para apontar para uma URL publicamente acessível que possa receber o callback OAuth.

Exemplo para servidores remotos:

qwen mcp add --transport sse remote-server https://api.example.com/sse/ \ --oauth-redirect-uri https://your-remote-server.example.com/oauth/callback

Configuração manual via settings.json

Você também pode configurar o OAuth editando o settings.json diretamente:

{ "mcpServers": { "oauthServer": { "url": "https://api.example.com/sse/", "oauth": { "enabled": true, "clientId": "your-client-id", "clientSecret": "your-client-secret", "authorizationUrl": "https://provider.example.com/authorize", "tokenUrl": "https://provider.example.com/token", "redirectUri": "https://your-server.com/oauth/callback", "scopes": ["read", "write"] } } } }

Propriedades de configuração do OAuth:

PropriedadeDescrição
enabledHabilita o OAuth para este servidor (booleano)
clientIdIdentificador do cliente OAuth (string, opcional com registro dinâmico)
clientSecretSegredo do cliente OAuth (string, opcional para clientes públicos)
authorizationUrlEndpoint de autorização OAuth (string, descoberto automaticamente se omitido)
tokenUrlEndpoint de token OAuth (string, descoberto automaticamente se omitido)
scopesScopes OAuth obrigatórios (array de strings)
redirectUriRedirect URI personalizado (string). Crítico para implantações remotas. Padrão: http://localhost:7777/oauth/callback
tokenParamNameNome do parâmetro de query para tokens em URLs SSE (string)
audiencesAudiências para as quais o token é válido (array de strings)

Gerenciamento de tokens

Os tokens OAuth são automaticamente:

  • Armazenados com segurança em ~/.qwen/mcp-oauth-tokens.json
  • Atualizados quando expiram (se refresh tokens estiverem disponíveis)
  • Validados antes de cada tentativa de conexão

Use o comando /mcp auth dentro do Qwen Code para gerenciar a autenticação OAuth de forma interativa.

Filtragem de ferramentas (permitir/negar ferramentas por servidor)

Use includeTools / excludeTools para restringir as ferramentas expostas por um servidor (da perspectiva do Qwen Code).

Exemplo: incluir apenas algumas ferramentas:

{ "mcpServers": { "filteredServer": { "command": "python", "args": ["-m", "my_mcp_server"], "includeTools": ["safe_tool", "file_reader", "data_processor"], "timeout": 30000 } } }

Listas globais de permissão/negação

O objeto mcp no seu settings.json define regras globais para todos os servidores MCP:

  • mcp.allowed: lista de permissão de nomes de servidores MCP (chaves em mcpServers)
  • mcp.excluded: lista de negação de nomes de servidores MCP

Exemplo:

{ "mcp": { "allowed": ["my-trusted-server"], "excluded": ["experimental-server"] } }

Solução de problemas

  • O servidor mostra “Disconnected” em qwen mcp list: verifique se a URL/comando está correto e aumente o timeout.
  • Falha ao iniciar o servidor Stdio: use um caminho absoluto para command e verifique novamente cwd/env.
  • Variáveis de ambiente no JSON não são resolvidas: certifique-se de que elas existam no ambiente onde o Qwen Code é executado (ambientes de shell vs aplicativos GUI podem diferir).

Referência

Estrutura do settings.json

Configuração específica do servidor (mcpServers)

Adicione um objeto mcpServers ao seu arquivo settings.json:

// ... file contains other config objects { "mcpServers": { "serverName": { "command": "path/to/server", "args": ["--arg1", "value1"], "env": { "API_KEY": "$MY_API_TOKEN" }, "cwd": "./server-directory", "timeout": 30000, "trust": false } } }

Propriedades de configuração:

Obrigatório (um dos seguintes):

PropriedadeDescrição
commandCaminho para o executável do transporte Stdio
urlURL do endpoint SSE (ex.: "http://localhost:8080/sse")
httpUrlURL do endpoint de streaming HTTP

Opcional:

PropriedadeTipo/PadrãoDescrição
argsarrayArgumentos de linha de comando para o transporte Stdio
headersobjectHeaders HTTP personalizados ao usar url ou httpUrl
envobjectVariáveis de ambiente para o processo do servidor. Os valores podem referenciar variáveis de ambiente usando a sintaxe $VAR_NAME ou ${VAR_NAME}
cwdstringDiretório de trabalho para o transporte Stdio
timeoutnumber
(padrão: 600.000)
Timeout da solicitação em milissegundos (padrão: 600.000ms = 10 minutos)
trustboolean
(padrão: false)
Quando true, ignora todas as confirmações de chamada de ferramenta para este servidor (padrão: false)
includeToolsarrayLista de nomes de ferramentas a incluir deste servidor MCP. Quando especificado, apenas as ferramentas listadas aqui estarão disponíveis neste servidor (comportamento de allowlist). Se não especificado, todas as ferramentas do servidor são habilitadas por padrão.
excludeToolsarrayLista de nomes de ferramentas a excluir deste servidor MCP. As ferramentas listadas aqui não estarão disponíveis para o modelo, mesmo que sejam expostas pelo servidor.
Nota: excludeTools tem precedência sobre includeTools - se uma ferramenta estiver em ambas as listas, ela será excluída.
targetAudiencestringO Client ID OAuth na allowlist do aplicativo protegido por IAP que você está tentando acessar. Usado com authProviderType: 'service_account_impersonation'.
targetServiceAccountstringO endereço de e-mail da Conta de Serviço do Google Cloud a ser personificada. Usado com authProviderType: 'service_account_impersonation'.

Gerenciar servidores MCP com qwen mcp

Você sempre pode configurar servidores MCP editando manualmente o settings.json, mas a CLI geralmente é mais rápida.

Adicionar um servidor (qwen mcp add)

qwen mcp add [options] <name> <commandOrUrl> [args...]
Argumento/OpçãoDescriçãoPadrãoExemplo
<name>Um nome exclusivo para o servidor.example-server
<commandOrUrl>O comando a executar (para stdio) ou a URL (para http/sse)./usr/bin/python ou http://localhost:8
[args...]Argumentos opcionais para um comando stdio.--port 5000
-s, --scopeEscopo da configuração (usuário ou projeto).project-s user
-t, --transportTipo de transporte (stdio, sse, http).stdio-t sse
-e, --envDefine variáveis de ambiente.-e KEY=value
-H, --headerDefine headers HTTP para transportes SSE e HTTP.-H "X-Api-Key: abc123"
--timeoutDefine o timeout da conexão em milissegundos.--timeout 30000
--trustConfia no servidor (ignora todos os prompts de confirmação de chamada de ferramenta).— (false)--trust
--descriptionDefine a descrição do servidor.--description "Local tools"
--include-toolsUma lista separada por vírgulas de ferramentas a incluir.todas as ferramentas incluídas--include-tools mytool,othertool
--exclude-toolsUma lista separada por vírgulas de ferramentas a excluir.nenhuma--exclude-tools mytool
--oauth-client-idClient ID OAuth para autenticação do servidor MCP.--oauth-client-id your-client-id
--oauth-client-secretClient secret OAuth para autenticação do servidor MCP.--oauth-client-secret your-client-secret
--oauth-redirect-uriRedirect URI OAuth para callback de autenticação.http://localhost:7777/oauth/callback--oauth-redirect-uri https://your-server.com/oauth/callback
--oauth-authorization-urlURL de autorização OAuth.--oauth-authorization-url https://provider.example.com/authorize
--oauth-token-urlURL de token OAuth.--oauth-token-url https://provider.example.com/token
--oauth-scopesScopes OAuth (separados por vírgula).--oauth-scopes scope1,scope2

As flags --oauth-* aplicam-se apenas a --transport sse e --transport http. Combiná-las com --transport stdio resultará em erro.

Remover um servidor (qwen mcp remove)

qwen mcp remove <name>
Last updated on