Built by Metorial, the integration platform for agentic AI.

Learn More

David Montgomery/deepseek-mcp-server

DeepSeek MCP Server

    Server Summary

    • Integrate with MCP-compatible applications

    • Access DeepSeek's language models

    • Anonymously use DeepSeek API

DeepSeek MCP Server

A Model Context Protocol (MCP) server for the DeepSeek API, allowing seamless integration of DeepSeek's powerful language models with MCP-compatible applications like Claude Desktop.

Anonymously use DeepSeek API -- Only a proxy is seen on the other side

npm version npm downloads GitHub issues GitHub forks GitHub stars GitHub license

Installation

Installing via Smithery

To install DeepSeek MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @dmontgomery40/deepseek-mcp-server --client claude

Manual Installation

npm install -g deepseek-mcp-server

Usage with Claude Desktop

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "deepseek": {
      "command": "npx",
      "args": [
        "-y",
        "deepseek-mcp-server"
      ],
      "env": {
        "DEEPSEEK_API_KEY": "your-api-key"
      }
    }
  }
}

Features

Note: The server intelligently handles these natural language requests by mapping them to appropriate configuration changes. You can also query the current settings and available models:

  • User: "What models are available?"
    • Response: Shows list of available models and their capabilities via the models resource.
  • User: "What configuration options do I have?"
    • Response: Lists all available configuration options via the model-config resource.
  • User: "What is the current temperature setting?"
    • Response: Displays the current temperature setting.
  • User: "Start a multi-turn conversation. With the following settings: model: 'deepseek-chat', make it not too creative, and allow 8000 tokens."
    • Response: Starts a multi-turn conversation with the specified settings.

Automatic Model Fallback if R1 is down

  • If the primary model (R1) is down (called deepseek-reasoner in the server), the server will automatically attempt to try with v3 (called deepseek-chat in the server)

Note: You can switch back and forth anytime as well, by just giving your prompt and saying "use deepseek-reasoner" or "use deepseek-chat"

  • V3 is recommended for general purpose use, while R1 is recommended for more technical and complex queries, primarily due to speed and token usage

Resource discovery for available models and configurations:

  • Custom model selection
  • Temperature control (0.0 - 2.0)
  • Max tokens limit
  • Top P sampling (0.0 - 1.0)
  • Presence penalty (-2.0 - 2.0)
  • Frequency penalty (-2.0 - 2.0)

Enhanced Conversation Features

Multi-turn conversation support:

  • Maintains complete message history and context across exchanges
  • Preserves configuration settings throughout the conversation
  • Handles complex dialogue flows and follow-up chains automatically

This feature is particularly valuable for two key use cases:

  1. Training & Fine-tuning: Since DeepSeek is open source, many users are training their own versions. The multi-turn support provides properly formatted conversation data that's essential for training high-quality dialogue models.

  2. Complex Interactions: For production use, this helps manage longer conversations where context is crucial:

    • Multi-step reasoning problems
    • Interactive troubleshooting sessions
    • Detailed technical discussions
    • Any scenario where context from earlier messages impacts later responses

The implementation handles all context management and message formatting behind the scenes, letting you focus on the actual interaction rather than the technical details of maintaining conversation state.

Fill-in-the-Middle (FIM) Completion Tool

The DeepSeek MCP Server now supports the FIM (Fill-in-the-Middle) completion endpoint, which is especially useful for code completion, refactoring, and filling in missing code blocks.

Limitations:

  • The FIM endpoint has a 4,096 token (4k) context window. If your prefix + suffix + completion exceeds this, the request will be truncated or may fail.
  • FIM is best suited for code and structured text, not general conversation.

How to Use

You can invoke the FIM tool via MCP clients that support tools, or programmatically. The tool is named fim_completion and accepts the following parameters:

  • prefix (string, required): The text before the missing section.
  • suffix (string, required): The text after the missing section.
  • model (string, optional, default: deepseek-fim): The FIM model to use.
  • temperature (number, optional, default: 0.7): Sampling temperature.
  • max_tokens (number, optional, default: 1024): Maximum tokens to generate for the middle section.
  • top_p (number, optional, default: 1.0): Top-p sampling parameter.
  • frequency_penalty (number, optional, default: 0.1): Frequency penalty.
  • presence_penalty (number, optional, default: 0): Presence penalty.
  • stream (boolean, optional, default: false): Whether to stream the response.

Example Usage

{
  "tool": "fim_completion",
  "params": {
    "prefix": "def add(a, b):\n    return a + b\n\ndef multiply(a, b):\n    ",
    "suffix": "\n    return result\n",
    "temperature": 0.2,
    "max_tokens": 64
  }
}

The response will contain the generated code or text that fits between the prefix and suffix.

When to use FIM:

  • Completing code blocks where the middle is missing
  • Refactoring code by providing the start and end, and letting the model fill in the logic
  • Generating boilerplate or repetitive code patterns
  • Any scenario where you want the model to generate content that fits between two known sections

Testing with MCP Inspector

You can test the server locally using the MCP Inspector tool:

  1. Build the server:

    npm run build
    
  2. Run the server with MCP Inspector:

    # Make sure to specify the full path to the built server
    npx @modelcontextprotocol/inspector node ./build/index.js
    

The inspector will open in your browser and connect to the server via stdio transport. You can:

  • View available tools
  • Test chat completions with different parameters
  • Debug server responses
  • Monitor server performance

Note: The server uses DeepSeek's R1 model (deepseek-reasoner) by default, which provides state-of-the-art performance for reasoning and general tasks.

License

MIT