Community MCP server for DeepSeek AI models — chat, completions and model listing via the DeepSeek API. Not published by DeepSeek.
registry version 0.3.1
npm
npx -y deepseek-mcp-servernpm
npx -y deepseek-mcp-server@0.3.1
Pick your client — the config below is generated for this server (local stdio). Copy respects the “Pin version” switch above.
claude_desktop_config.json
{
"mcpServers": {
"deepseek": {
"command": "npx",
"args": [
"-y",
"deepseek-mcp-server"
],
"env": {
"DEEPSEEK_API_KEY": "<YOUR_DEEPSEEK_API_KEY>"
}
}
}
}{
"mcpServers": {
"deepseek": {
"command": "npx",
"args": [
"-y",
"deepseek-mcp-server@0.3.1"
],
"env": {
"DEEPSEEK_API_KEY": "<YOUR_DEEPSEEK_API_KEY>"
}
}
}
}Format verified against the official Claude Desktop docs ↗.
terminal
claude mcp add --env DEEPSEEK_API_KEY=<YOUR_DEEPSEEK_API_KEY> deepseek -- npx -y deepseek-mcp-server
claude mcp add --env DEEPSEEK_API_KEY=<YOUR_DEEPSEEK_API_KEY> deepseek -- npx -y deepseek-mcp-server@0.3.1
Format verified against the official Claude Code docs ↗.
.cursor/mcp.json
{
"mcpServers": {
"deepseek": {
"command": "npx",
"args": [
"-y",
"deepseek-mcp-server"
],
"env": {
"DEEPSEEK_API_KEY": "<YOUR_DEEPSEEK_API_KEY>"
}
}
}
}{
"mcpServers": {
"deepseek": {
"command": "npx",
"args": [
"-y",
"deepseek-mcp-server@0.3.1"
],
"env": {
"DEEPSEEK_API_KEY": "<YOUR_DEEPSEEK_API_KEY>"
}
}
}
}Format verified against the official Cursor docs ↗.
.vscode/mcp.json
{
"servers": {
"deepseek": {
"command": "npx",
"args": [
"-y",
"deepseek-mcp-server"
],
"env": {
"DEEPSEEK_API_KEY": "<YOUR_DEEPSEEK_API_KEY>"
}
}
}
}{
"servers": {
"deepseek": {
"command": "npx",
"args": [
"-y",
"deepseek-mcp-server@0.3.1"
],
"env": {
"DEEPSEEK_API_KEY": "<YOUR_DEEPSEEK_API_KEY>"
}
}
}
}Format verified against the official VS Code docs ↗.
mcp_config.json
{
"mcpServers": {
"deepseek": {
"command": "npx",
"args": [
"-y",
"deepseek-mcp-server"
],
"env": {
"DEEPSEEK_API_KEY": "<YOUR_DEEPSEEK_API_KEY>"
}
}
}
}{
"mcpServers": {
"deepseek": {
"command": "npx",
"args": [
"-y",
"deepseek-mcp-server@0.3.1"
],
"env": {
"DEEPSEEK_API_KEY": "<YOUR_DEEPSEEK_API_KEY>"
}
}
}
}Format verified against the official Windsurf docs ↗.
Defined in the server's official registry manifest. Required secrets are shown as <YOUR_…> placeholders in the configs above.
DEEPSEEK_API_KEY required secret — DeepSeek API key used for upstream DeepSeek requestsCommunity implementation
DeepSeek MCP Server has not published an official MCP server as of 2026-10-16. This page lists the most popular community implementation.
Independent, non-official implementations of the DeepSeek MCP Server MCP server maintained by the community.
Last verified: 2026-10-15 | Sources: Verification basis ↗
⭐ 353 stars · 最近更新于 15 天前 · MIT license
DeepSeek MCP Server > > /> > > /> > > /> > > /> > > /> > > /> > > /> > > An MCP server for DeepSeek V4.1 Flash and V4 Pro APIs: text and visual chat, the Responses API, FIM completion, Files API lifecycle operations, model discovery, balance checks, and bounded in-memory conversations. Version 1.4.0 uses the stable MCP TypeScript SDK v2 and serves both the 2026-07-28 protocol and stateless legacy clients. What's current Checked against the official API docs on October 13, 2026: The canonical fast model is deepseek-flash , currently DeepSeek V4.1 Flash. deepseek-v4-flash and deepseek-v4-flash-vision-exp are temporary aliases for deepseek-flash . deepseek-v4-pro continues serving V4 Pro 0813. DeepSeek reversed its announced September rerouting plan; Pro remains available with unchanged billing. V4.1 Flash accepts visual input through Chat Completions and Responses. V4 Pro accepts text input. Use list models to check your account's live availability. The Files API supports upload, list, retrieve, and delete for reusable image inputs. DeepSeek documents a 1M-token context window and up to 384K output tokens for deepseek-flash . “Multimodal” here means image understanding. This server does not generate images, video, or audio. Tools The server exposes eleven tools: chat completion : text or visual Chat Completions, 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 tools, the apply patch custom tool, structured output, and semantic streaming aggregation. completion : FIM completion through /beta/completions . list models : live model discovery, including display names, context/output limits, input/output modalities, effort levels, and API capabilities. 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. Every tool declares an MCP output schema and behavior annotations. Full provider payloads remain opt-in through include raw response=true . API behavior Thinking is enabled by default. Canonical reasoning efforts are none , low , high , and max . Compatibility aliases are accepted: minimal maps to low ; medium and xhigh map to high ; the thinking guide also accepts ultra as an alias for max . Chat stream options requires stream=true . Chat forced tool choices ( required or a named function) require thinking to be disabled. Chat prefix completion ( prefix=true ) and strict function tools ( strict=true ) automatically use /beta/chat/completions . Configured /v1 and /beta bases are normalized for beta requests. Frequency and presence penalties remain accepted for compatibility, but DeepSeek ignores them. Responses calls are stateless: send full input history. Built-in tools such as web search are ignored by DeepSeek; accepted legacy web-search shapes do not enable search. The supported custom tool is { "type": "custom", "name": "apply patch" } . Returned calls appear in custom tool calls ; the client is responsible for executing them and sending custom tool call output history. output items preserves complete returned reasoning, message, and tool-call items for replay without enabling the full raw provider response. FIM is beta and non-thinking. It supports streaming usage options; echo=true cannot accompany suffix or logprobs . Its guide documents a 4K output limit, so do not assume the Chat output ceiling applies. DEEPSEEK REQUEST TIMEOUT MS applies to the complete request, including reading the response body and streaming output. Streams are aggregated into one MCP result; partial tokens are not forwarded as MCP notifications. Install Node.js 20 or newer is required. Run directly over stdio: Codex CLI: Claude Code: Example MCP client configuration: Visual input chat completion accepts image URLs: It also accepts a supported base64 data URL without first uploading it: For reuse, call upload file , then pass its returned ID: The same uploaded file can be used with create response : Supported image formats are JPEG, PNG, GIF, and WebP. Detail may be low , high , original , or auto . Image limits Inline images are limited to 32 MiB each, uploaded Files to 64 MiB, JSON request bodies to 48 MiB, and requests to 600 images. Local validation checks known inline sizes, image counts, and serialized UTF-8 body size. DeepSeek checks remote/downloaded and uploaded-file dimensions and aggregate sizes: 64 MiB total without file references, or 200 MiB including them. Dimensions are limited to 8192 pixels per side, dropping to 4096 when there are at least 15 images. External downloads must complete within 60 seconds. The server does not fetch image URLs or read file metadata just to preflight these provider-side limits. Use the Files API for large or reused images. Upload safety boundary upload file accepts raw base64 or a supported image data URL. It deliberately does not accept local file paths and does not fetch arbitrary URLs on the server. Decoded uploads are limited to 64 MiB, and the bytes are signature-checked before upload. Uploaded data is stored by DeepSeek under your account; use an expiry or delete file when it should not persist. Expiry must be between 3,600 and 2,592,000 seconds. DeepSeek storage is limited to 25 GiB and 10,000 files per user. Its upload deadline is ten minutes; increase DEEPSEEK REQUEST TIMEOUT MS for large uploads when needed. Streamable HTTP Run a local HTTP endpoint: The endpoint defaults to For browser clients, set an exact comma-separated origin allowlist: Requests that include an Origin header are rejected with 403 unless the origin is allowlisted. Native clients that omit Origin are unaffected. HTTP authentication and admission limits Local HTTP binds to loopback by default. To protect it with a shared bearer token, set MCP HTTP AUTH TOKEN ; callers then send Authorization: Bearer > . This is shared-token access control, not an OAuth authorization server. Non-loopback binds now require either MCP HTTP AUTH TOKEN or MCP HTTP TRUST AUTH GATEWAY=true . Use gateway mode only when a reverse proxy authenticates every MCP request and prevents direct access to the backend. A browser origin allowlist is independent of authentication. Hosted installations upgrading from 1.0.1 must explicitly configure one of these authentication paths. MCP TOOL RATE LIMIT defaults to 120 invocations per 60-second window, shared across all tools and stateless HTTP request instances using the same provider client. Rate-limit responses are MCP tool errors with error type=tool rate limit and retryable=true ; denied calls do not reach DeepSeek or alter conversations. MCP cancellation reaches the provider request. Cancelled replies are not saved to conversation history. Reading a missing conversation resource returns the protocol's -32602 error. Resource list-change notifications are not advertised. Hosted endpoint A separately deployed endpoint is available at using Authorization: Bearer > . The hosted deployment has its own release cycle and may lag the npm/GitHub release; inspect tools/list before relying on a newly added tool. Environment Required: Optional: CONVERSATION MAX MESSAGES bounds the messages retained per conversation in the process-local store. Restarting the process clears this store. MCP compatibility Built on @modelcontextprotocol/server and @modelcontextprotocol/client 2.3.1, with @modelcontextprotocol/node 2.1.1. Modern MCP 2026-07-28 is stateless: discovery uses server/discover , requests carry protocol version and client capabilities in meta , and completed results carry resultType and required caching fields. The SDK validates the corresponding HTTP headers. Stateless 2025-era handling remains available for older clients. Stdio chooses the protocol era from the opening exchange and pins one server instance for that connection. Static discovery/list results carry one-hour public cache hints; dynamic resource lists, runtime data, live account data, and conversations remain private and short-lived or uncached. Explicit conversation id memory is application state and works independently of transport session state. Migrating from 0.6.0 The default model changed from deepseek-v4-flash to deepseek-flash . The MCP SDK moved from the monolithic v1 package to the split v2 packages. MCP HTTP STATEFUL SESSION was removed. HTTP protocol handling is now per-request/stateless; use conversation id for retained chat context. Four Files API tools and visual inputs were added. Existing tool names and include raw response behavior remain compatible. Release 1.4.0 This release refreshes MCP dependencies, corrects Pro availability and Responses capabilities, adds apply patch custom-tool results and FIM usage options, and fixes beta routing, end-to-end request deadlines, split CRLF SSE boundaries, stream error handling, and non-JSON provider errors. Existing tool names and opt-in raw responses are preserved. The complete API/MCP audit also adds vision request limits, complete Responses history, cancellation propagation, truthful capabilities, missing-resource errors, tool admission limits, reflected-credential redaction, and explicit remote HTTP authentication. DEEPSEEK DEFAULT MODEL is now honored by all three generation tools. Earlier 1.1.0–1.3.0 version identifiers were historically published and removed; npm cannot reuse them. The next available minor release is 1.4.0. Development and verification Credentialed smoke tests: The live smoke covers model listing, balance, text chat, thinking streaming, Responses, strict beta function calling, apply patch custom-tool calls, FIM, visual input, and a Files upload/retrieve/list/delete lifecycle with cleanup. Registry identity MCP Registry: io.github.DMontgomery40/deepseek npm: deepseek-mcp-server@1.4.0 OCI: docker.io/dmontgomery40/deepseek-mcp-server:0.5.0 is the last published image and does not contain the current npm feature set. Documentation audit The release audit covers every supported DeepSeek endpoint reference and its current guides, plus all 31 pages and the authoritative schema of MCP 2026-07-28. Findings, coverage, source conflicts, optional capabilities, and verification limits are recorded in the API audit and the MCP audit. Anthropic-format provider APIs were read for context; this server exposes the OpenAI-compatible Chat, Responses, FIM, Files, model, and balance routes. Official references DeepSeek changelog DeepSeek Responses compatibility guide DeepSeek V4.1 Flash announcement DeepSeek pricing and model limits DeepSeek visual input guide DeepSeek Files API guide DeepSeek Chat Completions DeepSeek Responses API MCP 2026-07-28 specification MCP TypeScript SDK v2 MCP SDK v2 migration guide License MIT…
Summary from the project README — github.com/DMontgomery40/deepseek-mcp-server
Distributed as npm, listed under Developer Tools. Review our MCP security guide before granting access to real data.
DeepSeek MCP Server > > /> > > /> > > /> > > /> > > /> > > /> > > /> > > An MCP server for DeepSeek V4.1 Flash and V4 Pro APIs: text and visual chat, the Responses API, FIM completion, Files API lifecycle operations, model discovery, balance checks, and bounded in-memory conversations. Version 1.4.0 uses the stable MCP TypeScript SDK v2 and serves both the 2026-07-28 protocol and stateless legacy clients. What's current Checked against the official API docs on October 13, 2026: The canonical fast model is deepseek-flash , currently DeepSeek V4.1 Flash. deepseek-v4-flash and deepseek-v4-flash-vision-exp are temporary aliases for deepseek-flash . deepseek-v4-pro continues serving V4 Pro 0813. DeepSeek reversed its announced September rerouting plan; Pro remains available with unchanged billing. V4.1 Flash accepts visual input through Chat Completions and Responses. V4 Pro accepts text input. Use list models to check your account's live availability. The Files API supports upload, list, retrieve, and delete for reusable image inputs. DeepSeek documents a 1M-token context window and up to 384K output tokens for deepseek-flash . “Multimodal” here means image understanding. This server does not generate images, video, or audio. Tools The server exposes eleven tools: chat completion : text or visual Chat Completions, 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 tools, the apply patch custom tool, structured output, and semantic streaming aggregation. completion : FIM completion through /beta/completions . list models : live model discovery, including display names, context/output limits, input/output modalities, effort levels, and API capabilities. 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. Every tool declares an MCP output schema and behavior annotations. Full provider payloads remain opt-in through include raw response=true . API behavior Thinking is enabled by default. Canonical reasoning efforts are none , low , high , and max . Compatibility aliases are accepted: minimal maps to low ; medium and xhigh map to high ; the thinking guide also accepts ultra as an alias for max . Chat stream options requires stream=true . Chat forced tool choices ( required or a named function) require thinking to be disabled. Chat prefix completion ( prefix=true ) and strict function tools ( strict=true ) automatically use /beta/chat/completions . Configured /v1 and /beta bases are normalized for beta requests. Frequency and presence penalties remain accepted for compatibility, but DeepSeek ignores them. Responses calls are stateless: send full input history. Built-in tools such as web search are ignored by DeepSeek; accepted legacy web-search shapes do not enable search. The supported custom tool is { "type": "custom", "name": "apply patch" } . Returned calls appear in custom tool calls ; the client is responsible for executing them and sending custom tool call output history. output items preserves complete returned reasoning, message, and tool-call items for replay without enabling the full raw provider response. FIM is beta and non-thinking. It supports streaming usage options; echo=true cannot accompany suffix or logprobs . Its guide documents a 4K output limit, so do not assume the Chat output ceiling applies. DEEPSEEK REQUEST TIMEOUT MS applies to the complete request, including reading the response body and streaming output. Streams are aggregated into one MCP result; partial tokens are not forwarded as MCP notifications. Install Node.js 20 or newer is required. Run directly over stdio: Codex CLI: Claude Code: Example MCP client configuration: Visual input chat completion accepts image URLs: It also accepts a supported base64 data URL without first uploading it: For reuse, call upload file , then pass its returned ID: The same uploaded file can be used with create response : Supported image formats are JPEG, PNG, GIF, and WebP. Detail may be low , high , original , or auto . Image limits Inline images are limited to 32 MiB each, uploaded Files to 64 MiB, JSON request bodies to 48 MiB, and requests to 600 images. Local validation checks known inline sizes, image counts, and serialized UTF-8 body size. DeepSeek checks remote/downloaded and uploaded-file dimensions and aggregate sizes: 64 MiB total without file references, or 200 MiB including them. Dimensions are limited to 8192 pixels per side, dropping to 4096 when there are at least 15 images. External downloads must complete within 60 seconds. The server does not fetch image URLs or read file metadata just to preflight these provider-side limits. Use the Files API for large or reused images. Upload safety boundary upload file accepts raw base64 or a supported image data URL. It deliberately does not accept local file paths and does not fetch arbitrary URLs on the server. Decoded uploads are limited to 64 MiB, and the bytes are signature-checked before upload. Uploaded data is stored by DeepSeek under your account; use an expiry or delete file when it should not persist. Expiry must be between 3,600 and 2,592,000 seconds. DeepSeek storage is limited to 25 GiB and 10,000 files per user. Its upload deadline is ten minutes; increase DEEPSEEK REQUEST TIMEOUT MS for large uploads when needed. Streamable HTTP Run a local HTTP endpoint: The endpoint defaults to For browser clients, set an exact comma-separated origin allowlist: Requests that include an Origin header are rejected with 403 unless the origin is allowlisted. Native clients that omit Origin are unaffected. HTTP authentication and admission limits Local HTTP binds to loopback by default. To protect it with a shared bearer token, set MCP HTTP AUTH TOKEN ; callers then send Authorization: Bearer > . This is shared-token access control, not an OAuth authorization server. Non-loopback binds now require either MCP HTTP AUTH TOKEN or MCP HTTP TRUST AUTH GATEWAY=true . Use gateway mode only when a reverse proxy authenticates every MCP request and prevents direct access to the backend. A browser origin allowlist is independent of authentication. Hosted installations upgrading from 1.0.1 must explicitly configure one of these authentication paths. MCP TOOL RATE LIMIT defaults to 120 invocations per 60-second window, shared across all tools and stateless HTTP request instances using the same provider client. Rate-limit responses are MCP tool errors with error type=tool rate limit and retryable=true ; denied calls do not reach DeepSeek or alter conversations. MCP cancellation reaches the provider request. Cancelled replies are not saved to conversation history. Reading a missing conversation resource returns the protocol's -32602 error. Resource list-change notifications are not advertised. Hosted endpoint A separately deployed endpoint is available at using Authorization: Bearer > . The hosted deployment has its own release cycle and may lag the npm/GitHub release; inspect tools/list before relying on a newly added tool. Environment Required: Optional: CONVERSATION MAX MESSAGES bounds the messages retained per conversation in the process-local store. Restarting the process clears this store. MCP compatibility Built on @modelcontextprotocol/server and @modelcontextprotocol/client 2.3.1, with @modelcontextprotocol/node 2.1.1. Modern MCP 2026-07-28 is stateless: discovery uses server/discover , requests carry protocol version and client capabilities in meta , and completed results carry resultType and required caching fields. The SDK validates the corresponding HTTP headers. Stateless 2025-era handling remains available for older clients. Stdio chooses the protocol era from the opening exchange and pins one server instance for that connection. Static discovery/list results carry one-hour public cache hints; dynamic resource lists, runtime data, live account data, and conversations remain private and short-lived or uncached. Explicit conversation id memory is application state and works independently of transport session state. Migrating from 0.6.0 The default model changed from deepseek-v4-flash to deepseek-flash . The MCP SDK moved from the monolithic v1 package to the split v2 packages. MCP HTTP STATEFUL SESSION was removed. HTTP protocol handling is now per-request/stateless; use conversation id for retained chat context. Four Files API tools and visual inputs were added. Existing tool names and include raw response behavior remain compatible. Release 1.4.0 This release refreshes MCP dependencies, corrects Pro availability and Responses capabilities, adds apply patch custom-tool results and FIM usage options, and fixes beta routing, end-to-end request deadlines, split CRLF SSE boundaries, stream error handling, and non-JSON provider errors. Existing tool names and opt-in raw responses are preserved. The complete API/MCP audit also adds vision request limits, complete Responses history, cancellation propagation, truthful capabilities, missing-resource errors, tool admission limits, reflected-credential redaction, and explicit remote HTTP authentication. DEEPSEEK DEFAULT MODEL is now honored by all three generation tools. Earlier 1.1.0–1.3.0 version identifiers were historically published and removed; npm cannot reuse them. The next available minor release is 1.4.0. Development and verification Credentialed smoke tests: The live smoke covers model listing, balance, text chat, thinking streaming, Responses, strict beta function calling, apply patch custom-tool calls, FIM, visual input, and a Files upload/retrieve/list/delete lifecycle with cleanup. Registry identity MCP Registry: io.github.DMontgomery40/deepseek npm: deepseek-mcp-server@1.4.0 OCI: docker.io/dmontgomery40/deepseek-mcp-server:0.5.0 is the last published image and does not contain the current npm feature set. Documentation audit The release audit covers every supported DeepSeek endpoint reference and its current guides, plus all 31 pages and the authoritative schema of MCP 2026-07-28. Findings, coverage, source conflicts, optional capabilities, and verification limits are recorded in the API audit and the MCP audit. Anthropic-format provider APIs were read for context; this server exposes the OpenAI-compatible Chat, Responses, FIM, Files, model, and balance routes. Official references DeepSeek changelog DeepSeek Responses compatibility guide DeepSeek V4.1 Flash announcement DeepSeek pricing and model limits DeepSeek visual input guide DeepSeek Files API guide DeepSeek Chat Completions DeepSeek Responses API MCP 2026-07-28 specification MCP TypeScript SDK v2 MCP SDK v2 migration guide License MIT
Run the install command shown above, then paste the config for your client (Claude Desktop, Claude Code, Cursor, VS Code or Windsurf) into its MCP settings and restart the client.
The MCP server itself is free to install. The source is public on https://github.com/DMontgomery40/deepseek-mcp-server. Any third-party service it calls may require its own API key and account.
Any MCP-compatible client can use it, including Claude Desktop, Claude Code, Cursor, VS Code, Windsurf and custom agents.
Publish this server? Link back with a badge on your README or site — copy either snippet.
Markdown
[](https://mcpnav.net/server/deepseek/)
HTML
<a href="https://mcpnav.net/server/deepseek/"><img src="https://mcpnav.net/badge/deepseek.svg" alt="Listed on MCPNav" height="20"></a>