Vibe Check MCP
在复杂或高风险操作前打断惯性推理,让 AI 智能体重新审视计划与风险。
- Star 数
- ★ 504
- 最近更新
- 2 个月前
- License
- MIT
- 主语言
- TypeScript
- FA 评分
- 81/100 · 表现良好
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Claude.ai · OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 使用 Cursor、Windsurf 或 Claude Desktop 编程的开发者,希望智能体在大型重构、依赖升级或不可逆修改前先检查假设和最小可行路径。
- 不适合
- 期望持续新功能开发的团队,项目已进入维护模式
- 在非回环主机名上部署 HTTP 服务却不愿配置 MCP_ALLOWED_HOSTS 的团队
- 源码审查
- 81/100 · 表现良好
这个 Agent 能做什么,适合哪些场景?
Vibe Check MCP 是一个自托管的 MCP 服务器,通过外部“元导师”模型审查主智能体的目标、计划和风险。它提供 vibe_check 反思工具、可选的 vibe_learn 经验记录工具,以及用于维护会话规则的三项 constitution 工具。服务器可以通过 STDIO 由 MCP 客户端启动,也能以流式 HTTP 服务运行,并通过 /mcp 接收 JSON-RPC 请求。其反馈由 Gemini、OpenAI、OpenRouter 或 Anthropic 提供商生成;传入 sessionId 时还会汇总既往建议以保持上下文连续性。项目目前处于维护模式,最新维护版本为 v2.9.0,只计划发布安全和缺陷修复,因此适合重视稳定性与可自行维护能力的团队,而不适合期待持续新增功能的采用者。
主智能体把完整用户请求、当前目标和计划提交给 vibe_check;服务器调用配置的第二个模型,生成用于质疑假设、暴露不确定性并阻止推理锁定的反馈。CPI 层可在高风险节点触发短暂中断,再让智能体反思并调整方案。提供 sessionId 时,服务会汇总同一会话中的历史建议;问题解决后,可选择调用 vibe_learn 记录错误、偏好和修复经验。update_constitution({ sessionId, rules }) 用于合并或设置会话规则,check_constitution({ sessionId }) 返回当前有效规则,reset_constitution({ sessionId }) 则清除规则。服务支持 STDIO 和 HTTP 两种传输方式;HTTP 模式提供 /healthz 健康检查和 /mcp JSON-RPC 端点,并应用 CORS、Host 校验及请求体大小限制。
- 使用 Cursor、Windsurf 或 Claude Desktop 编程的开发者,希望智能体在大型重构、依赖升级或不可逆修改前先检查假设和最小可行路径。
- 处理需求含糊任务的团队,希望由第二个模型审视主智能体是否误解目标、过早锁定方案或引入无依据的复杂度。
- 运行长周期自动化工作流的工程团队,需要通过
sessionId延续建议,并用 constitution 规则约束网络访问、测试顺序或秘密写盘等行为。 - 执行高风险操作的智能体开发者,希望在风险上升时引入 CPI 中断,减少错误计划连续扩大的机会。
- 需要在 Gemini、OpenAI、OpenRouter 和 Anthropic 之间选择或切换反馈模型,同时保留统一 MCP 接口的自托管团队。
如何安装或部署这个 Agent?
需要 Node.js 20 或更高版本。最短路径是不进行本地安装,直接让 MCP 客户端通过 npx 启动:
npx -y @pv-bhat/vibe-check-mcp start --stdio在 MCP 客户端配置中加入:
{
"mcpServers": {
"vibe-check-mcp": {
"command": "npx",
"args": ["-y", "@pv-bhat/vibe-check-mcp", "start", "--stdio"]
}
}
}至少配置一个计划使用的模型提供商密钥;默认提供商为 Gemini:
GEMINI_API_KEY=your_gemini_api_key
OPENAI_API_KEY=your_openai_api_key
OPENROUTER_API_KEY=your_openrouter_api_key
ANTHROPIC_API_KEY=your_anthropic_api_key
DEFAULT_LLM_PROVIDER=gemini如需从源码开发和测试:
git clone https://github.com/PV-Bhat/vibe-check-mcp-server.git
cd vibe-check-mcp-server
npm ci
npm run build
npm test仓库也提供 Docker 辅助安装脚本:
bash scripts/docker-setup.sh如何使用这个 Agent?
STDIO 模式适合由 Claude Desktop、Cursor、Windsurf 等 MCP 客户端管理。连接后,应在智能体系统提示中要求它在完成规划后、重大操作前调用 vibe_check,并传入完整请求和当前计划;解决问题后可选用 vibe_learn 留下经验。
若要手动检查 HTTP 服务,可运行:
npx -y @pv-bhat/vibe-check-mcp start --http --port 2091然后检查健康状态:
curl http://127.0.0.1:2091/healthzJSON-RPC 请求发送至:
http://127.0.0.1:2091/mcp可以在单次调用中覆盖模型提供商与模型:
{
"goal": "...",
"plan": "...",
"modelOverride": {
"provider": "anthropic",
"model": "claude-opus-5"
}
}通过非回环主机、Docker 或反向代理部署 HTTP 服务时,必须设置 MCP_ALLOWED_HOSTS 为实际主机名,否则请求会返回 HTTP 403;还可用 CORS_ORIGIN 和 MCP_MAX_BODY_SIZE 调整浏览器来源白名单与 JSON 请求体上限。
这个 Agent 有哪些优点和局限?
- 不是单纯增加提示词,而是通过独立 MCP 工具和第二个模型在关键节点审查主智能体的计划。
- 同时支持 STDIO 与流式 HTTP,可用于桌面 MCP 客户端、本地进程和自托管服务。
- 提供 Gemini、OpenAI、OpenRouter 和 Anthropic 多提供商路径,并允许每次调用使用
modelOverride。 - constitution API 能按
sessionId设置、检查和清除明确规则,历史建议也可在会话内汇总。 - HTTP 模式默认限制回环来源和 Host,并明确实施 JSON 请求体大小限制。
- 项目已进入维护模式,不再进行主动功能开发;路线图中的结构化输出、完整重试机制和输入清理仍是未来设想。
- 每次审查需要调用第二个模型,会增加网络依赖、提供商费用和工作流延迟。
- 运行时要求 Node.js 20 或更高版本,并需要至少一个受支持提供商的 API 密钥。
- 采用效果依赖主智能体被明确提示在正确节点调用
vibe_check,并非自动覆盖所有操作。 - HTTP v2.9.0 的 Host 校验可能影响现有 Docker、代理或远程部署,升级时需要配置
MCP_ALLOWED_HOSTS。
这个 Agent 与同类方案有什么区别?
与只依靠主智能体自我反思相比,Vibe Check MCP 会调用第二个模型提供外部元认知反馈。与单一提供商集成相比,它在同一个 MCP 服务中支持 Gemini、OpenAI、OpenRouter 和 Anthropic。STDIO 更适合由 Claude Desktop、Cursor 或 Windsurf 直接拉起进程;HTTP 模式则提供固定端点,但需要额外处理 Host、CORS 和端口配置。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Vibe Check MCP 当前 | 81 · 表现良好 | MCP 服务器免费 + 模型费 | ★ 504 | 2 个月前 | TypeScript | Claude.ai · OpenAI API · Claude API |
| Concierge AI | 45 · 缺口较多 | 代码库 / SDK | ★ 527 | 5 个月前 | Python | — |
| Kun 工作台 | 49 · 缺口较多 | 桌面应用免费 + 模型费 | ★ 6.4k | 5 天前 | TypeScript | ChatGPT · Codex · OpenAI API · Claude API |
| Vix | 43 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 283 | 1 个月前 | Go | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据将能力限制为建议、会话规则和专用学习日志;安全文档明确说明不会执行命令或读取任意文件,HTTP 默认仅允许回环来源和主机,并设置请求体上限。向第三方 LLM 转发提示、日志位置、配置写入和网络暴露均有清楚说明;安装器采用原子写入、0600 权限、托管标记及备份,并有测试佐证回滚行为。依赖审计、CI 安全检查和 Hono 覆盖修复说明较完整,且诚实披露覆盖规则不会传递给下游包。扣分在于没有展示每次外传、写日志或修改客户端配置前的明确用户确认机制;敏感数据主要依赖“不要发送”的指导和可选禁用设置,路线图还承认输入清理尚未完成。作者、仓库、论文和许可证归属清楚;发布者注册身份未知本身不作负面推断。
README、包清单、CI 和测试对 Node 20、版本号、传输方式及安装行为大体一致,并展示了节点版本不足、无效配置和非托管条目冲突等可理解的错误信息。扣分是未提供锁文件、完整实现或实际运行结果,无法静态确认所有提供商和依赖的可用性;只有 Gemini 描述了一次降级重试。研究成效的“减少 41%”与后文约 83% 到 42% 的表述存在百分比和百分点混用,且“完全可用”等断言缺少本材料中的运行证据。
目标用户和适用场景定义明确,覆盖编码、模糊任务、高风险任务及长流程。文档清楚界定五个工具、不会执行代码、无内置 HTTP 身份验证、维护模式及尚未实现的输入清理和结构化输出。触发建议具体到规划后、重大或不可逆动作前,并给出约 10–20% 的中断剂量。Node 版本、环境变量、模型覆盖、stdio/HTTP、Docker,以及 Claude、Cursor、Windsurf、VS Code 和多操作系统配置路径均有详细适配说明,因此这些项目获得满分。
README 具有目录、快速开始、配置表、安全说明、工具选择和文档索引;安装命令、运行要求、客户端差异和卸载步骤充分。包名、MCP 名称、工具名及 2.9.0 版本在所给材料中稳定,MIT 正文与元数据一致。限制披露尤其具体,包括维护模式、无认证、提示注入风险、网络暴露和依赖覆盖范围。扣分是目录列出 Usage Examples 和 FAQ,但所给 README 未呈现对应完整章节;变更日志仅被引用而未提供,发布流程也只展示按标签生成说明。维护者虽具名且给出问题渠道,但项目已停止功能开发,安全报告所称的 package.json 邮箱在所给清单中并未出现。
该产品提供独立的第二模型审视、会话规则和可选经验记录,相比普通单代理流程具有明确的潜在增量价值,且给出了研究样本和效果主张。安装较轻量,并提出控制中断频率,但每次检查会引入额外模型调用,材料没有量化延迟、令牌或费用。主要扣分在输出可用性:路线图明确表示结构化输出仍未实现,目前核心建议似乎是非结构化文本,难以供下游代理稳定解析;论文与效果数据也未包含在源文件中供本次静态核验。
版本、依赖、安全控制、CI 命令和配置写入行为可在 README、SECURITY、package.json、工作流及测试之间交叉印证,尤其是原子写入、备份、权限和冲突处理。扣分是研究论文、架构文档、变更日志、审计输出和完整源实现均未提供,因此成效、模型兼容性、“审计干净”和运行期安全声明只能部分追溯。路线图能区分未来工作,但营销性的“企业就绪”“完全可用”和受信任表述未与可核验事实充分分离。
- 该服务会把完整用户请求及相关上下文发送给所配置的第三方 LLM;不要传入密钥、个人资料、专有代码或其他敏感信息,除非相应提供商和数据政策已获批准。
- HTTP 模式没有内置身份验证。若非仅绑定本机回环地址,应置于带身份验证的代理之后,并明确配置 MCP_ALLOWED_HOSTS 和 CORS_ORIGIN;不要使用通配符暴露到不可信网络。
- vibe_learn 会写入 ~/.vibe-check/vibe-log.json;部署前应确认禁用方式、保留期限、文件权限和清理流程。
- 下游安装该 npm 包时,仓库级 @hono/node-server override 不会自动生效;消费者需自行固定修复版本并审计实际依赖树。
- 核心反馈尚非结构化输出,且输入清理仍列在路线图中;不要把建议直接作为不可逆操作的自动授权,应由调用方实施验证和审批。
- 项目处于维护模式,只保证最新版本接收安全更新;采用前应规划依赖升级、模型名称变更及可能的社区接管路径。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
What's Changed * Fix CLI entrypoint detection via symlinks by @PV-Bhat in https://github.com/PV-Bhat/vibe-check-mcp-server/pull/77 * Bump version from 2.7.5 to 2.7.6 by @PV-Bhat in https://github.com/PV-Bhat/vibe-check-mcp-server/pull/78 * Stop integration tests from requiring a real Gemini key by @PV-Bhat in https://github.com/PV-Bhat/vibe-check-mcp-server/pull/79 Full Changelog: https://github.com/PV-Bhat/vibe-check-mcp-server/compare/v2.7.5...v2.7.6在 GitHub 查看 ↗ -
发布说明摘录
What's Changed * Bump version to 2.7.4 and update changelog by @PV-Bhat in https://github.com/PV-Bhat/vibe-check-mcp-server/pull/69 * Fix: Correct ensureEnv missing keys handling and invalid key prompting by @croakingtoad in https://github.com/PV-Bhat/vibe-check-mcp-server/pull/57 * Improve JSON-RPC compat shim and HTTP fallback by @PV-Bhat in https://github.com/PV-Bhat/vibe-check-mcp-server/pull/64 * Add Anthropic provider integration by @PV-Bhat in https://github.com/PV-Bhat/vibe-check-mcp-server/pull/65 …在 GitHub 查看 ↗ -
发布说明摘录
What's Changed * Refresh README metrics, recognition, and community roadmap by @PV-Bhat in https://github.com/PV-Bhat/vibe-check-mcp-server/pull/48 * feat: enforce Anthropic key prompts and document smithery CLI by @PV-Bhat in https://github.com/PV-Bhat/vibe-check-mcp-server/pull/51 * Add integration coverage for HTTP server and storage utilities by @PV-Bhat in https://github.com/PV-Bhat/vibe-check-mcp-server/pull/52 * Fix CLI root command option handling by @PV-Bhat in https://github.com/PV-Bhat/vibe-check-mcp-server/pull/53 …在 GitHub 查看 ↗
常见问题
使用它是否会产生额外模型费用?
vibe_check 通过配置的第二个模型生成反馈,因此会消耗相应 Gemini、OpenAI、OpenRouter 或 Anthropic 账户的调用额度;来源没有提供具体价格。必须使用 Gemini 吗?
modelOverride。模型调用失败时会怎样?
gemini-3.5-flash-lite,随后回退到静态问题。面向所有提供商的指数退避重试仍列在路线图中。可以部署到远程服务器吗?
localhost、127.0.0.1 和 ::1。远程、Docker 或反向代理部署必须显式设置 MCP_ALLOWED_HOSTS,并按需配置 CORS_ORIGIN。它会自动阻止所有危险操作吗?
vibe_check;其保护范围取决于工作流集成和调用策略。