Skip to main content
Windsurf (by Codeium) supports MCP servers via a JSON config file. Register Perfai globally so it’s available across all workspaces, or add it per-project.
The package binary is perfai-mcp-server. Always launch it with npx --yes --package=@perfai/mcp@latest perfai-mcp-servernpx @perfai/mcp alone fails with “could not determine executable to run.”
Authentication uses your Perfai username and password via the PERFAI_USERNAME / PERFAI_PASSWORD environment variables. Because these sit in plaintext, prefer global config and don’t commit credentials to a shared repo.

Global installation

File: ~/.codeium/windsurf/mcp_config.json
Create the file if it doesn’t exist:

Project-scoped installation

Add .windsurf/mcp.json to your project root:
Don’t commit .windsurf/mcp.json if it contains your PERFAI_PASSWORD — add it to .gitignore, or keep credentials in the global config instead.

Enable the server in Windsurf

After saving the config:
  1. Open Windsurf SettingsMCP Servers.
  2. Confirm perfai-mcp appears and shows a connected status.
  3. If it shows as disconnected, click Restart.
Alternatively, use the Windsurf command palette and search for “MCP: Refresh Servers”.

Login

The prompts below run inside the Windsurf Cascade chat, not your terminal. The only terminal/file steps are creating the config file.
In the Windsurf AI panel (Cascade), type:
The server reads PERFAI_USERNAME / PERFAI_PASSWORD from the config, signs you in, and saves the session locally. Confirm with:

Select an organization and app


List issues

Findings are grouped into security, design, and quality categories.

Generate fixes

By ID (sequence number, issue ID, or description):
By category:
For all / by severity — ask Cascade to iterate: