deepseek-mcp

deepseek-mcp

Enables using DeepSeek models as a small, cheap supervised worker from any MCP-compatible client, providing fast flash and deep reasoning tools for bounded tasks.

Category
Visit Server

README

deepseek-mcp

MIT License Python 3.10+ test

Use DeepSeek from Claude Code, Codex, or any MCP-compatible client as a small, cheap supervised worker.

deepseek-mcp is a tiny stdio MCP server with two tools:

deepseek(prompt, system?)     — fast, cheap, non-thinking (flash)
advise(prompt, system?, effort?) — deep reasoning (pro + thinking)

It is built for bounded tasks where another model can reduce mechanical load:

  • classify inboxes, tickets, logs, notes, or docs;
  • summarize packets;
  • turn messy text into JSON or tables;
  • populate templates;
  • generate first-pass mechanical edits;
  • produce reviewable candidate output for a human or primary agent.

It is not built for autonomous architecture, security policy, final client prose, or decisions where the hard part is judgment.

Quickstart

1. Install

Zero-install with uvx:

DEEPSEEK_API_KEY="sk-..." uvx deepseek-mcp-server

Or install persistently:

pip install "git+https://github.com/arizen-dev/deepseek-mcp.git"

Or clone and install locally:

git clone https://github.com/arizen-dev/deepseek-mcp.git
cd deepseek-mcp
pip install -e .

2. Add your DeepSeek key

Create an API key at:

https://platform.deepseek.com/api_keys

Then export it:

export DEEPSEEK_API_KEY="sk-..."

For Claude Code, the lowest-friction setup is to put the key in your global settings:

{
  "env": {
    "DEEPSEEK_API_KEY": "sk-..."
  }
}

Path:

~/.claude/settings.json

MCP servers are started when the client launches, so restart Claude Code or Codex after changing env/config.

3. Configure MCP

If you installed via pip (or uvx), use the installed command directly:

{
  "mcpServers": {
    "deepseek": {
      "command": "deepseek-mcp-server",
      "args": [],
      "env": {
        "DEEPSEEK_API_KEY": "${DEEPSEEK_API_KEY}"
      }
    }
  }
}

If you cloned the repo, point to the script directly:

{
  "mcpServers": {
    "deepseek": {
      "command": "python3",
      "args": ["/absolute/path/to/deepseek-mcp/deepseek_mcp_server.py"],
      "env": {
        "DEEPSEEK_API_KEY": "${DEEPSEEK_API_KEY}"
      }
    }
  }
}

After restart, /mcp should show a deepseek server.

In Claude Code, the tool names are:

mcp__deepseek__deepseek     — flash (fast, mechanical)
mcp__deepseek__advise       — pro  (deep reasoning)

Codex

For Codex, add a global MCP server in ~/.codex/config.toml:

[mcp_servers.deepseekWorker]
command = "deepseek-mcp-server"
args = []

[mcp_servers.deepseekWorker.env]
DEEPSEEK_API_KEY = "sk-..."

Codex TOML does not expand "${DEEPSEEK_API_KEY}" in the same way Claude project MCP configs do. Put the key directly in the TOML env block or use whatever secret mechanism your Codex environment supports.

Demo

Prompt:

Classify these files into doc / code / config. Return JSON only:
- README.md
- pyproject.toml
- src/deepseek_mcp/server.py

Example output:

[
  {"file": "README.md", "type": "doc"},
  {"file": "pyproject.toml", "type": "config"},
  {"file": "src/deepseek_mcp/server.py", "type": "code"}
]

The server appends lightweight metadata:

---
_deepseek · model=deepseek-v4-flash  latency=18.42s  tokens=52+74  cost=$0.0001_

Latency depends heavily on prompt size, model, network, and API load. Treat benchmark numbers as directional, not a guarantee.

CLI

After installing, you can use the CLI for smoke tests and one-shot calls:

# Validate setup
python -m deepseek_mcp check

# One-shot flash call
python -m deepseek_mcp run "Classify: urgent / later — 'Server down in prod'"

# Advisor call with deep reasoning
python -m deepseek_mcp advise "Should we build or buy analytics?" --effort max

