Skip to content

Windsurf

Windsurf has first-class MCP support out of the box. Configuration lives at ~/.codeium/windsurf/mcp_config.json:

{
"mcpServers": {
"helix-ui": {
"command": "node",
"args": ["/absolute/path/to/your/project/node_modules/@helix-ui/mcp/bin/server.mjs"]
}
}
}

Restart Windsurf. The Cascade panel will show helix-ui under “Connected servers” and the eight helix-ui.* tools become available.

Combine with .windsurfrules

Windsurf also supports a project-level .windsurfrules file in the same format as Cursor’s. The .cursorrules template on the Cursor page works as-is — just rename it.

What’s special about Windsurf + helix-ui

Windsurf’s Cascade can run multi-step plans. helix-ui’s MCP server plays well here because each tool is idempotent and returns structured results. A typical Cascade plan against helix-ui:

1. helix-ui.list_presets — fetch the five built-in presets.
2. helix-ui.express_dna(noir) — turn noir into a DESIGN.md.
3. helix-ui.parse_design(...) — sanity-check the DESIGN.md round-trips.
4. helix-ui.validate(jsx) — verify the page Cascade generated uses
only legal components and props.

Each step’s output feeds the next without leaving the chat.

Troubleshooting

  • “Server failed to start.” Check that the path in mcp_config.json is absolute, not relative.
  • “Tools list is empty.” Run pnpm build:all once. The server reads manifests from apps/site/dist/.
  • “helix-ui.derive_dna_from_image throws.” Add OPENAI_API_KEY or ANTHROPIC_API_KEY to the env block of your mcp_config.json, not to your shell.