deepseek-agent-mcp

deepseek-agent-mcp

MCP server that packages DeepSeek agents as callable tools, offering a bare model for quick Q&A and a full agent capable of executing real coding and file-modifying tasks in a workspace.

Category
访问服务器

README

deepseek-agent-mcp

把 DeepSeek 智能体打包成 MCP Server,让别的 Agent(Claude Desktop、Cursor、DSH 自身、或任何 MCP 客户端)把它当工具调用。提供两个工具:

工具 能力 适用场景
delegate_task 裸模型 deepseek-v4-pro(无工具、无工作区) 快速问答、分析、写作
run_agent_task 完整 DSH agent:shell + 文件读写/编辑 + subagent + workflow + todo + 持久化,能真实改工作区 写代码、改文件、跑测试等真实任务

传输:stdio。运行时依赖:@modelcontextprotocol/sdk + zod(Node ≥ 20)。

1. 安装与启动

cd deepseek-agent-mcp
npm install        # 会顺便执行 prepare -> 编译出 dist/
npm run build      # 手动编译
npm start          # 运行 stdio MCP server(node dist/index.js)

凭据(API Key)

按顺序读取,命中即用:

  1. 环境变量 DEEPSEEK_API_KEY
  2. DSH 自己的凭据文件 ~/.dsh/.credentials.yaml

第 2 条对 DSH 特别有用:DSH 的 stdio MCP 启动器会清除环境里看起来像凭据的变量,但凭据文件不受影响。

环境变量

变量 默认 说明
DEEPSEEK_API_KEY ~/.dsh/.credentials.yaml 回退 DeepSeek API Key
DEEPSEEK_BASE_URL https://api.deepseek.com API 端点
DEEPSEEK_MCP_MODEL deepseek-v4-pro delegate_task 默认模型
DEEPSEEK_HARNESS_ROOT run_agent_task 用的 deepseek-harness checkout 路径(run_agent_taskharness_root 参数优先)

2. 工具说明

2.1 delegate_task —— 裸模型

把任务交给 DeepSeek 模型,返回回答。无状态、无工具、不碰文件。

参数 类型 必填 默认 说明
task string 任务/问题
system string 可选系统提示
model enum deepseek-v4-pro deepseek-v4-pro / deepseek-v4-flash
reasoning_effort enum high off / high / max
max_tokens int 8192 输出上限(≤256000)

2.2 run_agent_task —— 完整 agent

启动一次 dsh --profile headless "<task>",跑完整 DSH 编码 agent(shell、文件读写/编辑、subagent、workflow、todo、JSONL 持久化),在指定工作区里真实执行并修改文件,返回最终回答。

参数 类型 必填 默认 说明
task string 任务(目标、涉及文件、验收标准)
workspace string server 进程 cwd agent 操作的工作区目录
harness_root string $DEEPSEEK_HARNESS_ROOT deepseek-harness checkout 路径
profile enum headless 目前只支持 headless
timeout_ms int 600000 超时杀掉(默认 10 分钟)

前置条件:本机要有一个已构建(pnpm install 过)的 deepseek-harness checkout,其 apps/cli/lib/bin.js 存在。首次运行 dsh --profile headless 会在 ~/.dsh/profiles/headless/ 自动初始化 profile(写几个小文件),属正常行为。

返回内容块:最终回答 → [agent] ok=... exit=... 状态 → 出错时带 [stderr] 诊断。退出码非 0 时 isError=true

3. 接入不同的 Agent

3.1 接入 DSH(本机)

插到 cordis.yml(或作为 --config overlay),DSH 里的工具名会是 mcp__deepseek__delegate_taskmcp__deepseek__run_agent_task

- insert:
    - id: deepseek-agent-mcp
      name: '@deepseek-ai/dsh-mcp-client'
      config:
        serverName: deepseek
        transport: stdio
        command: node
        args: ['D:/dsh/deepseek-agent-mcp/dist/index.js']
        cwd: D:/dsh/deepseek-agent-mcp
        env:
          DEEPSEEK_HARNESS_ROOT: 'D:/deepseek-harness'
        # 完整 agent + 思考型任务可能很久,放宽超时
        toolCallTimeoutMs: 900000

