Home · Setup · Windsurf

MCP Onboarding in Windsurf

New-hire onboarding plans: one hire at a time or a whole cohort from a role template. You add a hire (name, role, start day), build their task plan with owners (hr, manager or it) and due dates counted from the start, or apply a role template once and let every hire in that role inherit it with the template's version recorded. Mark tasks done or skipped as they happen (skipped is a deliberate dismissal that never counts as done), watch percent complete and overdue per hire, and onboarding_overdue lists everything still outstanding past its due date, most overdue first. Editing a template after applying it never changes a hire who already copied it.

Seven tools against Cascade's ceiling of 100, and it pairs naturally with mcp-leave, which takes the hire's first vacation once they exist, and mcp-kanban, which can mirror the task board; budget the pair at roughly 14 tools when you decide what else fits alongside them.

What you get in Windsurf

You sayTool
Ada Lovelace starts Monday as analytics-engineer; set her up.onboarding_hire_add
Apply the analytics-engineer template to her plan.onboarding_template_apply
What is still outstanding for Ada, and anything overdue across the team?onboarding_progress then onboarding_overdue

The unit suite is 18 tests, 18 passing, 0 failing (node --test, node v22), covering the template copy and version stamp, the done/skipped split and the overdue ordering; adversarial, concurrency and contract suites sit alongside it.

Install it in Windsurf

The file is mcp_config.json, and the key inside it is mcpServers.

ScopePath
macOS, Windows and Linux~/.codeium/windsurf/mcp_config.json

If you also run Claude Desktop, the shortest path there is one click: onboarding.mcpb from the latest release opens as an extension, with no JSON and no terminal. Windsurf reads its own config, so here it is:

The config block:

{
  "mcpServers": {
    "onboarding": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-servers/servers/onboarding/dist/index.js"]
    }
  }
}

The node command above wants a built file. From a clone, once:

git clone https://github.com/theluckystrike/mcp-servers.git
cd mcp-servers && npm install
npm run build -w packages/mcp-license -w servers/onboarding

That writes servers/onboarding/dist/index.js, and its absolute path is the one argument the config needs.

The npm packages are not published yet, so the form below returns a 404 today. It is here because it is what the entry becomes the day the publish lands, with nothing else changed:

{
  "mcpServers": {
    "onboarding": {
      "command": "npx",
      "args": ["-y", "@theluckystrike/mcp-onboarding"]
    }
  }
}

Save and reopen the MCP Servers list; Cascade picks it up without restarting the editor.

Nothing is published to npm yet, so the working install paths are the ones above: the .mcpb bundle from the latest release, a clone and build, or the hosted URL.

No install: the hosted endpoint

The same server runs at https://mcp.zovo.one/mcp/onboarding over MCP streamable HTTP, no install. Mint a free token with curl https://mcp.zovo.one/mcp/token, or use a Pro key. It has no filesystem, so a file comes back as a one-hour download link.

{
  "mcpServers": {
    "onboarding": {
      "url": "https://mcp.zovo.one/mcp/onboarding",
      "headers": { "Authorization": "Bearer <token>" }
    }
  }
}

Windsurf notes worth knowing first

Read this first: mcp_config.json applies to the legacy Cascade agent only. The Devin Local agent, the default for new tabs, takes its servers from the Devin CLI config files, so a correct entry here can still be invisible in a fresh tab. The other hard number is a cap: Cascade reaches at most 100 tools at once, and every enabled server spends from it.

Free: Every tool is free for one hire at a time: add, list, tasks, done, one-hire template apply, progress and overdue. Up to 500 rows on every list on every tier. Pro is $19 once, verified offline.

Questions

Where does Windsurf keep its MCP config?

~/.codeium/windsurf/mcp_config.json, under mcpServers. Reach it from the MCPs icon at the top right of the Cascade panel, or Devin Settings, Cascade, MCP Servers.

I edited the file and a new tab still cannot see MCP Onboarding.

That file applies to the legacy Cascade agent only. The Devin Local agent, the default for new tabs, reads its servers from the Devin CLI config files instead. Check which agent the tab runs.

How many servers can I load at once?

Cascade reaches at most 100 tools at any one time, and every enabled server spends from that single budget. MCP Onboarding contributes 7 tools, so keep the enabled list short rather than counting servers.

Related

MCP Onboarding in detail · The same server in VS Code and Cline · Every server in Windsurf · Guides · Windsurf docs · Buy Pro