DeepSeek

Acesse os modelos de linguagem avançados da DeepSeek por meio da API DeepSeek.

Documentação

Servidor MCP DeepSeek

DeepSeek Official List Official MCP Registry npm version npm downloads Last published OCI package GitHub stars Glama MCP Listing

Um servidor MCP para a API atual V4.1 Flash da DeepSeek: chat textual e visual, API Responses, conclusão FIM, operações do ciclo de vida da API de Arquivos, descoberta de modelos, verificação de saldo e conversas limitadas em memória.

A versão 1.0.1 usa o SDK estável MCP TypeScript v2 e atende tanto ao protocolo 2026-07-28 quanto a clientes legados sem estado.

O que há de atual

Em 10 de setembro de 2026:

  • O modelo rápido canônico é deepseek-flash, atualmente DeepSeek V4.1 Flash.
  • deepseek-v4-flash e deepseek-v4-flash-vision-exp são aliases temporários para deepseek-flash.
  • A DeepSeek anunciou que deepseek-v4-pro começará a servir V4.1 Flash em 14 de setembro até o lançamento do V4.1 Pro.
  • O V4.1 Flash aceita entrada visual por meio de Chat Completions e Responses.
  • A API de Arquivos oferece suporte a upload, listagem, recuperação e exclusão de imagens reutilizáveis.
  • A DeepSeek documenta uma janela de contexto de 1 milhão de tokens e até 384 mil tokens de saída para deepseek-flash.

“Multimodal” aqui significa compreensão de imagens. Este servidor não gera imagens, vídeo ou áudio.

Ferramentas

O servidor expõe onze ferramentas:

  • chat_completion: Chat Completions textual ou visual, controles de raciocínio, ferramentas de função, saída JSON, agregação de streaming e conversation_id opcional de memória.
  • create_response: chamadas sem estado à API Responses com texto/imagens, controles de raciocínio, ferramentas de função/personalizadas, pesquisa na web, saída estruturada e agregação de streaming semântico.
  • completion: conclusão FIM por meio de /beta/completions.
  • list_models: descoberta de modelos em tempo real.
  • get_user_balance: disponibilidade e saldos da conta.
  • upload_file: envio de dados base64 JPEG, PNG, GIF ou WebP e recebimento de um file_id reutilizável da DeepSeek.
  • list_files: listagem de arquivos enviados com filtros de cursor, ordem e finalidade.
  • retrieve_file: recuperação de metadados de um file_id.
  • delete_file: exclusão de um arquivo enviado.
  • reset_conversation: limpeza de uma conversa local em memória.
  • list_conversations: listagem de IDs de conversas locais em memória.

Cada ferramenta declara um esquema de saída MCP e anotações de comportamento. Os payloads completos do provedor permanecem opcionais por meio de include_raw_response=true.

Instalação

Node.js 20 ou mais recente é necessário.

Execute diretamente via stdio:

DEEPSEEK_API_KEY="REPLACE_WITH_DEEPSEEK_KEY" npx -y deepseek-mcp-server@1

Codex CLI:

codex mcp add deepseek --env DEEPSEEK_API_KEY="REPLACE_WITH_DEEPSEEK_KEY" -- npx -y deepseek-mcp-server@1

Claude Code:

claude mcp add deepseek --env DEEPSEEK_API_KEY="REPLACE_WITH_DEEPSEEK_KEY" -- npx -y deepseek-mcp-server@1

Exemplo de configuração de cliente MCP:

{
  "mcpServers": {
    "deepseek": {
      "command": "npx",
      "args": ["-y", "deepseek-mcp-server@1"],
      "env": {
        "DEEPSEEK_API_KEY": "REPLACE_WITH_DEEPSEEK_KEY"
      }
    }
  }
}

Entrada visual

chat_completion aceita URLs de imagem:

{
  "message": [
    { "type": "text", "text": "Describe this image." },
    {
      "type": "image_url",
      "image_url": {
        "url": "https://example.com/photo.png",
        "detail": "high"
      }
    }
  ]
}

Também aceita uma URL de dados base64 suportada sem precisar enviá-la antes:

{
  "message": [
    { "type": "text", "text": "What is shown here?" },
    {
      "type": "file",
      "file_data": "data:image/png;base64,iVBORw0KGgo...",
      "filename": "image.png"
    }
  ]
}

Para reutilização, chame upload_file e depois passe o ID retornado:

{
  "filename": "diagram.png",
  "file_data": "iVBORw0KGgo...",
  "expires_after_seconds": 86400
}
{
  "message": [
    { "type": "text", "text": "Explain this diagram." },
    { "type": "file", "file_id": "file-api-..." }
  ]
}

O mesmo arquivo enviado pode ser usado com create_response:

{
  "input": [
    {
      "role": "user",
      "content": [
        { "type": "input_text", "text": "Read the image." },
        { "type": "input_image", "file_id": "file-api-..." }
      ]
    }
  ]
}