DSH 的 stdio 启动器会清掉 DSH_* 和凭据类环境变量,但 config.env 里显式写的变量会在清洗之后合并进去,所以上面显式写 DEEPSEEK_HARNESS_ROOT 是安全的;DEEPSEEK_API_KEY 不必写,server 会从 ~/.dsh/.credentials.yaml 读。

3.2 接入 Claude Desktop

claude_desktop_config.json(macOS ~/Library/Application Support/Claude/claude_desktop_config.json,Windows %APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "deepseek": {
      "command": "node",
      "args": ["D:/dsh/deepseek-agent-mcp/dist/index.js"],
      "env": {
        "DEEPSEEK_API_KEY": "sk-...",
        "DEEPSEEK_HARNESS_ROOT": "D:/deepseek-harness"
      }
    }
  }
}

3.3 接入 Cursor / 其它 mcp.json 客户端

.cursor/mcp.json(或通用 .mcp.json):

{
  "mcpServers": {
    "deepseek": {
      "command": "node",
      "args": ["D:/dsh/deepseek-agent-mcp/dist/index.js"],
      "env": {
        "DEEPSEEK_API_KEY": "sk-...",
        "DEEPSEEK_HARNESS_ROOT": "D:/deepseek-harness"
      }
    }
  }
}

4. 验证

npm run build      # 编译
npm run test:api   # 直接打 DeepSeek API,验证 key/端点/模型/思考参数
npm run test:mcp   # 进程内 MCP 往返:listTools + delegate_task 真实调用 + run_agent_task 冒烟
npm run smoke      # (真实环境)通过 MCP stdio 起子进程,listTools + 一次真实 delegate_task

test:mcp 用 SDK 的 InMemoryTransport 做完整 MCP 握手,不依赖子进程管道,因此也能在禁止 named-pipe 的沙箱里跑;run_agent_task 的完整 agent 冒烟需要真实环境(见下)。

5. 安全与边界(重要)

  • run_agent_task 会真实执行:调用方等于把任务交给一个能跑 shell、能改文件的编码 agent。谁调用它,就等于授权它在 workspace 里做这些事——务必限制调用来源和工作区范围。
  • API Key 不回传:key 只在 server 进程内存里、且只作为 HTTPS 请求头发给 DEEPSEEK_BASE_URL(默认官方端点)。工具返回、schema、日志都不含 key。详见上一轮说明。
  • delegate_task无状态的裸模型,不带会话、工具、工作区。
  • run_agent_task 每次调用是独立的一次性会话(新 session),不跨调用共享上下文。
  • 模型/思考参数由 ~/.dsh/settings.yamlagent-default-model)决定,run_agent_task 走 DSH 的默认模型选择。

6. 可移植替代方案(Python SDK)

如果不想依赖一个本机 checkout,官方更「可携带」的入口是 Python SDK deepseek-harness-sdk,它捆绑运行时并复用同一套完整 agent 组合:

from deepseek_harness import DeepSeekHarness

with DeepSeekHarness(
    provider="deepseek-official",
    model="deepseek-v4-pro",
    cwd="/path/to/workspace",          # agent 可修改的工作区
    session_root="/path/to/.dsh-sessions",
) as harness:
    result = harness.run("fix the failing test")
    print(result.final_response, result.finish_reason)

它返回结构化 RunResultfinal_responsefinish_reasonsession_id),且运行时子进程可跨调用复用。参考 examples/jsonrpc-agent/minimal.pypython/sdk/README.md。把这段包进一个 Python MCP server(mcp 包)即可得到同样效果、且自带运行时的版本;本仓库当前用 CLI 方案是因为它无需额外 pip install 和运行时构建。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选