Claude Code MCP 挂载 DeepSeek:双模型协同方案
一、方案背景与核心前提
本方案旨在解决 Claude Code 开发成本过高的问题——通过 Anthropic 官方 MCP(模型上下文协议)实现双模型协同:Claude 保留全部核心推理能力,DeepSeek 作为外部工具承担重复性任务,在不损失核心开发能力的前提下,将整体 API 成本降低约 55%(CRUD 密集型任务降幅更大)。
二、核心概念讲解:API vs MCP
API(应用程序编程接口)
API 是一种通用的标准化跨系统通信协议。在大模型领域,API 的典型用法是:客户端向模型服务商发请求 → 服务商执行推理 → 返回结果。整个过程中客户端不参与任何推理逻辑,仅作为输入输出的交互界面。
MCP(模型上下文协议)
MCP 是 Anthropic 于 2024 年 11 月专为大模型推出的工具扩展协议。其核心理念是让大模型自主调用外部工具来增强自身能力,而不是替换自身。
与 API 的关键差异:MCP 不是让一个模型替代另一个模型,而是让外部服务成为大模型的“手脚”。大模型仍然是整个流程的主控者,负责决策、规划和判断,仅在需要特定能力时主动调用外部工具。
概念与方案的对应关系
| 方案 | 本质 |
|---|---|
| API 替换方案(CC Switch / 手动改 settings.json) | 用 DeepSeek 完全替代 Claude 的推理。Claude 仅作为前端界面,所有推理由 DeepSeek 独立完成。 |
| MCP 挂载方案(本文方案) | DeepSeek 作为 Claude 的外部工具。Claude 是主控者,仅在需要时主动调用 DeepSeek 完成特定任务。 |
三、两种主流结合方案的核心差异
| 对比维度 | API 替换方案 | MCP 挂载方案(本文) |
|---|---|---|
| 核心推理引擎 | DeepSeek | Claude(主)+ DeepSeek(辅) |
| 是否需 Claude API | 不需要 | 必须(Claude 是主控者) |
| 架构设计/复杂推理 | DeepSeek 完成(能力有降级) | Claude 原生完成(无损) |
| 合规性 | 接口兼容方案,非官方支持 | 基于 Anthropic 公开协议 |
| 国内网络要求 | 无需科学上网 | 必须能访问 Anthropic API |
| 成本节省 | ~90%(Claude API 完全不用) | ~55%(Claude 只做高价值任务) |
四、关键澄清:国内网络环境下的方案有效性
技术原理
MCP 挂载方案的工作流程:
- 用户向 Claude Code 发送请求
- Claude Code 将请求发送至 Anthropic 服务器进行推理 ← 核心步骤
- Claude 判断是否需要调用外部工具
- 如需调用 → 本地 MCP 服务器 → DeepSeek API → 返回结果 → Claude 整合
从流程可以看出:如果第 2 步无法完成(Claude 本身不能联网推理),整个流程在第 2 步就中断了,根本无法到达调用 DeepSeek 的环节。
常见误区
很多用户误以为 MCP 挂载是“把 DeepSeek 的能力加到 Claude 里,让 Claude 变成 DeepSeek”。这是完全错误的理解:
- MCP 是工具扩展,不是模型替换
- 它不会改变 Claude 的推理能力,只是给 Claude 增加了一个可调用的工具
- 没有 Claude 的核心推理能力,这个工具就没有任何存在的意义
五、前置准备
- 安装最新版 Claude Code(桌面端 / 命令行端均可)
- 确保能正常访问 Anthropic API 并拥有可用的 Claude 账号
- 注册 DeepSeek 账号并获取 API 密钥:platform.deepseek.com
- 确保系统已安装 Node.js 18 及以上版本
六、完整部署步骤
deepseek-mcp-server 由社区维护(GitHub: DMontgomery40/deepseek-mcp-server), MIT 协议开源,提供 chat_completion、list_models、get_user_balance 等 6 个工具。 另一个流行选择是 @arikusi/deepseek-mcp-server(支持 reasoning、多轮会话、成本追踪),可按需切换。 两个包均可通过 npx 直接运行,无需手动 clone。6.1 安装 MCP DeepSeek 服务器
在终端执行以下命令全局安装。如果不想全局安装,可跳过此步,配置中直接用 npx -y deepseek-mcp-server:
Windows(PowerShell)
npm install -g deepseek-mcp-servermacOS / Linux
npm install -g deepseek-mcp-server6.2 配置文件编写
编辑 ~/.claude/settings.json(Windows: %USERPROFILE%\.claude\settings.json),添加 mcpServers 块:
{
"mcpServers": {
"deepseek": {
"command": "npx",
"args": ["-y", "deepseek-mcp-server"],
"env": {
"DEEPSEEK_API_KEY": "你的-DeepSeek-API-Key"
}
}
}
}Windows 用户注意
- 如果
npx提示找不到命令,将command改为npx.cmd - 如果仍不生效,检查
.claude.json(项目级)是否覆盖了settings.json(全局)——详见 MCP 配置避坑指南
6.3 验证部署
/mcp使用 DeepSeek 工具生成一个 Python 冒泡排序函数,并解释复杂度首次使用实录:一个完整的对话示例
以下是一次真实会话的简化还原(Claude Opus + DeepSeek V4 Flash):
用户:> 使用 DeepSeek 工具,帮我写一个 TypeScript 的防抖函数 debounce,> 要支持 leading/trailing 选项和 cancel 方法Claude 回应:我先让 DeepSeek 生成这个防抖函数的基础实现。[调用 deepseek → chat_completion]DeepSeek 返回:export function debounce<T extends (...args: any[]) => any>( fn: T, delay: number, options?: { leading?: boolean; trailing?: boolean }): T & { cancel: () => void } { ... }Claude 继续:DeepSeek 给了基础实现。我审查后发现几点需要修正:1. TypeScript 泛型约束可以更严格2. cancel 方法的 this 绑定需要箭头函数3. 建议加 AbortSignal 支持用于现代用法以下是优化后的最终版本:...💡 要点:- Claude 始终在审查和整合 DeepSeek 的输出,不是直接返回- 需要显性写出"使用 DeepSeek 工具",不然 Claude 不会调用- 复杂逻辑(AbortSignal 支持)由 Claude 补充,DeepSeek 做不到成本计算
以下为一次典型开发会话的 Token 分布估算(基于 Claude Opus + DeepSeek V4 Pro 定价):
| 任务类型 | 执行者 | Input Token | Output Token | 费用 (USD) |
|---|---|---|---|---|
| 架构设计、代码审查 | Claude Opus | 20,000 | 3,000 | $0.375 |
| CRUD、测试、文档生成 | DeepSeek V4 Pro | 30,000 | 8,000 | $0.020 |
| 双模型合计 | $0.395 | |||
| 对照:全部 Claude Opus | Claude Opus | 50,000 | 11,000 | $0.885 |
实际节省:($0.885 - $0.395) / $0.885 ≈ 55%。节省幅度取决于任务中可委托给 DeepSeek 的比例——架构密集型会话节省较少,CRUD 密集型会话节省更多。
七、上线使用规范
7.1 ⚠️ 强制显性调用规则
Claude 默认不会主动调用新挂载的工具——这是导致“配置成功但不生效”的最主要原因。所有需要使用 DeepSeek 的请求,需要加入显性调用指令。
| ✅ 正确(会触发 DeepSeek) | ❌ 错误(不会触发) |
|---|---|
使用 DeepSeek 工具生成用户登录接口的代码 | 生成用户登录接口的代码 |
调用 DeepSeek 修复以下代码中的语法错误 | 修复以下代码中的语法错误 |
让 DeepSeek 编写这个组件的单元测试 | 编写这个组件的单元测试 |
7.2 任务分工建议
为实现能力与成本的最优平衡,建议按以下原则分配:
| Claude 原生执行(高价值) | 委托 DeepSeek(低价值) |
|---|---|
| 项目整体架构设计 | 简单函数与类的编写 |
| 复杂业务逻辑拆解 | 重复的 CRUD 操作代码生成 |
| 代码安全审核与性能优化 | 单元测试编写 |
| 跨模块接口设计 | 文档与注释生成 |
| 疑难问题排查与调试 | 代码格式化与重构 |
7.3 最佳实践
- 会话开始时明确分工:“接下来的开发中,所有简单代码生成任务都使用 DeepSeek 工具完成,架构设计和代码审核由你自己执行”
- 复杂功能先设计再实现:让 Claude 给出设计方案 → DeepSeek 根据方案生成具体代码
- DeepSeek 代码必须审核:所有 DeepSeek 生成的代码,先经 Claude 审查后再使用
八、安全与运维规范
- API 密钥管理:密钥存储在环境变量中,禁止硬编码或提交到版本控制系统
- 预算控制:在 DeepSeek 平台设置每日调用预算上限,达到上限自动停止
- 日志管理:开启 Claude Code 调用日志功能,保留完整工具调用记录
- 版本更新:定期更新 MCP 服务器与 Claude Code 版本,获取最新安全修复
- 权限控制:不要将配置好的 Claude Code 实例共享给他人
九、常见问题排查
检查 settings.json 路径是否正确(Windows:
%USERPROFILE%\.claude\settings.json);确认 JSON 语法有效(逗号、括号配对数);npm list -g deepseek-mcp-server 确认包已安装;完全退出并重启 Claude Code。确保请求中包含显性调用指令(如"使用 DeepSeek 工具...")。如果文中已写明但仍不调用,尝试 `/compact` 后重新发送——长会话中早期上下文会压制新工具触发。
确保 Node.js 已安装(
node --version);检查 Node.js 是否在 PATH 中(重启终端);配置文件中的 command 用 npx.cmd 代替 npx。检查 API Key 是否完整(DeepSeek 控制台 → API Keys → 复制);确认 Key 未过期、未在控制台被撤销;检查 DeepSeek 账户余额是否充足(
get_user_balance 工具可查询)。DeepSeek V4 系列支持最长 384K 输出,但默认
max_tokens 可能较低。在 MCP 配置的 env 中加 DEEPSEEK_DEFAULT_MODEL 指定模型。这是 MCP 配置的常见问题——backups 缓存或
.claude.json 项目级配置覆盖了你的 settings.json。 详见 MCP 配置避坑指南(第三节:备份缓存、第四节:诊断命令)。十、总结
本方案基于 Anthropic 官方 MCP 协议实现,是目前能正常使用 Claude API 的用户兼顾能力与成本的最优选择。与 API 替换方案相比:
- 保留了 Claude Code 的全部核心推理能力(架构设计、代码审核、复杂调试)
- 将重复性代码任务委托给 DeepSeek,大幅降低 API 成本(约 55%)
- 基于官方协议,不存在合规风险,不担心被封禁
- Claude 始终是主控者,DeepSeek 生成的代码经过 Claude 审核后才使用
时效性说明
⚠️ 以上信息可能已过时,请以各平台官方网站的最新公告和定价页面为准。本文基于 Claude Code v2.x + DeepSeek API 验证,写作日期 2026-06-12。