
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
- 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
- 2Paste the Vibe Check MCP config below.
- 3Fill in placeholder secrets, then save.
- 4Click Refresh in the MCP panel.
- 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_checkChallenge 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_learnOptionally capture mistakes, preferences, and successes to build a history for future reflection and self-improvement.
update_constitutionSet or merge a per-session rule set (constitution) that the CPI layer will honor, keyed by sessionId.
reset_constitutionClear the constitution rules for a given session.
check_constitutionReturn 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.