【免费下载链接】whip
A fast coding-agent harness in Go. Tool-use loop, bubbletea TUI, provider-routable models with live catalog discovery, MCP support, background subagents. One binary, no runtime, built for open-source models.
WhipCode(whip)是一个用 Go 编写的快速编码代理(coding-agent harness),单二进制、无运行时依赖,内置工具调用循环、bubbletea 终端界面、可路由多模型与后台子代理。它的MCP 支持是扩展能力的核心:既能从 5 种来源接入外部 MCP 服务器(whipcode 原生配置、项目.mcp.json、claude 全局配置、codex 配置、OpenCode 配置),也能用一条whipcode mcp serve把 WhipCode 自己的文件读写、shell 等工具反向输出给其他 AI 工具调用。本文用最少代码带你跑通全流程。
为什么要在编码代理里接 MCP?
MCP(Model Context Protocol)让模型安全地调用外部工具:查数据库、调内部 API、读 Figma 设计稿……接上 MCP 服务器后,WhipCode 的代理(包括它派生的后台子代理)就能直接mcp.call这些工具,而不必为每个场景写插件。
关键特性一览:
- 📡5 种配置来源自动合并,按项目 > codex > claude > opencode 的优先级解析,whipcode 自己的配置始终最高优先
- 🛡️信任边界清晰:只有写入 whipcode 原生配置的服务器才被信任,导入来源的服务器每次调用需授权
- 🔌双向打通:既能消费别人的工具,也能用
mcp serve把自己的工具变成 MCP 服务器 - 🩺内置诊断命令
whipcode mcp test,连接耗时、工具清单、失败原因一次看清
源码入口:cmd/whip/mcp.go(CLI 子命令)与 internal/mcp/(发现、合并、导入、serve 实现)。
安装 WhipCode:一条命令得到完整 MCP 能力
MCP 功能内置于 WhipCode,无需额外安装组件。终端用户可在 macOS / Linux 上通过官方安装脚本获取 CLI(源码仓库可浏览 internal/mcp/manager.go 了解连接管理实现):
git clone https://gitcode.com/gh_mirrors/whip3/whip桌面端则下载 Desktop Beta 后自带对应后端。装好后,whipcode mcp子命令即全部可用:
whipcode mcp <list|add|remove|import|serve|test>查看现状:whipcode mcp list 一眼看清所有来源
whipcode mcp list输出会按名称列出所有来源合并后的服务器,四列信息:名称、状态(enabled / disabled / blocked)、目标(命令或 URL)、以及它来自哪个配置文件。例如:
docs enabled npx -y @modelcontextprotocol/server-… .mcp.json config github-api blocked https://mcp.example.com/gh codex config mytools enabled my-mcp-server --port 8787 whipcode config这正是 5 种来源自动合并的直观体现——你不需要手工维护一份总表。若某来源文件解析失败,错误会单独打印到 stderr,不影响其他来源。
5 种 MCP 服务器接入来源详解
WhipCode 的 MCP 发现机制(实现见 internal/mcp/config.go)兼容主流编码代理的格式,以下是全部 5 种来源及其优先级(低 → 高):
| 优先级 | 来源 | 配置文件位置 | 说明 |
|---|---|---|---|
| 5 | OpenCode | ~/.config/opencode/下配置文件 | 用户级 OpenCode 配置 |
| 4 | claude 全局 | ~/.claude.json | 用户级 claude 配置中的mcpServers |
| 3 | codex | ~/.codex/config.toml | [mcp_servers]段 |
| 2 | 项目 | 项目根目录.mcp.json | claude 项目级约定,默认关闭,需在mcpImport中启用 |
| 1 | whipcode 原生 | ~/.whipcode/config.json | 信任根,优先级最高 |
同名服务器按上表顺序"后来者覆盖先来的",但whipcode 原生配置中的同名条目永远获胜,其他来源的会被标记而非覆盖。
来源一:whipcode 原生配置(推荐长期使用)
原生条目视为"手写信任",无需每次授权。用add/remove管理(实现见 cmd/whip/mcp.go#L91-L143):
# 注册 stdio 服务器(本地命令) whipcode mcp add docs -- npx -y @modelcontextprotocol/server-everything # 注册远程服务器(streamable HTTP) whipcode mcp add mytools --url http://127.0.0.1:8787/mcp # 删除 whipcode mcp remove mytoolsadd会做参数校验并原子写入配置,提示"下次启动生效"。
来源二至五:导入 claude / codex / OpenCode / 项目配置
如果你已经在用 claude、codex 或 OpenCode,无需复制粘贴:WhipCode 启动时自动读取这些文件并把服务器合并进来。它们保留出处标记(provenance),每次工具调用需要你的同意或已保存的允许规则——这是刻意的安全设计,详见后文。
想把这些导入的服务器"转正",用 import(实现见 internal/mcp/import.go):
whipcode mcp import --dry-run # 先预览将写入的 JSONC 片段 whipcode mcp import # 确认后写入 ~/.whipcode/config.json导入是幂等的:已存在的条目绝不触碰;被mcpImport策略排除的条目不会导入。项目级.mcp.json属于"自带来源的导入源",默认不启用,可通过配置打开:
{ "mcpImport": { "codex": { "enabled": true, "exclude": ["node_repl"] } } }Web / 桌面端提供图形化导入界面,与 CLI 共用同一套候选与写入逻辑(前端代码见 packages/app/src/mcp-import.tsx)。
验证连接:whipcode mcp test 是你的"医生"命令
whipcode mcp test docs它会真实连接一次服务器并报告:状态、连接耗时、发现的工具数量与名称;失败时给出错误摘要、来源文件和 stderr 尾部(实现见 cmd/whip/mcp.go#L220-L259)。服务器不可用时以非零码退出,因此可以放进 CI,在发布前校验仓库里的.mcp.json。
反向输出:whipcode mcp serve 把你的工具借给整个生态
WhipCode 的 MCP 集成是双向的(实现见 internal/mcp/serve.go):
whipcode mcp serve这条命令把 WhipCode 内置的工具(读文件、写文件、shell 等)作为标准 MCP 服务器通过 stdio 暴露出去。任何支持 MCP 的宿主——其他代理、IDE、脚本——把它注册进自己的.mcp.json即可驱动:
{ "mcpServers": { "whip": { "command": "whipcode", "args": ["mcp", "serve"] } } }它的安全模型同样克制:这是一个协议桥,直接托管 daemon 的工具服务而不创建新的模型代理;它不能获取新的授权——只有已被保存规则覆盖的操作会执行,其余一律拒绝,外层客户端的批准也不会被当作 WhipCode 的同意(设计说明见 docs/tools.md)。
信任与授权:导入的服务器为什么每次都要问?
- 原生配置 = 信任根:写入
~/.whipcode/config.json的服务器视同手写,调用免询问 - 导入来源 = 保留出处:来自
.mcp.json/ claude / codex / OpenCode 的服务器,每次调用需授权或命中已保存的允许规则 - import 是唯一转正路径:
whipcode mcp import把条目写为原生后,才从此免逐次同意 - 显式的权限拒绝与已撤销的授权永远优先;headless 执行要么预授权要么直接拒绝,绝不等待人工点按
更多授权细节见 docs/tools.md。
常用命令速查表
| 命令 | 作用 |
|---|---|
whipcode mcp list | 合并视图:所有来源、状态、出处 |
whipcode mcp add <name> -- <cmd...> | 注册 stdio 服务器 |
whipcode mcp add <name> --url <url> | 注册远程 HTTP 服务器 |
whipcode mcp remove <name> | 删除原生条目(导入条目会提示改源文件) |
whipcode mcp test <name> | 连接诊断:耗时、工具清单、失败原因 |
whipcode mcp import [--dry-run] | 把导入来源的服务器转正为原生 |
whipcode mcp serve | 把 WhipCode 自身工具作为 MCP 服务器输出 |
掌握这 7 条命令,加上对 5 种来源优先级的理解,你就完整掌握了 WhipCode 的 MCP 体系:从"接入外部工具"到"输出自己的工具",一个二进制,两个方向。
【免费下载链接】whip
A fast coding-agent harness in Go. Tool-use loop, bubbletea TUI, provider-routable models with live catalog discovery, MCP support, background subagents. One binary, no runtime, built for open-source models.
相关推荐
Open Interpreter MCP 的第三种传输:codex-stdio-to-uds 用 UNIX 域套接字接入 MCP 服务器
Open Interpreter MCP 的第三种传输:codex stdio to uds 用 UNIX 域套接字接入 MCP 服务器 本文解析 Open I
人工智能大模型AI Agent代码智能体AI 应用CLIPydantic AI 与 MCP:从 MCP 客户端到 MCP 服务器的完整接入指南
Pydantic AI 与 MCP:从 MCP 客户端到 MCP 服务器的完整接入指南 Pydantic AI 对 Model Context Protocol
人工智能大模型AI Agent工具调用MCP ClientsTeleport MCP Access 零信任接入指南:为 AI 工具安全暴露 MCP 服务器
Teleport MCP Access 零信任接入指南:为 AI 工具安全暴露 MCP 服务器 导读 Teleport 在 18.1 版本中落地了 RFD 02
网络安全认证鉴权运维后端
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考