mcpField
🧠
🧠 Vibe Check MCP

🧠 Vibe Check MCP

本地服务
pruthvibhat.comAI 与智能体50210 周前更新

关于 🧠 Vibe Check MCP

Vibe Check MCP 是一个 MCP 服务,为 AI Agent 提供类似导师的反馈,帮助其避免过度设计和推理锁定。项目已进入维护模式,仅发布安全与缺陷修复。

主要功能

  1. 01CPI 自适应中断提示,质疑既有假设
  2. 02支持多个 LLM 提供商与模型
  3. 03通过 sessionId 汇总先前建议
  4. 04可选的 vibe_learn 记录错误与修复
  5. 05按会话设置约束规则(constitution)

适用场景

  1. 01在不可逆操作前让 Agent 进行自我检查
  2. 02为编码 Agent 限制过度设计并保持最小可行方案
  3. 03在歧义或高风险任务中加入额外审阅

MCP 相关

Vibe Check 以 MCP 服务形式运行,向 MCP 客户端暴露用于元认知反馈和会话规则的工具,如 vibe_check 与 update_constitution。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"vibe-check": {
"command": "npx",
"args": [
"-y",
"@pv-bhat/vibe-check-mcp"
],
"env": {
"YOUR_API_KEY": "<YOUR_API_KEY>"
}
}
}
}
启动命令npx -y @pv-bhat/vibe-check-mcp
需要配置的环境变量
YOUR_API_KEY密钥Your API key for the service

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@pv-bhat/vibe-check-mcp2.5.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Vibe Check MCP

此项目处于维护模式。 主动功能开发已结束;仅发布维护补丁(安全和错误修复)。v2.9.0 是最新维护版本。服务仍可正常运行。欢迎社区分支和贡献,遵循 MIT 许可证。

告别过度积极的 Agent。即插即用的 Agent 监督工具。

基于研究:
在我们的研究中,调用 Vibe Check 的 Agent 成功率提高了 +27%,有害操作减少了一半(-41%)

CPI 研究 Anthropic MCP:已收录 MCP 注册表 PulseMCP:最受欢迎(本周) CI 正常通过 MIT 许可证

入选 PulseMCP“本周最受欢迎” • Smithery.ai 每月 5k+ 次调用 • 有研究支持的监督 • STDIO + 可流式传输的 HTTP 传输

Gemini_Generated_Image_kvdvp4kvdvp4kvdv

Version Trust Score PRs Welcome

即插即用的导师层,可阻止 Agent 过度设计,并引导其遵循最小可行路径——有研究支持的 MCP 服务,帮助大模型保持对齐、善于反思且安全。

GitHub    Anthropic MCP 注册表    Smithery    PulseMCP
深受 MCP 平台和注册表中的开发者信赖

快速开始(npx)

无需本地安装,即可直接从 npm 运行服务。需要 Node >=20。请选择一种传输方式:

选项 1 – 通过 STDIO 使用 MCP 客户端
npx -y @pv-bhat/vibe-check-mcp start --stdio
  • 从支持 MCP 的客户端(Claude Desktop、Cursor、Windsurf 等)启动。
  • [MCP] stdio transport connected 表示进程正在等待客户端。
  • 将此代码块添加到客户端配置中,以便启动该命令:
{
  "mcpServers": {
    "vibe-check-mcp": {
      "command": "npx",
      "args": ["-y", "@pv-bhat/vibe-check-mcp", "start", "--stdio"]
    }
  }
}
选项 2 – 手动检查 HTTP
npx -y @pv-bhat/vibe-check-mcp start --http --port 2091
  • 使用 curl http://127.0.0.1:2091/healthz 确认服务正在运行。
  • 向 http://127.0.0.1:2091/mcp 发送 JSON-RPC 请求。

两种选项都会按需通过 npx 下载软件包。有关详细的客户端设置以及 install 和 doctor 等其他命令,请参阅下方文档。

Star History Chart

荣誉与认可
  • 入选 PulseMCP“本周最受欢迎”首页(2025 年 10 月 13 日当周)🔗
  • 收录于 Anthropic 官方 Model Context Protocol 仓库 🔗
  • 可在官方 MCP Registry 中找到 🔗
  • 入选 Sean Kochel 为氛围编码者推荐的 9 个顶级 MCP 服务 🔗

