Integrate DeepSeek LLMs with MCP Applications
MCP server for DeepSeek V4's chat and FIM completions - deepseek-v4-flash and deepseek-v4-pro, thinking mode, streaming, and conversation memory.
0.5.0Add to Favorites
Why it matters
Connect powerful DeepSeek language models, including their advanced reasoning capabilities, to any MCP-compatible application. Enable multi-turn conversations and leverage anonymous proxy access for seamless integration.
Outcomes
What it gets done
Integrate DeepSeek models (R1, V3) via MCP protocol.
Enable anonymous proxy access to the DeepSeek API.
Support multi-turn conversations with full message history.
Configure model parameters like temperature, token limits, and sampling.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-deepseek-mcp-server | bash Overview
DeepSeek MCP Server
An MCP server for DeepSeek's V4 API, exposing only its currently documented surface: chat completions on deepseek-v4-flash or deepseek-v4-pro with thinking mode and streaming, FIM completion, model listing, and account balance. Use it when an MCP client needs to call DeepSeek's V4 models directly for chat or code completion, including its thinking and reasoning mode, rather than a general-purpose or speculative feature set.
What it does
An MCP server for DeepSeek's current V4 API, deliberately scoped to only what DeepSeek's public API reference documents as of its last update: chat completions on deepseek-v4-flash and deepseek-v4-pro, fill-in-the-middle completion on the beta completions endpoint, model listing, and account balance. It explicitly does not ship a V4 monitor, speculative image, video, or upload tools, or automatic model substitution - if DeepSeek hasn't documented an endpoint, this server doesn't expose it.
When to use - and when NOT to
Use it when an MCP client needs to call DeepSeek's V4 models directly - a chat completion with optional thinking mode and reasoning effort control, a fill-in-the-middle code completion, or a quick check of remaining account balance before a larger job. Thinking mode can be explicitly enabled or disabled per call, and reasoning_effort can be set to high or max when deeper reasoning is worth the extra latency and cost. Conversation memory is in-memory only, resettable and listable per session, so it does not persist across server restarts - anything needing durable conversation history needs a separate storage layer.
Capabilities
chat_completion: DeepSeek V4 chat, defaulting to deepseek-v4-flash, with thinking (enabled or disabled), reasoning_effort (high or max), JSON output, function tools, logprobs, streaming, and conversation memory. completion: DeepSeek V4 Pro FIM completion, defaulting to deepseek-v4-pro. list_models reads the live DeepSeek model list. get_user_balance reads account balance and availability. reset_conversation and list_conversations manage in-memory conversation state.
How to install
Local stdio, requiring a DeepSeek API key:
DEEPSEEK_API_KEY="REPLACE_WITH_DEEPSEEK_KEY" npx -y deepseek-mcp-server
Or via Docker:
docker pull docker.io/dmontgomery40/deepseek-mcp-server:0.5.0
docker run --rm -i -e DEEPSEEK_API_KEY="REPLACE_WITH_DEEPSEEK_KEY" docker.io/dmontgomery40/deepseek-mcp-server:0.5.0
A hosted remote endpoint is also available at https://deepseek-mcp.ragweld.com/mcp, authenticated with a bearer token, with documented setup for Codex CLI, Claude Code, and Cursor.
Who it's for
Developers building MCP-based tools who want direct, spec-accurate access to DeepSeek V4's chat and FIM completion models, including thinking mode and reasoning effort control, without extra speculative features layered on top. Optional environment variables such as DEEPSEEK_BASE_URL, DEEPSEEK_REQUEST_TIMEOUT_MS, and CONVERSATION_MAX_MESSAGES cover the remaining tuning needed for most deployments. The project is licensed under MIT.
Source README
DeepSeek MCP Server
Model Context Protocol server for the current DeepSeek V4 API.
As of April 24, 2026, DeepSeek's public API reference documents:
POST /chat/completionswithdeepseek-v4-flashanddeepseek-v4-proPOST /beta/completionsfor V4 Pro FIM completionGET /modelsGET /user/balance
This server exposes only those documented API surfaces. It does not ship a V4 monitor, speculative image/video/upload tools, or automatic model substitution.
Tools
chat_completion: DeepSeek V4 chat. Defaults todeepseek-v4-flash. Supportsthinking: { "type": "enabled" | "disabled" },reasoning_effort: "high" | "max", JSON output, function tools, logprobs, streaming, and conversation memory.completion: DeepSeek V4 Pro FIM completion. Defaults todeepseek-v4-pro.list_models: Reads the live DeepSeek model list.get_user_balance: Reads account balance and availability.reset_conversation: Clears an in-memory conversation.list_conversations: Lists in-memory conversation IDs.
Hosted Remote
- URL:
https://deepseek-mcp.ragweld.com/mcp - Auth:
Authorization: Bearer <token>
Codex CLI:
export DEEPSEEK_MCP_AUTH_TOKEN="REPLACE_WITH_TOKEN"
codex mcp add deepseek --url https://deepseek-mcp.ragweld.com/mcp --bearer-token-env-var DEEPSEEK_MCP_AUTH_TOKEN
Claude Code:
export DEEPSEEK_MCP_AUTH_TOKEN="REPLACE_WITH_TOKEN"
claude mcp add --transport http deepseek https://deepseek-mcp.ragweld.com/mcp --header "Authorization: Bearer $DEEPSEEK_MCP_AUTH_TOKEN"
Cursor:
node -e 'const fs=require("fs"),p=process.env.HOME+"/.cursor/mcp.json";let j={mcpServers:{}};try{j=JSON.parse(fs.readFileSync(p,"utf8"))}catch{};j.mcpServers={...(j.mcpServers||{}),deepseek:{url:"https://deepseek-mcp.ragweld.com/mcp",headers:{Authorization:"Bearer ${env:DEEPSEEK_MCP_AUTH_TOKEN}"}}};fs.mkdirSync(process.env.HOME+"/.cursor",{recursive:true});fs.writeFileSync(p,JSON.stringify(j,null,2));'
Local Stdio
DEEPSEEK_API_KEY="REPLACE_WITH_DEEPSEEK_KEY" npx -y deepseek-mcp-server
Docker:
docker pull docker.io/dmontgomery40/deepseek-mcp-server:0.5.0
docker run --rm -i -e DEEPSEEK_API_KEY="REPLACE_WITH_DEEPSEEK_KEY" docker.io/dmontgomery40/deepseek-mcp-server:0.5.0
Environment
Required:
DEEPSEEK_API_KEY=your-api-key
Optional:
DEEPSEEK_BASE_URL=https://api.deepseek.com
DEEPSEEK_REQUEST_TIMEOUT_MS=120000
DEEPSEEK_DEFAULT_MODEL=deepseek-v4-flash
MCP_TRANSPORT=stdio
MCP_HTTP_HOST=127.0.0.1
MCP_HTTP_PORT=3001
MCP_HTTP_PATH=/mcp
MCP_HTTP_STATEFUL_SESSION=false
CONVERSATION_MAX_MESSAGES=200
Verification
npm run build
npm test
DEEPSEEK_API_KEY="REPLACE_WITH_DEEPSEEK_KEY" npm run test:live
DEEPSEEK_MCP_AUTH_TOKEN="REPLACE_WITH_TOKEN" npm run test:remote
The live smoke test performs real DeepSeek requests for model listing, balance, non-thinking chat, thinking streaming chat with reasoning_content, FIM completion, and MCP tool calls.
Registry Identity
- MCP Registry name:
io.github.DMontgomery40/deepseek - npm package:
deepseek-mcp-server - OCI package:
docker.io/dmontgomery40/deepseek-mcp-server:0.5.0
Official References
- DeepSeek chat completions: https://api-docs.deepseek.com/api/create-chat-completion
- DeepSeek FIM completions: https://api-docs.deepseek.com/api/create-completion
- DeepSeek models: https://api-docs.deepseek.com/api/list-models
- DeepSeek balance: https://api-docs.deepseek.com/api/get-user-balance
- MCP specification: https://modelcontextprotocol.io/specification/2025-11-25
FAQ
Common questions
Trust
How it checks out
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.