DeepSeekDSH
Independent community guideNot affiliated with DeepSeek.Official source snapshot

DeepSeek Harness MCP Client

DeepSeek Harness ships an official MCP client plugin that connects external MCP servers and registers their tools as native DSH tools.

On this page

Does DeepSeek Harness support MCP?

Yes. DSH ships the official @deepseek-ai/dsh-mcp-client plugin. It connects an external Model Context Protocol server, discovers its tools and registers them in the Harness tool registry.

Nothing is enabled automatically: you add one MCP client plugin row for each server you want the agent to use.

Configure an MCP server in DeepSeek Harness

The official package supports one configuration entry per server. A local stdio server can use a row like this:

- id: mcp-github
  name: '@deepseek-ai/dsh-mcp-client'
  config:
    serverName: github
    transport: stdio
    command: npx
    args: ['-y', '@modelcontextprotocol/server-github']

Keep credentials out of the file when possible. The official example resolves sensitive values from environment variables rather than hard-coding tokens.

What MCP tools look like inside DSH

Discovered tools are exposed to the model under server-qualified names such as mcp__github__create_issue. The general shape is:

mcp__<serverName>__<tool>

The namespace lets two MCP servers expose the same raw tool name without colliding. Keep serverName stable if you want model-visible names, session history and permission rules to remain stable across reloads.

stdio vs Streamable HTTP

stdio

Use it when the MCP server runs as a local child process. Configure the executable, arguments, optional working directory and only the environment values that process needs.

Streamable HTTP

Use it when the MCP server runs as a service. Configure its URL and any required headers; use TLS and narrowly scoped credentials for non-local endpoints.

What happens when an MCP server disconnects?

The current official client automatically reconnects after a lost connection by default. Reconnect delays back off from 500 ms up to 30 seconds, and the default consecutive-attempt budget is 10.

During an outage, previously known tools can remain visible but calls fail until the server recovers. After the reconnect budget is exhausted, those tools are removed until configuration is reloaded or DSH restarts.

Current DeepSeek Harness MCP limitations

  • Tools are bridged. MCP Resources and Prompts do not currently have Harness consumers.
  • Tool definitions and schemas add request-context tokens while they are registered.
  • A slow server can delay initial discovery; failed calls surface as failures rather than fake success.
  • Changing a server name changes the model-visible tool namespace.

Verify the MCP connection

  1. Start the DSH profile that includes the MCP client row.
  2. Confirm the expected mcp__server__tool names appear.
  3. Ask the agent to perform a harmless read-only operation with one MCP tool.
  4. Confirm the tool call and result match what happened on the server.
  5. Restart or briefly stop the MCP server and verify the expected reconnect behavior.
Primary source

DeepSeek Harness official dsh-mcp-client README. DSH remains in developer preview, so configuration and limits can change between releases.