☰
WhipCode MCP完全指南:5种来源接入MCP服务器,还能用mcp serve反向输出自己的工具
2026/10/15 15:43:29 网站建设 项目流程

【免费下载链接】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.

项目地址:https://gitcode.com/gh_mirrors/whip3/whip
点击查看免费下载

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 种来源及其优先级(低 → 高):

优先级来源配置文件位置说明
5OpenCode~/.config/opencode/下配置文件用户级 OpenCode 配置
4claude 全局~/.claude.json用户级 claude 配置中的mcpServers
3codex~/.codex/config.toml[mcp_servers]段
2项目项目根目录.mcp.jsonclaude 项目级约定,默认关闭,需在mcpImport中启用
1whipcode 原生~/.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 mytools

add会做参数校验并原子写入配置,提示"下次启动生效"。

来源二至五:导入 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.

项目地址:https://gitcode.com/gh_mirrors/whip3/whip
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询