Model Context Protocol server for the current DeepSeek V4 API.
As of April 24, 2026, DeepSeek's public API reference documents:
POST /chat/completions with deepseek-v4-flash and deepseek-v4-proPOST /beta/completions for V4 Pro FIM completionGET /modelsGET /user/balanceThis server exposes only those documented API surfaces. It does not ship a V4 monitor, speculative image/video/upload tools, or automatic model substitution.
chat_completion: DeepSeek V4 chat. Defaults to deepseek-v4-flash. Supports thinking: { "type": "enabled" | "disabled" }, reasoning_effort: "high" | "max", JSON output, function tools, logprobs, streaming, and conversation memory.completion: DeepSeek V4 Pro FIM completion. Defaults to deepseek-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.https://deepseek-mcp.ragweld.com/mcpAuthorization: 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));'
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
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
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.
io.github.DMontgomery40/deepseekdeepseek-mcp-serverdocker.io/dmontgomery40/deepseek-mcp-server:0.5.0MIT
$ claude mcp add deepseek-mcp-server \
-- python -m otcore.mcp_server <graph>