Vibe Check
The definitive Vibe Coder's sanity check MCP server: Prevents cascading errors by calling a "Vibe-check" agent to ensure alignment and prevent scope creep
๐ง Vibe Check MCP v2.5.1
Plug-and-play metacognitive oversight layer for autonomous AI agents โ a research-backed MCP server keeping LLMs aligned, reflective and safe.
Recognition
- Listed in Anthropicโs official Model Context Protocol repo ๐
- Discoverable in the official MCP Registry ๐
- 30k+ installs total across public MCP directories/clients
Table of Contents
- What is Vibe Check MCP?
- Overview
- Architecture
- The Problem: Pattern Inertia & Reasoning Lock-In
- Key Features
- What's New in v2.5.0
- Quickstart (npx)
- Quickstart & Installation
- Usage Examples
- Adaptive Metacognitive Interrupts (CPI)
- Agent Prompting Essentials
- When to Use Each Tool
- Documentation
- Research & Philosophy
- Security
- Roadmap
- Contributing & Community
- FAQ
- Listed on
- Credits & License
What is Vibe Check MCP?
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.
Architecture
Vibe Check runs alongside your agent workflow, emitting signals that downstream overseers like CPI or human reviewers can act on. The high-level component map lives in 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 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.5.1
Session Constitution (per-session rules)
Use a lightweight โconstitutionโ to enforce rules per sessionId that CPI will honor. Typical uses: โ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
Quickstart (npx)
Requires Node.js >= 20
# Quick try via STDIO (Claude-friendly)
npx @pv-bhat/vibe-check-mcp start --stdio
# Or HTTP mode
npx @pv-bhat/vibe-check-mcp start --http --port 2091
# Basic diagnostics
npx @pv-bhat/vibe-check-mcp doctor
Quickstart & Installation
# Clone and install
git clone https://github.com/PV-Bhat/vibe-check-mcp-server.git
cd vibe-check-mcp-server
npm install
npm run build
This project targets Node >=20. If you see a TypeScript error about a duplicate require declaration when building with Node 20.19.3, ensure your dependencies are up to date (npm install) or use the Docker setup below which handles the build automatically.
Create a .env file with the API keys you plan to use:
# Gemini (default)
GEMINI_API_KEY=your_gemini_api_key
# Optional providers
OPENAI_API_KEY=your_openai_api_key
OPENROUTER_API_KEY=your_openrouter_api_key
# Optional overrides
DEFAULT_LLM_PROVIDER=gemini
DEFAULT_MODEL=gemini-2.5-pro
Start the server:
npm start
See docs/TESTING.md for instructions on how to run tests.
Docker
The repository includes a helper script for one-command setup. It builds the image, saves your GEMINI_API_KEY and configures the container to start automatically whenever you log in:
bash scripts/docker-setup.sh
This script:
- Creates
~/vibe-check-mcpfor persistent data - Builds the Docker image and sets up
docker-compose.yml - Prompts for your API key and writes
~/vibe-check-mcp/.env - Installs a systemd service (Linux) or LaunchAgent (macOS) so the container starts at login
- Generates
vibe-check-tcp-wrapper.shwhich proxies Cursor IDE to the server After running it, open Cursor IDE โ Settings โ MCP and add a new server of type Command pointing to:
~/vibe-check-mcp/vibe-check-tcp-wrapper.sh
See Automatic Docker Setup for full details. If you prefer to run the commands manually:
docker build -t vibe-check-mcp .
docker run -e GEMINI_API_KEY=your_gemini_api_key -p 3000:3000 vibe-check-mcp
Integrating with Claude Desktop
Add to claude_desktop_config.json:
"vibe-check": {
"command": "node",
"args": ["/path/to/vibe-check-mcp/build/index.js"],
"env": {
"GEMINI_API_KEY": "YOUR_GEMINI_API_KEY",
"MCP_TRANSPORT": "stdio"
}
}
Claude Desktop (including Claude Code auto-start on macOS) talks MCP over stdio. If
MCP_TRANSPORT is not set to stdio, the server defaults to HTTP mode and the
desktop app will hang while trying to connect. After editing the configuration,
restart Claude Desktop so it reloads the MCP registry.
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
Usage Examples
import { vibe_check } from 'vibe-check-mcp';
const result = await vibe_check({
goal: 'Write unit tests',
plan: 'Use vitest for coverage',
sessionId: 'demo1'
});
console.log(result.questions);
flowchart TD
A[Agent Phase] --> B{Monitor Progress}
B -- high risk --> C[CPI Interrupt]
C --> D[Reflect & Adjust]
B -- smooth --> E[Continue]
Adaptive Metacognitive Interrupts (CPI)
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
- Benchmarks and latency profiling
- Adaptive tuning based on agent performance
- Multi-agent cooperation support
- Optional human-in-the-loop review
Contributing & Community
Contributions are welcome! See CONTRIBUTING.md.
FAQ
- Does it increase latency? A single CPI call typically adds ~1 second depending on the provider.
- Can I disable logging? Yes,
vibe_learnis optional.
Find Vibe Check MCP on
- ๐ MSEEP
- ๐ก MCP Servers
- ๐ง MCP.so
- ๐ ๏ธ Creati.ai
- ๐ก Pulse MCP
- ๐ Playbooks.com
- ๐งฐ MCPHub.tools
- ๐ MCP Directory
- ๐ง MagicSlides
- ๐๏ธ AIAgentsList
Star History
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, Intiative - https://murst.org/
Related Servers
MCP-Allure
Reads Allure test reports and returns them in LLM-friendly formats for better test analysis and insights.
Auto API - YApi
A tool to retrieve API interface information from YApi, with authentication configurable via environment variables.
MCP Experiments
An experimental dotnet MCP server that returns the current time, based on Laurent Kempรฉ's tutorial.
Game Asset Generator
Generate 2D and 3D game assets using AI models hosted on Hugging Face Spaces.
GameCode MCP2
A Model Context Protocol (MCP) server for tool integration, configured using a tools.yaml file.
Chrome Debug MCP Server
Automate your browser by connecting to Chrome's debugging port, preserving your login state.
MCP Client
A Python client for connecting to Model Context Protocol (MCP) servers, supporting local scripts and npx packages.
MCP Docs Provider
Provides documentation context to LLMs from local markdown files via MCP.
Remote MCP Server for Odoo
An example of a remote MCP server for Odoo, deployable on Cloudflare Workers without authentication.
Bifrost VSCode Dev Tools
Exposes VSCode dev tools features to MCP clients, with support for project-specific configurations.