Model Context Protocol server for terminal operations and file editing
Execute terminal commands, manage processes, and perform advanced file operations through Claude Desktop via MCP.
Desktop Commander brings terminal access and file system operations directly into Claude Desktop through the Model Context Protocol.
- 🖥️ Terminal Control: Execute commands and manage long-running processes
- 📁 File Operations: Read, write, search, and edit files with precision
- 🔍 Code Search: Advanced search capabilities using ripgrep
- 🔄 Process Management: Handle SSH sessions, development servers, and background tasks
- 🖥️ Enhanced Terminal Control: Interactive process management with session support
- 🐍 Code Execution: Run Python, Node.js, R code in memory without saving files
- 📊 Instant Data Analysis: Analyze CSV/JSON files directly in chat
- 🔍 Advanced File Search: Fuzzy search across your entire codebase
- ✏️ Surgical Code Editing: Precise file modifications with diff previews
- 🔄 Process Management: Handle SSH, databases, development servers seamlessly
npx @chriscoletech/desktop-commander-mcp@latest setup
Add to your Claude Desktop config file (claude_desktop_config.json
):
{
"mcpServers": {
"desktop-commander": {
"command": "npx",
"args": ["@chriscoletech/desktop-commander-mcp"]
}
}
}
After installation, restart Claude Desktop to activate the MCP server.
Desktop Commander provides these tools through the Model Context Protocol:
read_file
- Read file contents with optional offset/length parametersread_multiple_files
- Read multiple files simultaneouslywrite_file
- Write or append to filescreate_directory
- Create directories or ensure they existlist_directory
- Get detailed directory listingsmove_file
- Move or rename files and directoriesget_file_info
- Get detailed file/directory metadata
search_files
- Find files by name (substring matching)search_code
- Search text/code patterns in files using ripgrepedit_block
- Apply surgical text replacements to files
start_process
- Start terminal processes with intelligent state detectionread_process_output
- Read output from running processesinteract_with_process
- Send input to processes and get responseslist_sessions
- List all active terminal sessionsforce_terminate
- Force terminate terminal sessionslist_processes
- List all running system processeskill_process
- Terminate processes by PID
execute_command
- Execute terminal commands (legacy)read_output
- Read command output (legacy)
get_config
- Get complete server configuration as JSONset_config_value
- Set specific configuration valuesget_usage_stats
- Get usage statistics for debugginggive_feedback_to_desktop_commander
- Open feedback form in browser
📖 Full Documentation - Comprehensive guide with detailed examples, production deployment, troubleshooting, and advanced configuration.
See also:
- FAQ - Common questions and solutions
- Privacy Policy - Data handling and privacy information
- Release Process - Development and release workflow
MIT License - see LICENSE file for details.
⭐ Star this repository if you find it useful!
🐛 Report issues or suggest features at GitHub Issues
Get started today - npx @chriscoletech/desktop-commander-mcp@latest setup
and bring terminal access into Claude Desktop!