MCP Directory

How to add Vibe Check MCP to Windsurf

Research-backed mentor layer that interrupts agent pattern inertia to prevent over-engineering and reasoning lock-in. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.

Last updated June 14, 2026 · 492 · stdio · apikey

Windsurf config for Vibe Check MCP

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

Setup steps

  1. 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
  2. 2Paste the Vibe Check MCP config below.
  3. 3Fill in placeholder secrets, then save.
  4. 4Click Refresh in the MCP panel.
  5. 5Vibe Check MCP's tools become available to Cascade.

Before you start

  • Node.js >= 20
  • An LLM provider API key (GEMINI_API_KEY by default; OPENAI_API_KEY, ANTHROPIC_API_KEY, or OPENROUTER_API_KEY also supported)
  • An MCP-aware client (Claude Desktop, Cursor, Windsurf, VS Code, etc.)

What Vibe Check MCP can do in Windsurf

vibe_check

Challenge assumptions and prevent tunnel vision; invokes a second LLM to give metacognitive feedback on the agent's plan. Pass the full user request and current plan; supports sessionId for history continuity.

vibe_learn

Optionally capture mistakes, preferences, and successes to build a history for future reflection and self-improvement.

update_constitution

Set or merge a per-session rule set (constitution) that the CPI layer will honor, keyed by sessionId.

reset_constitution

Clear the constitution rules for a given session.

check_constitution

Return the effective constitution rules currently in force for a given session.

Security

Requires an LLM provider API key (Gemini by default; OpenAI, Anthropic, or OpenRouter also supported) supplied via environment variables (e.g. GEMINI_API_KEY) or a .env file. The server invokes a second LLM, so prompts/context are sent to the configured provider. A CI-based security scan runs npm audit and source pattern checks; see SECURITY.md. v2.8.0+ updated the MCP SDK to 1.26 to address a cross-client data-leakage fix and resolved 14 npm audit vulnerabilities.

Vibe Check MCP + Windsurf FAQ

Where is the Windsurf config file?

Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Vibe Check MCP config there under the "mcpServers" key and restart the client.

Is Vibe Check MCP safe to use with Windsurf?

Requires an LLM provider API key (Gemini by default; OpenAI, Anthropic, or OpenRouter also supported) supplied via environment variables (e.g. GEMINI_API_KEY) or a .env file. The server invokes a second LLM, so prompts/context are sent to the configured provider. A CI-based security scan runs npm audit and source pattern checks; see SECURITY.md. v2.8.0+ updated the MCP SDK to 1.26 to address a cross-client data-leakage fix and resolved 14 npm audit vulnerabilities.

What problem does Vibe Check solve?

LLMs can confidently follow flawed plans and spiral into over-engineering or misalignment (pattern inertia / reasoning lock-in). Vibe Check provides an external nudge via short reflective pauses, improving reliability and safety.

Which LLM providers are supported?

Gemini (default), OpenAI, Anthropic (including Anthropic-compatible endpoints), and OpenRouter. Set DEFAULT_LLM_PROVIDER and the matching API key.

Which transports are supported?

Both STDIO and streamable HTTP. Transport resolution follows explicit flags (--stdio/--http) → MCP_TRANSPORT → default stdio. For HTTP, the default port is 2091.

View repo Full Vibe Check MCP page