
How to add Zen MCP Server (now PAL) to Windsurf
The renamed zen-mcp-server: routes Claude Code, Codex or Cursor to Gemini, GPT, Grok and local models in one context. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.
Last updated June 14, 2026 · 12k★ · stdio · apikey
Windsurf config for Zen MCP Server (now PAL)
git clone https://github.com/BeehiveInnovations/pal-mcp-server.git && cd pal-mcp-server && ./run-server.sh{
"mcpServers": {
"zen-mcp-server-now-pal": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/BeehiveInnovations/pal-mcp-server.git",
"pal-mcp-server"
],
"env": {
"GEMINI_API_KEY": "<your-gemini-key>",
"DEFAULT_MODEL": "auto",
"DISABLED_TOOLS": "analyze,refactor,testgen,secaudit,docgen,tracer"
}
}
}
}Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.
Setup steps
- 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
- 2Paste the Zen MCP Server (now PAL) config below.
- 3Fill in placeholder secrets, then save.
- 4Click Refresh in the MCP panel.
- 5Zen MCP Server (now PAL)'s tools become available to Cascade.
Before you start
- Python 3.10+, Git, and uv/uvx installed
- At least one provider API key: OpenRouter, Gemini, OpenAI, Azure OpenAI, X.AI, DIAL — or a local Ollama for free/private models
- A CLI or IDE client to orchestrate from: Claude Code, Codex CLI, Gemini CLI, Qwen Code, Cursor, or the Claude VS Code extension
What Zen MCP Server (now PAL) can do in Windsurf
clinkCLI-to-CLI bridge: spawn Gemini/Codex/Claude subagents in isolated contexts with role prompts
chatBrainstorm and get second opinions from other models
thinkdeepExtended reasoning and edge-case analysis
plannerBreak complex projects into structured, actionable plans
consensusStructured multi-model debate with stance steering
debugSystematic root-cause investigation with hypothesis tracking
precommitValidate changes before committing to prevent regressions
codereviewMulti-pass reviews with severity levels and actionable feedback
Security
Runs locally over stdio; your provider API keys (Gemini/OpenAI/OpenRouter/etc.) live in env or .env and are sent only to those providers. Be aware that code and files you route through its tools are forwarded to whichever external models you invoke — use the Ollama local-model path if that's unacceptable. Old zen-mcp-server configs keep working via GitHub's redirect, but ZEN-prefixed env vars should become PAL.
Zen MCP Server (now PAL) + Windsurf FAQ
Where is the Windsurf config file?
Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Zen MCP Server (now PAL) config there under the "mcpServers" key and restart the client.
Is Zen MCP Server (now PAL) safe to use with Windsurf?
Runs locally over stdio; your provider API keys (Gemini/OpenAI/OpenRouter/etc.) live in env or .env and are sent only to those providers. Be aware that code and files you route through its tools are forwarded to whichever external models you invoke — use the Ollama local-model path if that's unacceptable. Old zen-mcp-server configs keep working via GitHub's redirect, but ZEN-prefixed env vars should become PAL.
Is Zen MCP Server dead? Why does GitHub redirect to pal-mcp-server?
It's not dead — it was renamed. Zen MCP is now PAL MCP (Provider Abstraction Layer) under the same BeehiveInnovations org; GitHub 301-redirects the old URL, and the maintainers state the software and workflows are identical. The rename avoided confusion with a similarly named product. Update ZEN-prefixed env vars to PAL and re-run run-server.sh.
Is it free and safe to use?
The server is free, Apache-2.0, and runs locally over stdio — but the models it consults aren't free: you pay per-token on every provider you configure (Ollama being the local zero-cost exception). Safety-wise, code you route through its tools is sent to those external model providers, so keep secrets out of prompts or stay on local models.
Do I need multiple API keys for it to be useful?
No — one key is enough to start, and OpenRouter alone unlocks dozens of models through a single key. The value comes from having at least one strong second model (Gemini 3.0 Pro or a GPT-5-class model) for your primary CLI to consult; add more providers only when you want specific strengths like O3 reasoning or local privacy.