vibe check mcp server
A metacognitive pattern interrupt system that helps prevent AI assistants from overcomplicated reasoning paths by providing external validation, simplification guidance, and learning mechanisms.
A metacognitive pattern interrupt system that helps prevent AI assistants from overcomplicated reasoning paths by providing external validation, simplification guidance, and learning mechanisms.
Also find Vibecheck on: mcpservers.org, Glama.ai, mcp.so
Your AI's inner rubber duck when it can't rubber duck itself.
In the "vibe coding" era, AI agents now have incredible capabilities, but the question has now moved:
from
"Can my AI agent really do this complex task?"
to
"Can my AI agent understand that I want to write a simple program, not an infrastructure for a multi-billion dollar tech company?"
It provides the essential "Hold up... this ain't it" moment that AI agents don't currently have: a built in self-correcting oversight layer. It's the definitive Vibe Coder's sanity check MCP server:
TLDR; Implement an agent fine-tuned to stop your agent and make it reconsider before it confidently implements something wrong.
In the vibe coding movement, we're all using LLMs to generate, refactor, and debug our code. But these models have a critical flaw: once they start down a reasoning path, they'll keep going even when the path is clearly wrong.
You: "Parse this CSV file"
AI: "First, let's implement a custom lexer/parser combination that can handle arbitrary
CSV dialects with an extensible architecture for future file formats..."
You: *stares at 200 lines of code when you just needed to read 10 rows*
This pattern inertia leads to:
Vibe Check adds a metacognitive layer to your agent workflows with three integrated tools:
Pattern interrupt mechanism that breaks tunnel vision with metacognitive questioning:
vibe_check({
"phase": "planning", // planning, implementation, or review
"userRequest": "...", // FULL original user request
"plan": "...", // Current plan or thinking
"confidence": 0.7 // Optional: 0-1 confidence level
})
Meta-thinking anchor point that recalibrates complex workflows:
vibe_distill({
"plan": "...", // Detailed plan to simplify
"userRequest": "..." // FULL original user request
})
Self-improving feedback loop that builds pattern recognition over time:
vibe_learn({
"mistake": "...", // One-sentence description of mistake
"category": "...", // From standard categories
"solution": "..." // How it was corrected
})
Before Vibe Check:
Claude assumes the meaning of MCP despite ambiguity, leading to all subsequent steps having this wrong assumption
After Vibe Check:
Vibe Check MCP is called, and points out the ambiguity, which forces Claude to acknowledge this lack of information and proactively address it
To install vibe-check-mcp-server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @PV-Bhat/vibe-check-mcp-server --client claude
# Clone the repo
git clone https://github.com/PV-Bhat/vibe-check-mcp-server.git
cd vibe-check-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
# Start the server
npm run start
Add to your 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"
}
}
Create a .env
file in the project root:
GEMINI_API_KEY=your_gemini_api_key_here
For effective pattern interrupts, include these instructions in your system prompt:
As an autonomous agent, you will:
1. Treat vibe_check as a critical pattern interrupt mechanism
2. ALWAYS include the complete user request with each call
3. Specify the current phase (planning/implementation/review)
4. Use vibe_distill as a recalibration anchor when complexity increases
5. Build the feedback loop with vibe_learn to record resolved issues
Tool | When to Use |
---|---|
? vibe_check | When your agent starts explaining blockchain fundamentals for a todo app |
⚓ vibe_distill | When your agent's plan has more nested bullet points than your entire tech spec |
? vibe_learn | After you've manually steered your agent back from the complexity abyss |
See the Technical Reference for complete API documentation.
Document | Description |
---|---|
Agent Prompting Strategies | Detailed techniques for agent integration |
Advanced Integration | Feedback chaining, confidence levels, and more |
Technical Reference | Complete API documentation |
Philosophy | The deeper AI alignment principles behind Vibe Check |
Case Studies | Real-world examples of Vibe Check in action |
We welcome contributions to Vibe Check! Whether it's bug fixes, feature additions, or just improving documentation, check out our Contributing Guidelines to get started.
[
{
"description": "Metacognitive questioning tool that identifies assumptions and breaks tunnel vision to prevent cascading errors",
"inputSchema": {
"properties": {
"availableTools": {
"description": "List of available MCP tools",
"items": {
"type": "string"
},
"type": "array"
},
"confidence": {
"description": "Agent's confidence level (0-1)",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"focusAreas": {
"description": "Optional specific focus areas",
"items": {
"type": "string"
},
"type": "array"
},
"phase": {
"description": "Current project phase for context-appropriate feedback",
"enum": [
"planning",
"implementation",
"review"
],
"type": "string"
},
"plan": {
"description": "Current plan or thinking",
"type": "string"
},
"previousAdvice": {
"description": "Previous feedback to avoid repetition and ensure progression",
"type": "string"
},
"sessionId": {
"description": "Optional session ID for state management",
"type": "string"
},
"thinkingLog": {
"description": "Raw sequential thinking transcript",
"type": "string"
},
"userRequest": {
"description": "Original user request - critical for alignment checking",
"type": "string"
}
},
"required": [
"plan",
"userRequest"
],
"type": "object"
},
"name": "vibe_check"
},
{
"description": "Plan simplification tool that reduces complexity and extracts essential elements to prevent over-engineering",
"inputSchema": {
"properties": {
"plan": {
"description": "The plan to distill",
"type": "string"
},
"sessionId": {
"description": "Optional session ID for state management",
"type": "string"
},
"userRequest": {
"description": "Original user request",
"type": "string"
}
},
"required": [
"plan",
"userRequest"
],
"type": "object"
},
"name": "vibe_distill"
},
{
"description": "Pattern recognition system that tracks common errors and solutions to prevent recurring issues",
"inputSchema": {
"properties": {
"category": {
"description": "Category of mistake (standard categories: Complex Solution Bias, Feature Creep, Premature Implementation, Misalignment, Overtooling, Other)",
"enum": [
"Complex Solution Bias",
"Feature Creep",
"Premature Implementation",
"Misalignment",
"Overtooling",
"Other"
],
"type": "string"
},
"mistake": {
"description": "One-sentence description of the mistake",
"type": "string"
},
"sessionId": {
"description": "Optional session ID for state management",
"type": "string"
},
"solution": {
"description": "How it was corrected (one sentence)",
"type": "string"
}
},
"required": [
"mistake",
"category",
"solution"
],
"type": "object"
},
"name": "vibe_learn"
}
]