目录


什么是 Vibe Check MCP?

Vibe Check MCP 帮助 Agent 保持在最精简可行的路径上,只有在证据需要时才增加复杂度。Vibe Check MCP 是一个轻量级服务,实现了 Anthropic 的 Model Context Protocol。它充当 Agent 的 AI 元导师,通过 链式模式中断(CPI) 打断模式惯性,防止推理锁定(RLI)。可以把它看作大模型的橡皮鸭调试器——在 Agent 走错路之前,快速检查一下思路是否合理。

概述

Vibe Check MCP 将元认知信号层与 CPI 相结合,让 Agent 在风险飙升时能够暂停。Vibe Check 会呈现特征、不确定性和风险评分;CPI 则使用这些触发信号,在 Agent 恢复之前执行干预策略。有关接线细节,请参阅 CPI 集成指南和 CPI 仓库 https://github.com/PV-Bhat/cpi。

Vibe Check 会调用第二个大模型,为主 Agent 提供元认知反馈。在 Agent 系统提示词中集成 vibe_check 调用,并指示其在执行不可逆操作前调用工具,可以显著提升 Agent 的对齐程度和常识判断能力。高级组件图见 docs/architecture.md,CPI 交接示意图和示例适配层见 docs/integrations/cpi.md。

问题:模式惯性与推理锁定

大语言模型可能会自信地执行有缺陷的计划。若没有外部提醒,它们可能会陷入过度设计或偏离目标。Vibe Check 通过短暂的反思暂停提供这种提醒,从而提升可靠性和安全性。

核心功能

功能描述优势
CPI 自适应中断能够感知阶段、挑战假设的提示词对齐、稳健性
多提供商大模型支持 Gemini 3.6、Claude 5、GPT-5.6 和 OpenRouter灵活性
历史连续性提供 sessionId 时,总结之前的建议保留上下文
可选的 vibe_learn记录错误和修复方法,供日后反思自我改进

v2.9.0 新内容(安全与模型更新)

维护通知: 本项目处于维护模式,不再积极开发新功能。项目仍可正常使用,并采用 MIT 许可证。欢迎社区分支。详情请参阅更新日志。

  • 当前模型: Gemini 3.6 Flash、Claude Sonnet 5 / Opus 5 / Fable 5,以及 GPT-5.6 Sol / Terra / Luna 现为受支持的默认模型,统一定义在一个注册表中(src/utils/models.ts)
  • 原生支持 Google AI Studio: 已从停止维护的 @google/generative-ai 软件包迁移至统一的 @google/genai SDK
  • HTTP 加固: CORS 现在默认使用回环地址作为来源,而非 *;对 Host 标头进行验证以阻止 DNS 重绑定,并明确设置和验证 JSON 请求体大小上限
  • 安全性: npm audit 检查无问题——已修复 axios、MCP SDK 的 Hono 技术栈、form-data、fast-uri、postcss 和测试工具链中的 10 项安全公告
  • 依赖项: MCP SDK 1.29、axios 1.18、OpenAI SDK 6.x、vitest 4.x;已移除未使用的 body-parser 直接依赖

会话章程(每个会话的规则)

使用轻量级“章程”,按 sessionId 强制执行 CPI 将遵守的规则。例如,章程规则:“不进行外部网络调用”“重构前优先编写单元测试”“绝不将密钥写入磁盘”。

API(工具):

  • update_constitution({ sessionId, rules }) → 合并或设置该会话的规则集
  • reset_constitution({ sessionId }) → 清除会话规则
  • check_constitution({ sessionId }) → 返回会话的有效规则

开发环境设置

# Clone and install
git clone https://github.com/PV-Bhat/vibe-check-mcp-server.git
cd vibe-check-mcp-server
npm ci
npm run build
npm test

所有工作流均使用 npm(npm ci、npm run build、npm test)。本项目面向 Node >=20。

创建 .env 文件,并填入计划使用的 API 密钥:

