chat_completionLABSCO SUMMARY
A second model inside the client you are already in, with the thread kept for you.
Chat history lives in the MCP process and is addressed by a conversation id, so multi-turn threads continue without you resending them — and disappear when the process does. When generation starts failing, the balance read is what separates an account problem from a request problem.
What it is
An MCP wrapper over DeepSeek's API — text and image chat, the Responses API, fill-in-the-middle completion, the Files API for reusable image uploads, the model list and the balance endpoint — with conversation memory kept in the server process. It reads images; it does not generate images, video or audio.
What you get
- Single-turn or multi-turn generation with text or image input, defaulting to deepseek-flash (currently DeepSeek V4.1 Flash)
- Thinking mode enabled by default and switchable off per call, with reasoning effort exposed as its own argument at low, high or max
- Fill-in-the-middle completion from a prompt and a suffix, returning raw completion text rather than chat formatting
- The sampling surface passed straight through: temperature, top_p, frequency and presence penalties, stop sequences, max tokens, logprobs, JSON output, streaming and function tools
- A stateless call against DeepSeek's Responses API when you want structured input, server-side web search and semantic streaming instead of the chat shape
- Conversation state addressed by an id — list the ids currently held, or clear one thread's history while keeping its id
- The account balance and availability status, the model list to validate an id against before you pass it, and image files uploaded once and then listed, inspected or deleted by file_id
Requirements
A DeepSeek API key in DEEPSEEK_API_KEY with balance behind it, and Node.js 20 or newer to run it with npx. The README also mentions a separately deployed endpoint at https://deepseek-mcp.ragweld.com/mcp, but it takes a bearer token the project does not say how to get. Conversation history lives in the process and is capped by CONVERSATION_MAX_MESSAGES, so it goes when the server stops. Browser-based clients additionally need their origin in MCP_HTTP_ALLOWED_ORIGINS, or the request is rejected with a 403. MIT.
Setup effort
One command plus a key — DEEPSEEK_API_KEY="REPLACE_WITH_DEEPSEEK_KEY" npx -y deepseek-mcp-server@1
USE CASES
Getting a second opinion mid-task
Send the question to DeepSeek without leaving the client you are working in, and keep the thread going by id.
Filling in the middle of existing code
Give the prefix and the suffix and get the completion between them, rather than a chat response you have to unwrap.
Choosing between speed and depth
Check which models are live before passing a model id, and turn thinking on or off for the call.
Starting a thread over without renaming it
Clear the stored history for that conversation id and carry on under the same one.
Working out why calls stopped working
Read the account balance and availability before assuming the request was malformed.
11 tools
Listed in project docs. Your client may show a different list.
create_responsecompletionlist_modelsget_user_balanceupload_filelist_filesretrieve_filedelete_filereset_conversationlist_conversationsBEFORE YOU INSTALL
What to know first
Tools you get
11 tools named in the project's documentation.
Requires
- Node.js 20+
- npx on PATH
- DEEPSEEK_API_KEY in your environment
Where it runs
All 3 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
DEEPSEEK_API_KEY="<YOUR_DEEPSEEK_API_KEY>" npx -y deepseek-mcp-server@1MCP Clients
Codex
codex mcp add deepseek --env DEEPSEEK_API_KEY="<YOUR_DEEPSEEK_API_KEY>" -- npx -y deepseek-mcp-server@1Claude Code
claude mcp add deepseek --env DEEPSEEK_API_KEY="<YOUR_DEEPSEEK_API_KEY>" -- npx -y deepseek-mcp-server@1Any MCP client
{
"mcpServers": {
"deepseek": {
"command": "npx",
"args": [
"-y",
"deepseek-mcp-server@1"
],
"env": {
"DEEPSEEK_API_KEY": "<YOUR_DEEPSEEK_API_KEY>"
}
}
}
}