DS Claude Haha MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DS Claude Haha MCPUse deepseek_run to fix the failing test in src/utils.js and run tests."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DS Claude Haha MCP
English | 简体中文
让一个主 Agent 负责规划,再把编码任务自动交给 Claude Code Haha Desktop 中配置的另一个模型执行。
典型用法:
Codex + GPT-5.6 Sol(规划、决策、代码指导)
-> MCP: deepseek_run
Claude Code Haha Desktop + DeepSeek Flash(修改代码、运行测试)
-> 完整结果、工具事件、文件变更审计
Codex + Sol(向用户汇报)这不是 API 网关,也不需要安装官方 Claude CLI。执行模型的 API 地址和 Key 仍由 Haha Desktop 管理,MCP 不读取、不保存、不转发 Key。
能力边界
角色 | 当前支持范围 |
主 Agent A | 任意支持本地 stdio MCP 的 Agent,例如 Codex、Claude Haha、Claude Code、Cursor 等 |
执行 Agent B | 当前专门适配 Claude Code Haha Desktop 的本地 REST/WebSocket 会话接口 |
执行模型 | Haha Provider 中已经配置并可用的模型,例如 |
共享内容 | 同一个项目目录中的磁盘文件,以及主 Agent 传给 MCP 的任务计划 |
不会共享 | 主 Agent 的隐藏思考、完整聊天历史和未写入磁盘的状态 |
因此,它实现的是“不同主 Agent -> Haha 执行 Agent”的通用桥,而不是无需适配就能连接任意两个 Agent 软件。扩展其他执行 Agent 需要为其会话、模型选择和事件流实现新的适配器。
Related MCP server: mcp-relay
工作流程
flowchart LR
U[用户的一次输入] --> A[主 Agent A]
A -->|规划 + deepseek_run| M[DS Claude Haha MCP]
M -->|创建同目录会话| H[Claude Code Haha Desktop]
H --> B[执行模型 B]
B -->|修改文件 / 运行测试| W[项目工作区]
B -->|最终回答 + 工具事件| M
M -->|变更审计 + 结果| A
A --> U主 Agent 和执行模型必须使用同一个项目根目录。例如:
主 Agent 项目目录: D:\Projects\MyApp
deepseek_run.workdir: D:\Projects\MyApp
Haha 后台会话目录: D:\Projects\MyApp不要把整个 D:\ 当项目目录。建议把 DS_WORKER_ALLOWED_ROOTS 限制到代码目录或具体项目。
功能
自动探测 Haha Desktop 本地端口
6771和3456安全列出 Haha Provider ID 与模型名
创建独立 Haha 后台会话并选择指定 Provider/模型
同步执行或异步启动、查询、等待、取消
返回完整最终回答、紧凑进度、工具调用和工具结果预览
Git 仓库执行前后文件哈希审计
allowedFiles越界修改警告DS_WORKER_ALLOWED_ROOTS工作目录白名单对回答、错误和嵌套工具结果递归脱敏
仅允许连接 loopback 地址,不接受 Key、Base URL、请求头或任意环境变量作为工具参数
前提
Windows 上已安装并启动 Claude Code Haha。
已在 Haha 中配置执行模型的 Provider,并能正常对话。
Node.js 20 或更高版本。
主 Agent 支持本地 stdio MCP。
安装
git clone https://github.com/OPFIMISS/DS-Claude-haha-MCP.git
cd DS-Claude-haha-MCP
npm install
npm run build构建入口为:
<仓库目录>\dist\index.jsCodex 接入 Claude Haha
编辑用户级 ~/.codex/config.toml,或可信项目中的 .codex/config.toml:
[mcp_servers.ds-worker]
command = "node"
args = ['D:\DS-Claude-haha-MCP\dist\index.js']
tool_timeout_sec = 1800
[mcp_servers.ds-worker.env]
HAHA_SERVER_URL = "http://127.0.0.1:6771"
DS_WORKER_MODEL_ID = "deepseek-v4-flash"
DS_WORKER_ALLOWED_ROOTS = 'D:\Projects'
DS_WORKER_PERMISSION_MODE = "acceptEdits"重启 Codex 后,让主模型先调用 deepseek_profiles。确认能看到 Haha 中的 Provider 与 deepseek-v4-flash,再运行一个只返回固定文本的小任务。
Codex 的 MCP 配置规则以 OpenAI 官方文档 为准。
Claude Haha 作为主 Agent
在项目根目录创建 .mcp.json:
{
"mcpServers": {
"ds-worker": {
"type": "stdio",
"command": "node",
"args": ["D:\\DS-Claude-haha-MCP\\dist\\index.js"],
"env": {
"HAHA_SERVER_URL": "http://127.0.0.1:6771",
"DS_WORKER_MODEL_ID": "deepseek-v4-flash",
"DS_WORKER_ALLOWED_ROOTS": "D:\\Projects",
"DS_WORKER_PERMISSION_MODE": "acceptEdits"
}
}
}
}重新打开项目或刷新 MCP。此时可让 Haha 当前对话中的主模型调用工具,在后台新建另一个 Haha 会话运行执行模型。
不要把包含真实 Key 的展开后配置提交到 Git。这个 MCP 本身不需要 Key。
其他主 Agent 接入
任何支持 stdio MCP 的宿主都使用同一个进程定义:
{
"command": "node",
"args": ["D:\\DS-Claude-haha-MCP\\dist\\index.js"],
"env": {
"HAHA_SERVER_URL": "http://127.0.0.1:6771",
"DS_WORKER_MODEL_ID": "deepseek-v4-flash",
"DS_WORKER_ALLOWED_ROOTS": "D:\\Projects"
}
}不同宿主可能使用 JSON、TOML、图形界面或命令行保存这三个字段。不要直接照抄不属于该宿主的配置外壳;以宿主自己的 MCP 文档为准。
完整的角色划分、项目指令和适配器说明见:不同 Agent 接入不同 Agent。
让主 Agent 自动调用
MCP 是工具,不会拦截用户消息。要接近“一次输入,自动 A -> B”,请在项目的 AGENTS.md、CLAUDE.md 或宿主项目规则中加入:
## Background implementation worker
你是主策划模型。凡是涉及修改代码、创建或删除文件、运行命令或测试的任务:
1. 先分析需求并形成完整实施方案。
2. 必须调用 ds-worker 的 deepseek_run,把 objective、当前项目根目录 workdir、约束、相关文件、allowedFiles 和验收命令交给执行模型。
3. 等待执行模型完成后,检查 finalResponse、changedFiles、warnings 和测试结果。
4. 执行模型工作期间不要同时修改同一批文件。
5. 纯问答、纯分析或用户明确要求你亲自实现时可以不调用。项目规则能显著提高自动调用概率,但最终是否调用工具仍由主 Agent 判断。百分之百硬触发需要在宿主外增加消息编排层,不属于本项目范围。
MCP 工具
工具 | 作用 |
| 脱敏列出 Haha Provider 和模型 |
| 同步完成创建会话、执行、等待和审计 |
| 异步启动任务 |
| 查询状态和增量事件 |
| 长轮询等待新事件或任务结束 |
| 向 Haha 发送 |
工具名沿用 deepseek_*,但模型可通过 modelId 指定 Haha Provider 中的其他可用模型。
环境变量
变量 | 默认值 | 说明 |
| 自动探测 | 只能是 loopback HTTP 地址 |
| 匹配当前激活 Provider | 可用 |
|
| 默认执行模型 |
|
| 可选 |
| 空 | 分号分隔的绝对目录白名单,强烈建议设置 |
|
| 单任务默认超时 |
|
| 调用方可请求的最大超时 |
安全说明
acceptEdits是默认值;需要额外权限时会拒绝并返回警告。bypassPermissions适合完全信任的仓库,相当于允许执行 Agent 直接操作项目。allowedFiles是事后审计,不是沙箱。硬边界应使用DS_WORKER_ALLOWED_ROOTS、独立工作树、容器或受限账户。非 Git 目录无法做完整文件变化审计,会返回明确警告。
工具结果超过 12,000 字符时只返回脱敏预览,完整最终回答仍会返回。
本项目只使用 Haha 的
/api/*与/ws/<session-id>,不调用内部/sdk/*。Haha 的本地协议可能随版本变化;升级 Haha 后请先运行测试任务。
开发与验证
npm run typecheck
npm test
npm run build当前测试覆盖 Provider/模型选择、完整执行、立即取消、运行中取消、工作目录白名单和递归密钥脱敏。
License
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseBqualityDmaintenanceBridges Claude Desktop with Claude Code CLI to delegate complex coding tasks like creating React apps, building APIs, and debugging scripts while maintaining interaction through the Desktop interface.51
- Alicense-qualityDmaintenanceConnects Claude Desktop and Claude Code, enabling autonomous exchange of messages, files, and code while keeping their context windows separate.4MIT
- Flicense-qualityCmaintenanceEnables Claude to delegate coding tasks to a worker CLI, handling actual code modifications and command execution while Claude supervises and verifies results.
- AlicenseAqualityBmaintenanceBridges MCP (Claude Code) to ACP (Devin), enabling Claude Code to delegate autonomous tasks to Devin with permission and filesystem sandbox controls.2MIT
Related MCP Connectors
Cross-agent artifact workspace with provenance across Claude Code, Codex, Cursor, LangGraph.
The team layer for AI coding agents: shared contracts, collision alerts, E2EE sessions.
Connect agents to 6DuckLearn memory, approvals, and runtime control.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/OPFIMISS/DS-Claude-haha-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server