# Gemini (default)
GEMINI_API_KEY=your_gemini_api_key
# Optional providers / Anthropic-compatible endpoints
OPENAI_API_KEY=your_openai_api_key
OPENROUTER_API_KEY=your_openrouter_api_key
ANTHROPIC_API_KEY=your_anthropic_api_key
ANTHROPIC_AUTH_TOKEN=your_proxy_bearer_token
ANTHROPIC_BASE_URL=https://api.anthropic.com
ANTHROPIC_VERSION=2023-06-01
# Optional overrides
# DEFAULT_LLM_PROVIDER accepts gemini | openai | openrouter | anthropic
DEFAULT_LLM_PROVIDER=gemini
# Leave DEFAULT_MODEL unset to use each provider's default (see table below)
# DEFAULT_MODEL=gemini-3.6-flash
提供商和模型

Gemini 通过统一的 @google/genai SDK 原生连接 Google AI Studio(Gemini Developer API)。提供商接受的任何模型 ID 均可使用——下表列出默认模型,以及在 vibe_check 工具架构中向 Agent 显示的建议模型。

提供商默认模型也支持
geminigemini-3.6-flashgemini-3.5-flash、gemini-3.5-flash-lite、gemini-2.5-pro、gemini-2.5-flash
anthropicclaude-sonnet-5claude-opus-5、claude-fable-5、claude-haiku-4-5-20251001
openaigpt-5.6-terragpt-5.6-sol、gpt-5.6-luna
openrouter(无——必需)任意 OpenRouter 标识,例如 google/gemini-3.6-flash

使用 DEFAULT_LLM_PROVIDER / DEFAULT_MODEL 设置全局默认值,或通过 modelOverride 为单次调用指定。DEFAULT_MODEL 指定的是 DEFAULT_LLM_PROVIDER 的模型;如果调用覆盖了提供商但未指定模型,则会使用该提供商的默认模型,而不会复用 DEFAULT_MODEL。

{ "goal": "...", "plan": "...", "modelOverride": { "provider": "anthropic", "model": "claude-opus-5" } }

如果 Gemini 调用失败,服务端会使用 gemini-3.5-flash-lite 重试一次,然后再回退到静态问题。

HTTP 传输加固

这些设置仅适用于 --http 模式;不影响 stdio。

变量默认值用途
CORS_ORIGIN仅限 loopback 源以逗号分隔的浏览器源允许列表。* 可恢复 2.9 版之前的通配符设置。
MCP_ALLOWED_HOSTSlocalhost、127.0.0.1、::1Host 标头允许列表(防止 DNS 重绑定)。* 可禁用检查。
MCP_MAX_BODY_SIZE100kbJSON 请求体大小上限。无法解析的值会被忽略,而不会悄然禁用强制限制。

**通过 HTTP 升级到 v2.9.0:**如果你在非 loopback 主机名上提供 Vibe Check 服务(Docker、反向代理、托管部署),请将 MCP_ALLOWED_HOSTS 设置为该主机名,或设置为 *,否则请求将被拒绝并返回 HTTP 403。

配置

请参阅 docs/TESTING.md,了解如何运行测试。

Docker

仓库包含一个辅助脚本,可通过一条命令完成设置。

bash scripts/docker-setup.sh

详情请参阅 自动 Docker 设置。

服务提供商密钥

请参阅 API 密钥与密钥管理,了解支持的服务提供商、解析顺序、存储位置和安全指南。

传输方式选择

CLI 支持 stdio 和 HTTP 传输。传输方式按以下顺序确定:显式标志(--stdio/--http)→ MCP_TRANSPORT → 默认值 stdio。使用 HTTP 时,请指定 --port(或设置 MCP_HTTP_PORT);默认端口为 2091。生成的条目会相应添加 --stdio 或 --http --port <n>,支持 HTTP 的客户端还会收到一个 http://127.0.0.1:<port> 端点。

客户端安装程序

每个安装程序都是幂等的,并会为条目添加 "managedBy": "vibe-check-mcp-cli" 标签。应用更改前,每次运行都会写入一次备份;合并操作是原子的(*.bak 文件可轻松回滚)。有关各客户端的详细参考,请参阅 docs/clients.md。

Claude Desktop
  • 配置路径:claude_desktop_config.json(按平台自动发现)。
  • 默认传输方式:stdio(npx … start --stdio)。
  • 安装后重启 Claude Desktop,以加载新的 MCP 服务。
  • 如果已有未托管的 vibe-check-mcp 条目,CLI 会保留该条目不变,并打印警告。