Exit codes: 0 = success, 1 = API error, 2 = missing key.

Models

Tool Model Mode Best for
deepseek deepseek-v4-flash Non-thinking Classification, extraction, formatting, mechanical edits
advise deepseek-v4-pro Thinking (effort: medium/high/max) Architecture, tradeoffs, second opinions, ambiguity

Cost

Per-call cost depends on token count and model. Pricing per api.deepseek.com (checked 2026-04-30).

Model Input (miss) Input (cache hit) Output
deepseek-v4-flash $0.14/1M $0.0028/1M $0.28/1M
deepseek-v4-pro $0.435/1M¹ $0.0036/1M¹ $0.87/1M¹

¹ Pro pricing is 75% off until 2026-05-31. Non-discounted: $1.74/$0.0145/$3.48.

Typical per-call cost (cache miss):

Task Flash Pro
Small (~1K in + ~0.5K out) ~$0.0003 ~$0.0009
Medium (~4K in + ~2K out) ~$0.001 ~$0.003

Each response footer includes an estimated cost=$... based on token usage.

Environment variables

Variable Default Description
DEEPSEEK_API_KEY Required. Your DeepSeek API key.
DEEPSEEK_BASE_URL https://api.deepseek.com API base URL (change for proxy/compatible providers).
DEEPSEEK_MCP_LOG (unset) Set to 1 to log call metadata to ~/.deepseek-mcp/calls.jsonl (no prompts logged).

When to use it

Good:

  • "Classify these 200 filenames. Mark uncertainty."
  • "Turn this rough note into a CSV table."
  • "Extract all TODOs and group them by owner."
  • "Create candidate JSON from this messy list. Use null for missing values."
  • "Summarize this packet for review; do not make decisions."

Bad:

  • "Design my architecture."
  • "Write the final client email."
  • "Decide whether this is secure."
  • "Resolve this ambiguous business rule."
  • "Publish this reply directly."

Use it like a fast junior analyst whose work you will review, not like an owner.

How it works

The server:

  1. reads JSON-RPC messages from stdin;
  2. exposes two MCP tools: deepseek (flash, non-thinking) and advise (pro, thinking);
  3. sends your prompt to DeepSeek's OpenAI-compatible chat completions API;
  4. streams the response;
  5. returns the text plus model, latency, token, and cost metadata.

There is no database, no background daemon, no local web server, and no file-system access beyond the MCP client starting the process.

Smoke test

After installing:

echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' \
  | DEEPSEEK_API_KEY="sk-..." deepseek-mcp-server

You should see a JSON response with two tools (deepseek + advise).

Then test a real call:

echo '{"jsonrpc":"2.0","id":2,"method":"tools/call",\
  "params":{"name":"deepseek","arguments":{"prompt":"Return exactly: ok"}}}' \
  | DEEPSEEK_API_KEY="sk-..." deepseek-mcp-server

Examples

See examples/ for real prompt templates:

Benchmark

See docs/benchmark.md for validation observations and usage guidance.

Development

pip install -e ".[dev]"
pip install -r requirements-dev.txt  # alternative
python -m pytest

Compatible endpoints

deepseek-mcp works with any OpenAI-compatible API. Set DEEPSEEK_BASE_URL to point elsewhere:

Provider DEEPSEEK_BASE_URL Notes
DeepSeek https://api.deepseek.com Default
Google Gemini https://generativelanguage.googleapis.com/v1beta/openai/ Requires Gemini API key; models like gemini-2.5-flash
Ollama (local) http://localhost:11434/v1 Run any local model; e.g. llama3, qwen2.5
vLLM (self-hosted) http://localhost:8000/v1 For self-hosted open-weight models
Mistral API https://api.mistral.ai/v1 Requires Mistral API key

Security notes

  • The worker returns text only. It cannot call tools, write files, or access your repo. Output lands in the primary model's context — you review before anything is used.
  • Do not commit API keys.
  • Prefer client/global env injection over hardcoding keys in project repos.
  • Treat model output as untrusted candidate text.
  • Do not give the tool access to secrets you would not paste into DeepSeek directly.
  • Review output before it reaches users, customers, production systems, or public channels.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured