Vibe Check MCP
Vibe Check MCP Server is a metacognitive oversight tool for AI agents that prevents pattern inertia and over-engineering in workflows through three key functions:
๐ Vibe Check: Identifies incorrect assumptions and breaks tunnel vision by asking metacognitive questions during planning, implementation, and review phases.
โ Vibe Distill: Simplifies complex plans to prevent over-engineering and keeps workflows aligned with the original user request.
๐ Vibe Learn: Tracks and categorizes mistakes to build a self-improving feedback loop that prevents recurring errors.
The server integrates with AI agents like Claude, supporting customizable inputs including session management, confidence levels, and detailed thinking logs for precise feedback and improvement.
Enables environment variable configuration through a .env file to store API keys and other configuration values.
Hosted on GitHub with repository access for cloning, contributing, and accessing documentation and case studies.
Supports installation and management of dependencies through npm, with commands for building and running the server.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Vibe Check MCP I'm overthinking this response - can you simplify my approach?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Vibe Check MCP
This project is in maintenance mode. Active feature development has ended; only maintenance patches (security and bug fixes) are published. v2.9.0 is the latest maintenance release. 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.
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 --stdioLaunch 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 2091curl http://127.0.0.1:2091/healthzto confirm the service is live.Send JSON-RPC requests to
http://127.0.0.1:2091/mcp.
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 ๐
Related MCP server: Visum Thinker MCP Server
Table of Contents
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 3.6, Claude 5, GPT-5.6, and OpenRouter support | flexibility |
History Continuity | Summarizes prior advice when | context retention |
Optional vibe_learn | Log mistakes and fixes for future reflection | self-improvement |
What's New in v2.9.0 (Security & Model Refresh)
Maintenance Notice: This project is in maintenance mode and is no longer under active feature development. It remains fully functional and available under the MIT license. Community forks are welcome. For details, see the Changelog.
Current models: Gemini 3.6 Flash, Claude Sonnet 5 / Opus 5 / Fable 5, and GPT-5.6 Sol / Terra / Luna are now the supported defaults, defined in one registry (
src/utils/models.ts)Native Google AI Studio: migrated from the retired
@google/generative-aipackage to the unified@google/genaiSDKHTTP hardening: CORS now defaults to loopback origins instead of
*,Hostheaders are validated to block DNS rebinding, and the JSON body cap is explicit and validatedSecurity:
npm auditis clean โ 10 advisories resolved across axios, the MCP SDK's Hono stack, form-data, fast-uri, postcss and the test toolchainDependencies: MCP SDK 1.29, axios 1.18, OpenAI SDK 6.x, vitest 4.x; the unused
body-parserdirect dependency was dropped
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 testUse 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
# Leave DEFAULT_MODEL unset to use each provider's default (see table below)
# DEFAULT_MODEL=gemini-3.6-flashProviders and models
Gemini runs natively against Google AI Studio (the Gemini Developer API) through the unified @google/genai SDK. Any model ID the provider accepts will work โ the table lists the defaults and the suggestions surfaced to agents in the vibe_check tool schema.
Provider | Default model | Also supported |
|
|
|
|
|
|
|
|
|
| (none โ required) | any OpenRouter slug, e.g. |
Set the default globally with DEFAULT_LLM_PROVIDER / DEFAULT_MODEL, or per call with modelOverride. DEFAULT_MODEL names a model of DEFAULT_LLM_PROVIDER; a call that overrides the provider without naming a model falls through to that provider's default rather than reusing it.
{ "goal": "...", "plan": "...", "modelOverride": { "provider": "anthropic", "model": "claude-opus-5" } }If a Gemini call fails, the server retries once against gemini-3.5-flash-lite before falling back to static questions.
HTTP transport hardening
These apply only to --http mode; stdio is unaffected.
Variable | Default | Purpose |
| loopback origins only | Comma-separated browser origin allowlist. |
|
|
|
|
| JSON body cap. Unparseable values are ignored rather than silently disabling enforcement. |
Upgrading to v2.9.0 over HTTP: if you serve Vibe Check on a non-loopback hostname (Docker, a reverse proxy, a hosted deployment), set
MCP_ALLOWED_HOSTSto that hostname โ or*โ or requests will be rejected with HTTP 403.
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.shSee 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
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 is in maintenance mode (latest maintenance release: v2.9.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.
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/
Available Tools
2 toolsvibe_checkB
Metacognitive questioning tool that identifies assumptions and breaks tunnel vision to prevent cascading errors
Inputs: goal (required), plan (required), modelOverride, progress, +4 more.
vibe_learnC
Pattern recognition system that tracks common errors and solutions to prevent recurring issues
Inputs: category (required), mistake (required), sessionId, solution, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogโฆ
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: vibe_check focuses on metacognitive questioning to prevent immediate errors by identifying assumptions, while vibe_learn focuses on pattern recognition to prevent recurring issues by tracking errors and solutions. There is no overlap or ambiguity between them.
Both tools follow a consistent 'vibe_' prefix pattern with descriptive suffixes (check and learn), making them predictable and readable. The naming style is uniform throughout the set.
With only 2 tools, the set feels thin for a server named 'Vibe Check MCP', which suggests a broader scope for metacognitive or error-prevention functionality. While the tools are well-defined, the count is borderline low for typical MCP server purposes.
The tools cover two key aspects of error prevention (immediate and recurring), but there are notable gaps such as tools for applying learned patterns, adjusting strategies based on feedback, or integrating with external systems. The surface is functional but not fully comprehensive for the inferred domain.
Maintenance
Related MCP Connectors
Runtime gate for AI agent claims. Catches sycophantic drift, circular self-validation, causal errors
Rules-based context reduction, planning checks, research prompts and fixed experiences for agents.
Adversarial behavioural-bias engine โ audits your decisions for cognitive biases via your own AI.
Patterns for designing and reviewing AI skills, agents, and multi-agent workflows. Find guidance on context economy, delegation, verification, and tool design; inspect claims, worked examples, maturity labels, and source references. Five read-only tools let agents discover relevant patterns, compare concise cards, read specific sections, and explore relationships. Hosted Streamable HTTP at https://agentic-atlas.dev/mcp/ โ no installation, account, or API key required. Browse the atlas at https://agentic-atlas.dev/.
Related MCP Servers
- AlicenseAqualityCmaintenanceA Model Context Protocol server that empowers AI agents with metacognitive monitoring to detect reasoning loops and provide intelligent recovery using case-based reasoning and statistical analysis.928 npm9MIT
- AlicenseBqualityNot gradedmaintenanceProvides structured sequential thinking capabilities for AI assistants to break down complex problems into manageable steps, revise thoughts, and explore alternative reasoning paths.29-
- AlicenseNot gradedqualityDmaintenanceProvides structured thinking tools including mental models, design patterns, debugging approaches, decision frameworks, and multi-persona reasoning to enhance AI assistant problem-solving capabilities.9 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides a 'reflect' tool that creates cognitive checkpoints for AI assistants, forcing structured step-by-step reasoning through complex problems to improve accuracy and maintain context during task execution.7 npm6MIT