MCPcopy Index your code
hub / github.com/PV-Bhat/vibe-check-mcp-server

github.com/PV-Bhat/vibe-check-mcp-server @v2.7.6

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.7.6 ↗ · + Follow
188 symbols 536 edges 55 files 4 documented · 2%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Vibe Check MCP

KISS overzealous agents goodbye. Plug & play agent oversight tool.

Based on research:

In our study agents calling Vibe Check improved success +27% and halved harmful actions -41%

CPI Research Anthropic MCP: listed MCP Registry PulseMCP: Most Popular (this week) CI passing Smithery Badge MIT License

Featured on PulseMCP “Most Popular (This Week)” • 5k+ monthly calls on Smithery.ai • research-backed oversight • STDIO + streamable HTTP transport

Gemini_Generated_Image_kvdvp4kvdvp4kvdv

Version Trust Score Security 4.3★/5 on MSEEP PRs Welcome

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.

GitHub    Anthropic MCP Registry    Smithery    PulseMCP

Trusted by developers across MCP platforms and registries

Quickstart (npx)

Run the server directly from npm without a local installation. Requires Node >=20.

# Start the server with stdio transport
npx -y @pv-bhat/vibe-check-mcp start --stdio

For client integrations (like Claude Desktop or Cursor), add this entry to your MCP configuration:

{
  "mcpServers": {
    "vibe-check-mcp": {
      "command": "npx",
      "args": ["-y", "@pv-bhat/vibe-check-mcp", "start", "--stdio"]
    }
  }
}

The server will be downloaded and run on-demand. For detailed client setup and other commands like install and doctor, see the full documentation below.

Star History Chart

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


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.7.4

  • install --client now supports Cursor, Windsurf, and Visual Studio Code with idempotent merges, atomic writes, and .bak rollbacks.
  • HTTP-aware installers preserve serverUrl entries for Windsurf and emit VS Code workspace snippets plus a vscode:mcp/install link when no config is provided.
  • Documentation now consolidates provider keys, transport selection, uninstall guidance, and dedicated client docs at docs/clients.md.

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 session - reset_constitution({ sessionId }) → clears session rules - check_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 --config if you store it elsewhere).
  • Schema mirrors Claude’s mcpServers layout.
  • 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 --http to emit an entry with serverUrl for Windsurf’s HTTP client.
  • Existing sentinel-managed serverUrl entries are preserved and updated in place.

Visual Studio Code

  • Workspace config lives at .vscode/mcp.json; profiles also store mcp.json in your VS Code user data directory.
  • Provide --config <path> to target a workspace file. Without --config, the CLI prints a JSON snippet and a vscode:mcp/install?... link you can open directly from the terminal.
  • VS Code supports optional dev fields; pass --dev-watch and/or --dev-debug <value> to populate dev.watch/dev.debug.

Uninstall & rollback

  • Restore the backup generated during installation (the newest *.bak next to your config) to revert immediately.
  • To remove the server manually, delete the vibe-check-mcp entry under mcpServers (Claude/Windsurf/Cursor) or servers (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

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Function 155
Interface 26
Method 5
Class 2

Languages

TypeScript100%

Modules by API surface

src/cli/index.ts22 symbols
src/utils/llm.ts13 symbols
src/utils/jsonRpcCompat.ts12 symbols
src/cli/clients/shared.ts12 symbols
src/index.ts10 symbols
src/cli/env.ts10 symbols
src/utils/storage.ts9 symbols
examples/cpi-integration.ts8 symbols
tests/jsonrpc-compat.test.ts7 symbols
src/utils/state.ts6 symbols
src/tools/vibeLearn.ts6 symbols
src/tools/constitution.ts5 symbols

For agents

$ claude mcp add vibe-check-mcp-server \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page