Os formatos de imagem suportados são JPEG, PNG, GIF e WebP. O detalhe pode ser low, high, original ou auto.

Limite de segurança de upload

upload_file aceita base64 bruto ou uma URL de dados de imagem suportada. Deliberadamente não aceita caminhos de arquivo locais e não busca URLs arbitrárias no servidor. Uploads decodificados são limitados a 64 MiB, e os bytes são verificados por assinatura antes do upload. Os dados enviados são armazenados pela DeepSeek na sua conta; use uma expiração ou delete_file quando não devam persistir. A expiração deve estar entre 3.600 e 2.592.000 segundos.

HTTP com streaming

Execute um endpoint HTTP local:

DEEPSEEK_API_KEY="REPLACE_WITH_DEEPSEEK_KEY" \
MCP_TRANSPORT=streamable-http \
MCP_HTTP_HOST=127.0.0.1 \
MCP_HTTP_PORT=3001 \
npx -y deepseek-mcp-server@1

O endpoint usa por padrão http://127.0.0.1:3001/mcp.

Para clientes de navegador, defina uma lista de permissões de origens exata separada por vírgulas:

MCP_HTTP_ALLOWED_ORIGINS=https://app.example.com,http://localhost:3000

Solicitações que incluam um cabeçalho Origin são rejeitadas com 403 a menos que a origem esteja na lista de permissões. Clientes nativos que omitem Origin não são afetados.

Endpoint hospedado

Um endpoint implantado separadamente está disponível em https://deepseek-mcp.ragweld.com/mcp usando Authorization: Bearer <token>. A implantação hospedada tem seu próprio ciclo de lançamento e pode ficar defasada em relação ao lançamento no npm/GitHub; inspecione tools/list antes de depender de uma ferramenta recém-adicionada.

Ambiente

Obrigatório:

DEEPSEEK_API_KEY=your-api-key

Opcional:

DEEPSEEK_BASE_URL=https://api.deepseek.com
DEEPSEEK_REQUEST_TIMEOUT_MS=120000
DEEPSEEK_DEFAULT_MODEL=deepseek-flash
MCP_TRANSPORT=stdio
MCP_HTTP_HOST=127.0.0.1
MCP_HTTP_PORT=3001
MCP_HTTP_PATH=/mcp
MCP_HTTP_ALLOWED_ORIGINS=https://app.example.com,http://localhost:3000
CONVERSATION_MAX_MESSAGES=200

CONVERSATION_MAX_MESSAGES limita o total de mensagens retidas no armazenamento de conversas local ao processo. Reiniciar o processo limpa esse armazenamento.

Compatibilidade MCP

  • Construído sobre @modelcontextprotocol/server, @modelcontextprotocol/node e @modelcontextprotocol/client 2.0.
  • HTTP com streaming negocia MCP 2026-07-28 e recorre ao tratamento sem estado da era 2025 para clientes mais antigos.
  • Stdio escolhe a era do protocolo a partir da troca inicial e fixa uma instância de servidor para essa conexão.
  • Resultados estáticos de descoberta/listagem carregam dicas de cache público de uma hora; listas dinâmicas de recursos, dados de tempo de execução, dados de conta ao vivo e conversas permanecem privados e de curta duração ou sem cache.
  • A memória explícita conversation_id é estado do aplicativo e funciona de forma independente do estado da sessão de transporte.

Migração da versão 0.6.0

  • O modelo padrão mudou de deepseek-v4-flash para deepseek-flash.
  • O SDK MCP passou do pacote monolítico v1 para os pacotes divididos v2.
  • MCP_HTTP_STATEFUL_SESSION foi removido. O tratamento do protocolo HTTP agora é por solicitação/sem estado; use conversation_id para contexto de chat retido.
  • Quatro ferramentas da API de Arquivos e entradas visuais foram adicionadas.
  • Os nomes de ferramentas existentes e o comportamento de include_raw_response permanecem compatíveis.

Desenvolvimento e verificação

npm ci
npm run build
npm test
npm pack --dry-run

Testes de fumaça com credenciais:

DEEPSEEK_API_KEY="REPLACE_WITH_DEEPSEEK_KEY" npm run test:live
DEEPSEEK_MCP_AUTH_TOKEN="REPLACE_WITH_TOKEN" npm run test:remote

A fumaça ao vivo cobre listagem de modelos, saldo, chat textual, streaming de raciocínio, Responses, FIM, entrada visual e um ciclo de vida de upload/recuperação/listagem/exclusão de Arquivos com limpeza.

Identidade no registro

  • Registro MCP: io.github.DMontgomery40/deepseek
  • npm: deepseek-mcp-server@1.0.1
  • OCI: docker.io/dmontgomery40/deepseek-mcp-server:0.5.0 é a última imagem publicada e não contém o conjunto de recursos da 1.0.1.

Referências oficiais

Licença

MIT