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
Adaptive metacognitive oversight for autonomous AI agents – a research-backed MCP server keeping LLMs aligned, reflective and safe.
~10k+ downloads on PulseMCP and counting. Over 1k monthly tool calls via Smithery. Listed on 12+ orchestration platforms. Security rating 4.3 on MSEEP.ai.
VibeCheck 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 Critical Path 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.
Large language models can confidently follow flawed plans. Without an external nudge they may spiral into overengineering or misalignment. VibeCheck provides that nudge through short reflective pauses, improving reliability and safety.
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 |
vibe_learn
logging# 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.
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:
~/vibe-check-mcp
for persistent datadocker-compose.yml
~/vibe-check-mcp/.env
vibe-check-tcp-wrapper.sh
which 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
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" }
}
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]
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.
Tool | Purpose |
---|---|
🛑 vibe_check | Challenge assumptions and prevent tunnel vision |
🔄 vibe_learn | Capture mistakes, preferences and successes |
See docs/philosophy.md for the alignment research behind VibeCheck. The approach draws inspiration from Reflexion, Constitutional AI and other high-trust frameworks.
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.
Contributions are welcome! See CONTRIBUTING.md and join our Discord for discussion.
vibe_learn
is optional.VibeCheck MCP is released under the MIT License. Built for reliable, enterprise-ready AI agents.
A scientific computing server for symbolic math, data analysis, and visualization using popular Python libraries like NumPy, SciPy, and Pandas.
Provides AI-powered mentorship to LLM agents for tasks like code review, design critique, and brainstorming, using the Deepseek API.
An MCP server for managing API test data and resources.
A proof-of-concept MCP server built with Node.js and TypeScript, compatible with Claude Desktop.
Interact with ApostropheCMS, a Node.js-based content management system, to manage content snippets.
An AI agent for the Playwright MCP server, enabling automated web testing and interaction.
Server for advanced AI-driven video editing, semantic search, multilingual transcription, generative media, voice cloning, and content moderation.
Model Kontext Protocol Server for Kubernetes that allows LLM-powered applications to interact with Kubernetes clusters through native Go implementation with direct API integration and comprehensive resource management.
Navigate your OpenTelemetry resources, investigate incidents and query metrics, logs and traces on Dash0.
MCP server for text-to-graphql, integrates with Claude Desktop and Cursor.