Data as of
Desktop Commander MCP for Windsurf: Setup & Config
Desktop Commander MCP gives Windsurf local file, document, terminal, and process-management tools.
What you can do with Desktop Commander in Windsurf
Give assistants a unified local workspace for files, documents, interactive terminals, and processes.
- Analyze local CSV, JSON, or spreadsheet files through interactive processes.
- Search directories and apply focused edits to documents or code.
- Manage active terminal sessions and operating-system processes.
Before you start: Desktop Commander in Windsurf
- Node.js for the npm configuration
- An MCP-compatible client
This is the README's manual MCP configuration. The setup command npx @wonderwhy-er/desktop-commander@latest setup can configure Claude Desktop instead. Restart the client afterward. Docker is documented as an alternative without local Node.js.
Desktop Commander Windsurf configuration
Choose Windsurf configuration scope
For Desktop Commander MCP, open macOS/Linux: ~/.codeium/windsurf/mcp_config.json Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json. Merge into mcpServers; remote endpoints use serverUrl.
Add Desktop Commander MCP to Windsurf
Use the DesktopCommanderMCP entry below in mcpServers. Keep Desktop Commander MCP's documented stdio connection fields and your other Windsurf entries.
Check Desktop Commander MCP in Windsurf
Desktop Commander MCP: Refresh MCP in Windsurf settings and inspect Cascade’s tools.
Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json
Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json
{
"mcpServers": {
"DesktopCommanderMCP": {
"command": "npx",
"args": [
"-y",
"@wonderwhy-er/desktop-commander@latest"
],
"env": {}
}
}
}Desktop Commander tools available to Windsurf
Desktop Commander's stored tool list documents 26 tools; compare it with Windsurf's connected tool list, because the stored list is not a live check.
- get_config
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for get_config.
- set_config_value
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for set_config_value.
- read_file
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for read_file.
- read_multiple_files
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for read_multiple_files.
- write_file
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for write_file.
- write_pdf
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for write_pdf.
- create_directory
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for create_directory.
- list_directory
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for list_directory.
Inspect a directory with separate file and directory entries.
- move_file
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for move_file.
Move or rename files and directories within permitted locations.
- start_search
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for start_search.
Begin a streaming file or content search.
- get_more_search_results
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for get_more_search_results.
Retrieve another portion of results from an active search.
- stop_search
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for stop_search.
Stop a background search when it is no longer needed.
- list_searches
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for list_searches.
Inspect active search IDs, patterns, status, and runtime.
- get_file_info
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for get_file_info.
- edit_block
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for edit_block.
- start_process
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for start_process.
- read_process_output
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for read_process_output.
- interact_with_process
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for interact_with_process.
- force_terminate
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for force_terminate.
- list_sessions
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for list_sessions.
Inspect active terminal sessions and their process state.
- list_processes
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for list_processes.
List operating-system processes with CPU and memory information.
- kill_process
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for kill_process.
Forcefully terminate a process identified by PID.
- get_usage_stats
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for get_usage_stats.
Read tool usage, success rates, and performance summaries.
- get_recent_tool_calls
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for get_recent_tool_calls.
Inspect recent session tool calls with arguments and outputs.
- give_feedback_to_desktop_commander
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for give_feedback_to_desktop_commander.
Open the project's feedback form in a browser for manual completion.
- get_prompts
After refreshing Desktop Commander in Windsurf settings, check Cascade's tool list for get_prompts.
Retrieve a specific onboarding prompt by identifier.
Troubleshooting Desktop Commander in Windsurf
- Check npx @wonderwhy-er/desktop-commander@latest (Node.js/npm) on the machine running Windsurf's MCP integration for Desktop Commander MCP; refresh MCP and inspect Cascade's tools.
- Desktop Commander MCP uses stdio here: Windsurf must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
- Known limitation: The npm installation route requires Node.js.
- Known limitation: Docker needs explicit folder mounts to access host files.
- Known limitation: Configuration changes carry a documented warning to separate them from execution and file-work chats.
- General Windsurf troubleshooting lives in the /clients/windsurf guide.
Desktop Commander MCP — details. Windsurf guide