Se você chegou até aqui, provavelmente quer que o DeepSeek Harness faça mais do que conversar. Quer que ele acesse o GitHub, envie e-mails ou use outras ferramentas por você. É para isso que serve o MCP, e eu mostro como configurar sem complicação.

Vou direto ao ponto. Você vai precisar de uns 10 minutos e de um copiar e colar.

O que é MCP, em uma frase

MCP (Model Context Protocol) é um padrão que permite conectar ferramentas externas a uma IA. Pense numa tomada universal: você pluga o “aparelho” (GitHub, e-mail, banco de dados) e a IA passa a poder usá-lo.

O que é o DeepSeek Harness

O DeepSeek Harness (abreviado como dsh) é o ambiente de agente de código aberto criado para rodar os modelos da DeepSeek. Ele funciona por plugins, e o MCP entra como mais um deles.

Ele ainda está em fase de prévia para desenvolvedores, então alguns nomes e caminhos podem mudar com o tempo. Se algo estiver diferente na sua versão, confira a documentação oficial.

O que você precisa antes de começar

  • Node.js (versões 20 ou 22) instalado
  • pnpm instalado
  • Git instalado
  • O DeepSeek Harness funcionando no seu computador

Se ainda não instalou o Harness, abra o terminal e rode estes comandos, um de cada vez:

git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web

O último comando abre a interface web. Lá, em Settings → Models, escolha o modelo que vai usar.

Passo 1: Abra o arquivo de configuração

Todo MCP no Harness é configurado em um único arquivo:

~/.dsh/profiles/web/cordis.patch.yml

Abra esse arquivo em qualquer editor de texto, como o Bloco de Notas ou o VS Code. É nele que você vai colar a configuração.

Passo 2: Cole a configuração do seu MCP

Cada servidor MCP é um bloco dentro desse arquivo. Vou usar o servidor do GitHub como exemplo, porque é um dos mais comuns:

- insert:
    - id: mcp-github
      name: '@deepseek-ai/dsh-mcp-client'
      config:
        serverName: github
        transport: stdio
        command: npx
        args: ['-y', '@modelcontextprotocol/server-github']
        env:
          GITHUB_TOKEN: !!js process.env.GITHUB_TOKEN

O que cada linha faz:

  • serverName: o nome do seu servidor. Use algo curto, sem espaços (letras, números, hífen e underline).
  • transport: como o Harness conversa com o servidor. Aqui é stdio, que significa um servidor rodando no seu próprio computador.
  • command e args: o comando que liga o servidor.
  • env: a “senha” (token) que o servidor precisa. Ela é lida do seu computador, então você não escreve a senha direto no arquivo.

O campo name sempre tem o mesmo valor (@deepseek-ai/dsh-mcp-client), não mude.

Passo 3: Informe sua senha (token)

No terminal, antes de abrir o Harness, informe o token:

export GITHUB_TOKEN=seu_token_aqui

Importante: faça isso no mesmo terminal em que vai iniciar o Harness. Esse é um dos erros mais comuns.

Passo 4: Reinicie o Harness

pnpm dsh web

Reiniciar é obrigatório, porque é na inicialização que ele lê o arquivo de configuração.

Passo 5: Confira se funcionou

Para ver se o MCP foi carregado, rode:

dsh web --dump-config | grep -A3 mcp

Se aparecer o bloco que você colou, deu certo. Na prática, basta pedir algo ao agente, por exemplo “liste meus repositórios no GitHub”. As ferramentas do MCP aparecem com o nome no formato mcp__nomedoservidor__nomedaferramenta. No nosso exemplo, ficaria algo como mcp__github__create_issue.

E se eu quiser um MCP remoto (online)?

Alguns serviços oferecem o MCP por um endereço na internet, sem nada para instalar. Nesse caso, a configuração muda um pouco:

- insert:
    - id: mcp-meuservico
      name: '@deepseek-ai/dsh-mcp-client'
      config:
        serverName: meuservico
        transport: streamable-http
        url: https://endereco-do-servidor.com/mcp
        headers:
          Authorization: !!js process.env.MEU_TOKEN

Você troca a url pelo endereço do serviço e coloca a chave de acesso no headers. Um detalhe: o cliente MCP do Harness não faz login via OAuth sozinho. Se o serviço exigir isso, você faz o login por fora e usa o token gerado.

Quero ligar mais de um MCP. Como faço?

Basta adicionar outro bloco no mesmo arquivo, cada um com seu próprio id e serverName. A regra é simples: um bloco igual a um servidor.

Erros comuns (e como resolver)

  • O MCP não carrega: confira se o transport está escrito exatamente como stdio ou streamable-http. Em servidores remotos, a url não deve terminar com barra.
  • O servidor local não liga: rode o command e os args à mão no terminal para ver a mensagem de erro. Você também pode adicionar failOnStartupError: true no bloco para o Harness mostrar o problema.
  • Erro de autenticação: o token provavelmente não foi exportado no terminal certo. Repita o Passo 3 e reinicie.
  • Ferramenta demora e dá timeout: aumente o campo toolCallTimeoutMs, que por padrão é 60000 (60 segundos).
  • Erro de espaçamento: o arquivo é em YAML, que é sensível à indentação. Use espaços (não Tab) e mantenha o alinhamento igual ao dos exemplos.

Perguntas frequentes

Preciso usar um modelo da DeepSeek?
Não. O Harness aceita outros provedores, e a configuração do MCP é a mesma em qualquer um.

Preciso saber programar?
Não. O que você faz aqui é copiar, colar e trocar alguns nomes.

Posso conectar vários MCPs ao mesmo tempo?
Pode. Basta um bloco para cada um.

Conclusão

Configurar um MCP no DeepSeek Harness se resume a quatro coisas: abrir o arquivo cordis.patch.yml, colar o bloco, exportar o token e reiniciar. Depois que você faz a primeira vez, as outras levam menos de dois minutos.

Se travou em algum ponto, deixa um comentário aí embaixo com a mensagem de erro que eu te ajudo.