Cursor
  • 配置路径:~/.cursor/mcp.json(如果存储在其他位置,请提供 --config)。
  • 架构与 Claude 的 mcpServers 布局一致。
  • 如果文件不存在,CLI 会打印可直接粘贴到 Cursor 设置面板的 JSON 代码块,而不会报错退出。
Windsurf (Cascade)
  • 配置路径:旧版为 ~/.codeium/windsurf/mcp_config.json,新版使用 ~/.codeium/mcp_config.json。
  • 传入 --http,即可生成包含 serverUrl 的条目,供 Windsurf 的 HTTP 客户端使用。
  • 现有由标记管理的 serverUrl 条目会保留并在原处更新。
Visual Studio Code
  • 工作区配置位于 .vscode/mcp.json;配置文件也会将 mcp.json 存储在 VS Code 用户数据目录中。
  • 提供 --config <path> 以指定工作区文件。不提供 --config 时,CLI 会打印 JSON 代码片段和一个 vscode:mcp/install?... 链接,你可以直接在终端中打开该链接。
  • VS Code 支持可选的开发字段;传入 --dev-watch 和/或 --dev-debug <value>,即可填充 dev.watch/dev.debug。
卸载与回滚
  • 恢复安装期间生成的备份(配置文件旁最新的 *.bak),即可立即还原。
  • 若要手动移除服务,请删除 mcpServers(Claude/Windsurf/Cursor)或 servers(VS Code)下的 vibe-check-mcp 条目,前提是该条目仍带有 "managedBy": "vibe-check-mcp-cli" 标签。

研究与理念

CPI(Chain-Pattern Interrupt,链式模式中断)是 Vibe Check 背后的研究支持型监督方法。它会在风险转折点适时插入简短的“暂停点”,让 Agent 重新对齐用户的真正优先事项,从而防止破坏性连锁反应和推理锁定(RLI)。在对 153 次运行进行的汇总评估中,CPI 使成功率接近翻倍(约从 27% 提高到 54%),并将有害操作大致减半(约从 83% 降至 42%)。最佳中断频率约为步骤数的 10–20%。Vibe Check MCP 在测试时将 CPI 实现为外部导师层。

链接:

flowchart TD
  A[Agent Phase] --> B{Monitor Progress}
  B -- high risk --> C[CPI Interrupt]
  C --> D[Reflect & Adjust]
  B -- smooth --> E[Continue]

Agent 提示词要点

在 Agent 的系统提示词中,明确说明 vibe_check 是用于反思的必需工具。始终传入完整的用户请求和其他相关上下文。纠正错误后,你还可以选择使用 vibe_learn 记录错误,以便为后续分析建立历史记录。

示例片段:

As an autonomous agent you will:
1. Call vibe_check after planning and before major actions.
2. Provide the full user request and your current plan.
3. Optionally, record resolved issues with vibe_learn.

各工具的使用场景

工具用途
🛑 vibe_check挑战假设,避免视野狭隘
🔄 vibe_learn记录错误、偏好和成功经验
🧰 update_constitution设置/合并 CPI 层将强制执行的会话规则
🧹 reset_constitution清除会话规则
🔎 check_constitution检查会话的有效规则

文档

安全

此代码库包含基于 CI 的安全扫描,会在每个拉取请求中运行。它会使用 npm audit 检查依赖项,并扫描源代码中的风险模式。详情及问题报告方式请参阅 SECURITY.md。

路线图

注意: 此项目处于维护模式(最新维护版本:v2.9.0)。以下路线图予以保留,供有意继续开发的社区分支参考。

  • 为 vibe_check 提供结构化输出: 返回类似 { advice, riskScore, traits } 的 JSON 封装,以便下游 Agent 进行确定性推理。
  • 提升 LLM 韧性: 为 generateResponse 添加重试和指数退避机制。
  • 输入清理: 验证并清理工具参数,以缓解提示词注入攻击。
  • 提示词外置: 将硬编码提示词移至配置文件,以提高透明度和可审计性(参见 PR #71)。

贡献者与社区

欢迎贡献!请参阅 CONTRIBUTING.md。

贡献者

链接

致谢与许可

Vibe Check MCP 根据 MIT 许可证 发布。为可靠、可用于企业环境的 AI Agent 而构建。

作者致谢与链接

Vibe Check MCP 由以下人员创建:Pruthvi Bhat,项目发起方 - https://murst.org/

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。