Connect BankSync to Windsurf

Connect BankSync MCP server to Windsurf IDE to build fintech applications with real bank data in Codeium's AI-powered editor.

See the Windsurf MCP docs for more detail.

Prerequisites

  • A BankSync account with at least one connected bank
  • An API key with all permission scopes (created from Workspace → Developers)

Configuration

Add the BankSync server to your Windsurf MCP configuration, replacing the placeholder with your API key:

MCP config (JSON)
{
"mcpServers": {
"banksync": {
"url": "https://mcp.banksync.io",
"headers": {
"X-API-Key": "bsk_your_api_key_here"
}
}
}
}

Where it goes: ~/.codeium/windsurf/mcp_config.json (macOS / Linux) · %USERPROFILE%\.codeium\windsurf\mcp_config.json (Windows)

Alternative: npm Package (@banksync/mcp, bridges stdio to the remote server)

Alternative: npm Package (@banksync/mcp, bridges stdio to the remote server)
{
"mcpServers": {
"banksync": {
"command": "npx",
"args": ["-y", "@banksync/mcp"],
"env": {
"BANKSYNC_API_KEY": "bsk_your_api_key_here"
}
}
}
}
Tip. Windsurf uses serverUrl instead of url in the MCP config. Make sure to use the correct key name.
Tip. You can open the MCP config from the MCPs icon in the Cascade panel, or edit the file directly.
Server URL. BankSync’s MCP server is at https://mcp.banksync.io over Streamable HTTP, authenticated with your X-API-Key. If Windsurf can’t reach a remote server, use the local bridge npx -y @banksync/mcp with BANKSYNC_API_KEY set.

Verify your connection

Restart your client and try these prompts to confirm the connection works:

List my workspaces
What banks do I have connected?
What’s my checking account balance?

Troubleshooting

“No tools available” or the MCP server is not listed

  • Make sure you restarted your AI client after editing the config file.
  • Verify the JSON/YAML is valid (no trailing commas, correct brackets).
  • Check the URL is exactly https://mcp.banksync.io.

“Authentication failed” or “Invalid API key”

  • Confirm the key starts with bsk_ and has not been revoked.
  • Ensure the key is passed in the X-API-Key header.
  • Check for stray whitespace or newlines around the key value.

Connection timeout or the client lacks remote HTTP support

  • The server uses Streamable HTTP. Allow outbound HTTPS to mcp.banksync.io.
  • If your client only supports local servers, use the npm bridge: npx -y @banksync/mcp.

Tools are listed but return errors

  • Verify your API key has the required scopes — for full access, select all scopes when creating the key.
  • Make sure you have at least one bank connected in the BankSync app.
  • Check that you are passing the correct workspace ID when prompted.

Debugging with MCP Inspector

  • Use the MCP Inspector to test the connection independently of your AI client.
  • Run: npx @modelcontextprotocol/inspector --url https://mcp.banksync.io--header "X-API-Key: bsk_your_key"
  • If the Inspector connects but your client does not, the issue is your client configuration.

Frequently asked questions

Where is the Windsurf MCP config file?

On macOS and Linux: ~/.codeium/windsurf/mcp_config.json. On Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json. You can also open it from the MCPs icon in the Cascade panel.

Why does Windsurf use "serverUrl" instead of "url"?

Windsurf uses "serverUrl" as the key name for MCP server URLs in its configuration, unlike Cursor and VS Code which use "url". Make sure to use "serverUrl" in your Windsurf MCP config.