DeepSeek

Accede a los modelos de lenguaje avanzados de DeepSeek a través de la API de DeepSeek.

Documentación

Servidor MCP de DeepSeek

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

Un servidor MCP para la API actual V4.1 Flash de DeepSeek: chat de texto y visual, la API de Responses, finalización FIM, operaciones del ciclo de vida de la API de Files, descubrimiento de modelos, consultas de saldo y conversaciones en memoria acotadas.

La versión 1.0.1 utiliza el SDK estable de MCP TypeScript v2 y atiende tanto el protocolo 2026-07-28 como clientes heredados sin estado.

Lo actual

Al 10 de septiembre de 2026:

  • El modelo rápido canónico es deepseek-flash, actualmente DeepSeek V4.1 Flash.
  • deepseek-v4-flash y deepseek-v4-flash-vision-exp son alias temporales para deepseek-flash.
  • DeepSeek anunció que deepseek-v4-pro comenzará a servir V4.1 Flash el 14 de septiembre hasta que se publique V4.1 Pro.
  • V4.1 Flash acepta entrada visual mediante Chat Completions y Responses.
  • La API de Files admite carga, listado, recuperación y eliminación de imágenes reutilizables.
  • DeepSeek documenta una ventana de contexto de 1M de tokens y hasta 384K tokens de salida para deepseek-flash.

“Multimodal” aquí significa comprensión de imágenes. Este servidor no genera imágenes, video ni audio.

Herramientas

El servidor expone once herramientas:

  • chat_completion: Chat Completions de texto o visuales, controles de razonamiento, herramientas de función, salida JSON, agregación de streaming y conversation_id de memoria opcional.
  • create_response: llamadas sin estado a la API de Responses con texto/imágenes, controles de razonamiento, herramientas de función/personalizadas, búsqueda web, salida estructurada y agregación de streaming semántico.
  • completion: finalización FIM mediante /beta/completions.
  • list_models: descubrimiento de modelos en vivo.
  • get_user_balance: disponibilidad de cuenta y saldos.
  • upload_file: carga de datos JPEG, PNG, GIF o WebP en base64 y recepción de un file_id reutilizable de DeepSeek.
  • list_files: listado de archivos cargados con filtros de cursor, orden y propósito.
  • retrieve_file: recuperación de metadatos de un file_id.
  • delete_file: eliminación de un archivo cargado.
  • reset_conversation: limpieza de una conversación local en memoria.
  • list_conversations: listado de IDs de conversaciones locales en memoria.

Cada herramienta declara un esquema de salida MCP y anotaciones de comportamiento. Las cargas útiles completas del proveedor siguen siendo opcionales mediante include_raw_response=true.

Instalación

Se requiere Node.js 20 o más reciente.

Ejecución directa sobre 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

Ejemplo de configuración 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 acepta URLs de imágenes:

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

También acepta una URL de datos base64 compatible sin cargarla primero:

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

Para reutilización, llame a upload_file y luego pase el ID devuelto:

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

El mismo archivo cargado se puede usar con create_response:

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

Los formatos de imagen compatibles son JPEG, PNG, GIF y WebP. El detalle puede ser low, high, original o auto.

Límite de seguridad de carga

upload_file acepta base64 sin procesar o una URL de datos de imagen compatible. Deliberadamente no acepta rutas de archivo locales ni obtiene URLs arbitrarias en el servidor. Las cargas decodificadas están limitadas a 64 MiB, y los bytes se verifican por firma antes de la carga. Los datos cargados se almacenan en DeepSeek bajo su cuenta; use una caducidad o delete_file cuando no deban persistir. La caducidad debe estar entre 3,600 y 2,592,000 segundos.

HTTP transmisible

Ejecute un 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

El endpoint predeterminado es http://127.0.0.1:3001/mcp.

Para clientes de navegador, establezca una lista de permitidos de orígenes separados por comas:

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

Las solicitudes que incluyan un encabezado Origin se rechazan con 403 a menos que el origen esté en la lista de permitidos. Los clientes nativos que omiten Origin no se ven afectados.

Endpoint alojado

Un endpoint implementado por separado está disponible en https://deepseek-mcp.ragweld.com/mcp usando Authorization: Bearer <token>. La implementación alojada tiene su propio ciclo de lanzamiento y puede ir por detrás del lanzamiento de npm/GitHub; inspeccione tools/list antes de confiar en una herramienta recién agregada.

Entorno

Requerido:

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 el total de mensajes retenidos en el almacén de conversaciones local del proceso. Reiniciar el proceso limpia este almacén.

Compatibilidad MCP

  • Construido sobre @modelcontextprotocol/server, @modelcontextprotocol/node y @modelcontextprotocol/client 2.0.
  • HTTP transmisible negocia MCP 2026-07-28 y retrocede al manejo sin estado de la era 2025 para clientes más antiguos.
  • Stdio elige la era del protocolo a partir del intercambio inicial y fija una instancia de servidor para esa conexión.
  • Los resultados de descubrimiento/listado estáticos llevan sugerencias de caché pública de una hora; las listas de recursos dinámicos, los datos de tiempo de ejecución, los datos de cuenta en vivo y las conversaciones permanecen privados y de corta duración o sin caché.
  • La memoria explícita conversation_id es estado de la aplicación y funciona de forma independiente del estado de sesión del transporte.

Migración desde 0.6.0

  • El modelo predeterminado cambió de deepseek-v4-flash a deepseek-flash.
  • El SDK de MCP pasó del paquete monolítico v1 a los paquetes divididos v2.
  • Se eliminó MCP_HTTP_STATEFUL_SESSION. El manejo del protocolo HTTP ahora es por solicitud/sin estado; use conversation_id para el contexto de chat retenido.
  • Se agregaron cuatro herramientas de la API de Files y entradas visuales.
  • Los nombres de herramientas existentes y el comportamiento de include_raw_response siguen siendo compatibles.

Desarrollo y verificación

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

Pruebas de humo con credenciales:

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

La prueba de humo en vivo cubre listado de modelos, saldo, chat de texto, streaming de razonamiento, Responses, FIM, entrada visual y un ciclo de vida de carga/recuperación/listado/eliminación de Files con limpieza.

Identidad del registro

  • Registro MCP: io.github.DMontgomery40/deepseek
  • npm: deepseek-mcp-server@1.0.1
  • OCI: docker.io/dmontgomery40/deepseek-mcp-server:0.5.0 es la última imagen publicada y no contiene el conjunto de funciones 1.0.1.

Referencias oficiales

Licencia

MIT