io.github.PV-Bhat/vibe-check-mcp-server
平台与服务by pv-bhat
用于元认知 AI agent 监督,提供自适应 CPI 中断机制,帮助提升 alignment、reflection 与 safety。
给智能体加上一层自省监督,靠自适应CPI中断主动纠偏,比被动监控更适合提升对齐、反思与安全性。
什么是 io.github.PV-Bhat/vibe-check-mcp-server?
用于元认知 AI agent 监督,提供自适应 CPI 中断机制,帮助提升 alignment、reflection 与 safety。
README
Vibe Check MCP
<p align="center"><b>KISS overzealous agents goodbye. Plug & play agent oversight tool.</b></p> <p align="center"> <b>Based on research:</b><br/> In our study agents calling Vibe Check improved success +27% and halved harmful actions -41% </p> <p align="center"> <a href="https://www.researchgate.net/publication/394946231_Do_AI_Agents_Need_Mentors_Evaluating_Chain-Pattern_Interrupt_CPI_for_Oversight_and_Reliability?channel=doi&linkId=68ad6178ca495d76982ff192&showFulltext=true"> <img src="https://img.shields.io/badge/Research-CPI%20%28MURST%29-blue?style=flat-square" alt="CPI Research"> </a> <a href="https://github.com/modelcontextprotocol/servers"><img src="https://img.shields.io/badge/Anthropic%20MCP-featured-111?labelColor=111&color=555&style=flat-square" alt="Anthropic MCP: listed"></a> <a href="https://registry.modelcontextprotocol.io/"><img src="https://img.shields.io/badge/MCP%20Registry-listed-555?labelColor=111&style=flat-square" alt="MCP Registry"></a> <a href="https://www.pulsemcp.com/servers/pv-bhat-vibe-check"> <img src="https://img.shields.io/badge/PulseMCP-Most%20Popular%20(Oct 2025)-0b7285?style=flat-square" alt="PulseMCP: Most Popular (this week)"> </a> <a href="https://github.com/PV-Bhat/vibe-check-mcp-server/actions/workflows/ci.yml"><img src="https://github.com/PV-Bhat/vibe-check-mcp-server/actions/workflows/ci.yml/badge.svg" alt="CI passing"></a> <a href="https://smithery.ai/server/@PV-Bhat/vibe-check-mcp-server"><img src="https://smithery.ai/badge/@PV-Bhat/vibe-check-mcp-server" alt="Smithery Badge"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-0b7285?style=flat-square" alt="MIT License"></a> </p> <p align="center"> <sub> Featured on PulseMCP “Most Popular (This Week)” • 5k+ monthly calls on Smithery.ai • research-backed oversight • STDIO + streamable HTTP transport</sub> </p> <img width="500" height="300" alt="Gemini_Generated_Image_kvdvp4kvdvp4kvdv" src="https://github.com/user-attachments/assets/ff4d9efa-2142-436d-b1df-2a711a28c34e" />This project is no longer actively maintained. v2.8.0 is the final release, which includes security patches and bug fixes. The server remains fully functional. Community forks and contributions are welcome under the MIT license.
Plug-and-play mentor layer that stops agents from over-engineering and keeps them on the minimal viable path — research-backed MCP server keeping LLMs aligned, reflective and safe.
<div align="center"> <a href="https://github.com/PV-Bhat/vibe-check-mcp-server"> <img src="https://unpkg.com/@lobehub/icons-static-svg@latest/icons/github.svg" width="40" height="40" alt="GitHub" /> </a> <a href="https://registry.modelcontextprotocol.io"> <img src="https://unpkg.com/@lobehub/icons-static-svg@latest/icons/anthropic.svg" width="40" height="40" alt="Anthropic MCP Registry" /> </a> <a href="https://smithery.ai/server/@PV-Bhat/vibe-check-mcp-server"> <img src="https://unpkg.com/@lobehub/icons-static-svg@latest/icons/smithery.svg" width="40" height="40" alt="Smithery" /> </a> <a href="https://www.pulsemcp.com/servers/pv-bhat-vibe-check"> <img src="https://www.pulsemcp.com/favicon.ico" width="40" height="40" alt="PulseMCP" /> </a> </div> <div align="center"> <em>Trusted by developers across MCP platforms and registries</em> </div>Quickstart (npx)
Run the server directly from npm without a local installation. Requires Node >=20. Choose a transport:
Option 1 – MCP client over STDIO
npx -y @pv-bhat/vibe-check-mcp start --stdio
- Launch from an MCP-aware client (Claude Desktop, Cursor, Windsurf, etc.).
[MCP] stdio transport connectedindicates the process is waiting for the client.- Add this block to your client config so it spawns the command:
{
"mcpServers": {
"vibe-check-mcp": {
"command": "npx",
"args": ["-y", "@pv-bhat/vibe-check-mcp", "start", "--stdio"]
}
}
}
Option 2 – Manual HTTP inspection
npx -y @pv-bhat/vibe-check-mcp start --http --port 2091
curl http://127.0.0.1:2091/healthto confirm the service is live.- Send JSON-RPC requests to
http://127.0.0.1:2091/rpc.
npx downloads the package on demand for both options. For detailed client setup and other commands like install and doctor, see the documentation below.
Recognition
- Featured on PulseMCP “Most Popular (This Week)” front page (week of 13 Oct 2025) 🔗
- Listed in Anthropic’s official Model Context Protocol repo 🔗
- Discoverable in the official MCP Registry 🔗
- Featured on Sean Kochel's Top 9 MCP servers for vibe coders 🔗
Table of Contents
- Quickstart (npx)
- What is Vibe Check MCP?
- Overview
- The Problem: Pattern Inertia & Reasoning Lock-In
- Key Features
- What's New
- Development Setup
- Release
- Usage Examples
- Adaptive Metacognitive Interrupts (CPI)
- Agent Prompting Essentials
- When to Use Each Tool
- Documentation
- Research & Philosophy
- Security
- Roadmap
- Contributors & Community
- FAQ
- Listed on
- Credits & License
What is Vibe Check MCP?
Vibe Check MCP keeps agents on the minimal viable path and escalates complexity only when evidence demands it. Vibe Check MCP is a lightweight server implementing Anthropic's Model Context Protocol. It acts as an AI meta-mentor for your agents, interrupting pattern inertia with Chain-Pattern Interrupts (CPI) to prevent Reasoning Lock-In (RLI). Think of it as a rubber-duck debugger for LLMs – a quick sanity check before your agent goes down the wrong path.
Overview
Vibe Check MCP pairs a metacognitive signal layer with CPI so agents can pause when risk spikes. Vibe Check surfaces traits, uncertainty, and risk scores; CPI consumes those triggers and enforces an intervention policy before the agent resumes. See the CPI integration guide and the CPI repo at https://github.com/PV-Bhat/cpi for wiring details.
Vibe Check invokes a second LLM to give meta-cognitive feedback to your main agent. Integrating vibe_check calls into agent system prompts and instructing tool calls before irreversible actions significantly improves agent alignment and common-sense. The high-level component map: docs/architecture.md, while the CPI handoff diagram and example shim are captured in docs/integrations/cpi.md.
The Problem: Pattern Inertia & Reasoning Lock-In
Large language models can confidently follow flawed plans. Without an external nudge they may spiral into overengineering or misalignment. Vibe Check provides that nudge through short reflective pauses, improving reliability and safety.
Key Features
| Feature | Description | Benefits |
|---|---|---|
| CPI Adaptive Interrupts | Phase-aware prompts that challenge assumptions | alignment, robustness |
| Multi-provider LLM | Gemini, OpenAI, Anthropic, and OpenRouter support | flexibility |
| History Continuity | Summarizes prior advice when sessionId is supplied | context retention |
| Optional vibe_learn | Log mistakes and fixes for future reflection | self-improvement |
What's New in v2.8.0 (Final Maintenance Release)
Maintenance Notice: This project is no longer actively maintained. It remains fully functional and available under the MIT license. Community forks are welcome. For details, see the Changelog.
- Bug fix:
check_constitutionnow returns valid MCP content types (fixes #84) - Security: All dependencies updated — resolves 14 npm audit vulnerabilities (axios, MCP SDK, diff, express, and transitive deps)
- MCP SDK 1.26: Updated to latest SDK with critical cross-client data leakage fix; HTTP transport adapter updated for compatibility
Session Constitution (per-session rules)
Use a lightweight “constitution” to enforce rules per sessionId that CPI will honor. Eg. constitution rules: “no external network calls,” “prefer unit tests before refactors,” “never write secrets to disk.”
API (tools):
update_constitution({ sessionId, rules })→ merges/sets rule set for the sessionreset_constitution({ sessionId })→ clears session rulescheck_constitution({ sessionId })→ returns effective rules for the session
Development Setup
# 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
Use npm for all workflows (npm ci, npm run build, npm test). This project targets Node >=20.
Create a .env file with the API keys you plan to use:
# 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
DEFAULT_MODEL=gemini-2.5-pro
Configuration
See docs/TESTING.md for instructions on how to run tests.
Docker
The repository includes a helper script for one-command setup.
bash scripts/docker-setup.sh
See Automatic Docker Setup for full details.
Provider keys
See API Keys & Secret Management for supported providers, resolution order, storage locations, and security guidance.
Transport selection
The CLI supports stdio and HTTP transports. Transport resolution follows this order: explicit flags (--stdio/--http) → MCP_TRANSPORT → default stdio. When using HTTP, specify --port (or set MCP_HTTP_PORT); the default port is 2091. The generated entries add --stdio or --http --port <n> accordingly, and HTTP-capable clients also receive a http://127.0.0.1:<port> endpoint.
Client installers
Each installer is idempotent and tags entries with "managedBy": "vibe-check-mcp-cli". Backups are written once per run before changes are applied, and merges are atomic (*.bak files make rollback easy). See docs/clients.md for deeper client-specific references.
Claude Desktop
- Config path:
claude_desktop_config.json(auto-discovered per platform). - Default transport: stdio (
npx … start --stdio). - Restart Claude Desktop after installation to load the new MCP server.
- If an unmanaged entry already exists for
vibe-check-mcp, the CLI leaves it untouched and prints a warning.
Cursor
- Config path:
~/.cursor/mcp.json(provide--configif you store it elsewhere). - Schema mirrors Claude’s
mcpServerslayout. - If the file is missing, the CLI prints a ready-to-paste JSON block for Cursor’s settings panel instead of failing.
Windsurf (Cascade)
- Config path: legacy
~/.codeium/windsurf/mcp_config.json, new builds use~/.codeium/mcp_config.json. - Pass
--httpto emit an entry withserverUrlfor Windsurf’s HTTP client. - Existing sentinel-managed
serverUrlentries are preserved and updated in place.
Visual Studio Code
- Workspace config lives at
.vscode/mcp.json; profiles also storemcp.jsonin your VS Code user data directory. - Provide
--config <path>to target a workspace file. Without--config, the CLI prints a JSON snippet and avscode:mcp/install?...link you can open directly from the terminal. - VS Code supports optional dev fields; pass
--dev-watchand/or--dev-debug <value>to populatedev.watch/dev.debug.
Uninstall & rollback
- Restore the backup generated during installation (the newest
*.baknext to your config) to revert immediately. - To remove the server manually, delete the
vibe-check-mcpentry undermcpServers(Claude/Windsurf/Cursor) orservers(VS Code) as long as it is still tagged with"managedBy": "vibe-check-mcp-cli".
Research & Philosophy
CPI (Chain-Pattern Interrupt) is the research-backed oversight method behind Vibe Check. It injects brief, well-timed “pause points” at risk inflection moments to re-align the agent to the user’s true priority, preventing destructive cascades and reasoning lock-in (RLI). In pooled evaluation across 153 runs, CPI nearly doubles success (~27%→54%) and roughly halves harmful actions (~83%→42%). Optimal interrupt dosage is ~10–20% of steps. Vibe Check MCP implements CPI as an external mentor layer at test time.
Links:
- 📄 CPI Paper (ResearchGate) — http://dx.doi.org/10.13140/RG.2.2.18237.93922
- 📘 CPI Reference Implementation (GitHub): https://github.com/PV-Bhat/cpi
- 📚 MURST Zenodo DOI (RSRC archival): https://doi.org/10.5281/zenodo.14851363
flowchart TD
A[Agent Phase] --> B{Monitor Progress}
B -- high risk --> C[CPI Interrupt]
C --> D[Reflect & Adjust]
B -- smooth --> E[Continue]
Agent Prompting Essentials
In your agent's system prompt, make it clear that vibe_check is a mandatory tool for reflection. Always pass the full user request and other relevant context. After correcting a mistake, you can optionally log it with vibe_learn to build a history for future analysis.
Example snippet:
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.
When to Use Each Tool
| Tool | Purpose |
|---|---|
| 🛑 vibe_check | Challenge assumptions and prevent tunnel vision |
| 🔄 vibe_learn | Capture mistakes, preferences, and successes |
| 🧰 update_constitution | Set/merge session rules the CPI layer will enforce |
| 🧹 reset_constitution | Clear rules for a session |
| 🔎 check_constitution | Inspect effective rules for a session |
Documentation
- Agent Prompting Strategies
- CPI Integration
- Advanced Integration
- Technical Reference
- Automatic Docker Setup
- Philosophy
- Case Studies
- Changelog
Security
This repository includes a CI-based security scan that runs on every pull request. It checks dependencies with npm audit and scans the source for risky patterns. See SECURITY.md for details and how to report issues.
Roadmap
Note: This project has reached its final maintenance release (v2.8.0). The roadmap below is preserved for community forks that may wish to continue development.
- Structured output for
vibe_check: Return a JSON envelope such as{ advice, riskScore, traits }so downstream agents can reason deterministically. - LLM resilience: Wrap
generateResponsewith retries and exponential backoff. - Input sanitization: Validate and cleanse tool arguments to mitigate prompt-injection vectors.
- Prompt externalization: Move hardcoded prompts to configuration files for transparency and auditability (see PR #71).
Contributors & Community
Contributions are welcome! See CONTRIBUTING.md.
<a href="https://github.com/PV-Bhat/vibe-check-mcp-server/graphs/contributors"> <img src="https://contrib.rocks/image?repo=PV-Bhat/vibe-check-mcp-server" alt="Contributors"/> </a>Links
Credits & License
Vibe Check MCP is released under the MIT License. Built for reliable, enterprise-ready AI agents.
Author Credits & Links
Vibe Check MCP created by: Pruthvi Bhat, Initiative - https://murst.org/
常见问题
io.github.PV-Bhat/vibe-check-mcp-server 是什么?
用于元认知 AI agent 监督,提供自适应 CPI 中断机制,帮助提升 alignment、reflection 与 safety。
相关 Skills
MCP构建
by anthropics
聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。
✎ 想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。
Slack动图
by anthropics
面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。
✎ 帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。
接口设计评审
by alirezarezvani
审查 REST API 设计是否符合行业规范,自动检查命名、HTTP 方法、状态码与文档覆盖,识别破坏性变更并给出设计评分,适合评审接口方案和版本迭代前把关。
✎ 做API和架构方案时,它能帮你提前揪出接口设计问题并对齐最佳实践,评审视角系统,团队协作更省心。
相关 MCP Server
Slack 消息
编辑精选by Anthropic
Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。
✎ 这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。
by netdata
io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。
✎ 这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。
by d4vinci
Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。
✎ 这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。