← Back to directory
D

DeepSeek MCP Server

Community
MCP server for DeepSeek V4.1 Flash chat, Responses, FIM, and Files APIs
GitHub source repository ↗
★ 352 Stars Category · Dev Tools Very popular
64FMRS · C

A community-maintained MCP server for DeepSeek that covers V4.1 Flash chat, Responses, FIM, Files, model, and balance endpoints, with well-defined tools that declare output schemas and behavior annotations. It fits developers who want DeepSeek inside an MCP client, but requires careful handling of API keys and hosted tokens, attention to uploaded-file storage and expiry, and awareness that the hosted endpoint may lag the latest release.

Reliability
10/20
Security and permissions
13/20
Maintenance
12/20
Documentation
14/20
Setup experience
15/20
Read the FMRS scoring method →

This is a community-maintained Model Context Protocol server that wraps DeepSeek's current V4.1 Flash API. It exposes eleven tools covering text and visual Chat Completions, stateless Responses API calls, FIM completion, Files API lifecycle operations (upload, list, retrieve, delete), live model discovery, account balance checks, and bounded in-memory conversations. Built on the MCP TypeScript SDK v2, it supports both stdio and streamable-http transports and negotiates the 2026-07-28 protocol era while falling back to stateless legacy clients. Note that "multimodal" here means image understanding only; the server does not generate images, video, or audio. It is not maintained by DeepSeek itself.

Tools

chat_completion
Text or visual Chat Completions with thinking controls, function tools, JSON output, streaming aggregation, and optional conversation_id memory.
create_response
Stateless Responses API calls with text/images, reasoning controls, function/custom tools, web search, structured output, and semantic streaming aggregation.
completion
FIM completion through /beta/completions.
list_models
Live model discovery.
get_user_balance
Account availability and balances.
upload_file
Upload base64 JPEG, PNG, GIF, or WebP data and receive a reusable DeepSeek file_id.
list_files
List uploaded files with cursor, order, and purpose filters.
retrieve_file
Retrieve metadata for one file_id.
delete_file
Delete one uploaded file.
reset_conversation
Clear one local in-memory conversation.
list_conversations
List local in-memory conversation IDs.

Setup

Node.js 20 or newer is required. 1) Run directly over stdio: DEEPSEEK_API_KEY="your-key" npx -y deepseek-mcp-server@1. 2) Claude Code: claude mcp add deepseek --env DEEPSEEK_API_KEY="your-key" -- npx -y deepseek-mcp-server@1. 3) Codex CLI: codex mcp add deepseek --env DEEPSEEK_API_KEY="your-key" -- npx -y deepseek-mcp-server@1. 4) Or configure an MCP client with command npx, args ["-y", "deepseek-mcp-server@1"], and the DEEPSEEK_API_KEY environment variable. 5) For a local HTTP endpoint, set MCP_TRANSPORT=streamable-http along with MCP_HTTP_HOST/MCP_HTTP_PORT; the default is http://127.0.0.1:3001/mcp.

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

Fit and risk

Best for

  • Developers integrating DeepSeek V4.1 Flash into MCP clients
  • Chat or analysis workflows that combine text and image inputs
  • Users who want to self-host the server over stdio or a local streamable-http endpoint

Not for

  • Users who need image, video, or audio generation (this server is image understanding only)
  • Users looking for an officially DeepSeek-maintained server
  • Environments without a DeepSeek API key or network access to the DeepSeek API

Required permissions

  • Requires the DEEPSEEK_API_KEY environment variable to make upstream DeepSeek API requests
  • The hosted endpoint at https://deepseek-mcp.ragweld.com/mcp requires Authorization: Bearer <token>
  • upload_file sends base64 image data that is stored by DeepSeek under your account
  • Local streamable-http mode binds a host and port and can enforce an origin allowlist via MCP_HTTP_ALLOWED_ORIGINS

Risks and side effects

  • Data uploaded via upload_file is stored by DeepSeek under your account and persists unless you set an expiry or call delete_file; expiry must be between 3,600 and 2,592,000 seconds
  • Uploads are limited to 64 MiB and signature-checked before upload; upload_file does not accept local file paths and does not fetch arbitrary URLs on the server
  • Conversation memory lives in the process, is cleared on restart, and is bounded by CONVERSATION_MAX_MESSAGES
  • The hosted deployment has its own release cycle and may lag the npm/GitHub release, so inspect tools/list before relying on a new tool
  • This server is community-maintained and is not an official DeepSeek release

Troubleshooting

  1. Verify Node.js is version 20 or newer
  2. Confirm DEEPSEEK_API_KEY is set and valid
  3. When using streamable-http, check MCP_HTTP_HOST, MCP_HTTP_PORT, and MCP_HTTP_PATH; the default path is /mcp
  4. If browser requests with an Origin header get 403, verify MCP_HTTP_ALLOWED_ORIGINS is an exact comma-separated allowlist
  5. If the hosted endpoint fails, check that the Authorization header uses the Bearer <token> format
  6. Run DEEPSEEK_API_KEY="key" npm run test:live for a credentialed smoke test

Use cases

Call DeepSeek for text chat and image understanding directly from an MCP client
FIM completion for code or text infill tasks
Upload and reuse images through the Files API across multiple requests
Check available models and account balance from inside a client

Supported clients

Claude CodeFull support
Codex CLIFull support
Claude DesktopFull support