@developkiko/desktop-commander
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@developkiko/desktop-commanderrun 'ls -la' and show output"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π·πΊ Π ΡΡΡΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ
π Table of Contents
Related MCP server: Simple SSH MCP Server
π§ What is this?
Desktop Commander is an MCP (Model Context Protocol) server that gives AI assistants like Claude, Chatbox, Cursor, and others direct access to your computer's file system and terminal.
With it, an LLM agent can:
π Create, read, edit, and delete files and folders
π Search for files and text across your project
π₯οΈ Run terminal commands and Python scripts
π Work with PDFs, Excel files, and images
βοΈ Perform surgical text replacements with
edit_block
This is a maintained fork with critical bug fixes β see below.
β¨ What's Fixed?
The original Desktop Commander had a critical issue: no content size limits in file operations. When an AI tried to write files larger than ~500 lines, the entire content was sent as a single MCP JSON-RPC message, causing:
β
Unterminated string in JSON at position 37769
π΄ Problem 1: write_file buffer overflow
Before (original): Writing 5000 lines β 1 giant JSON-RPC string β stdio buffer overflows β JSON.parse crash
After (fixed): Content is automatically split into 30-line chunks, each written in a separate MCP call:
Chunk | Mode | Content |
#1 | rewrite | Lines 1β30 |
#2 | append | Lines 31β60 |
#3 | append | Lines 61β90 |
... | append | ... |
#167 | append | Lines 4971β5000 |
π΄ Problem 2: No size validation for read/write
Before: writeFile() could receive 500MB+ in one call β OOM. readFile() could load a 2GB file β heap overflow.
After: Explicit byte limits with clear error messages:
writeFile(): 10 MB max content sizereadFileInternal(): 50 MB max file sizehandleWriteFile(): 10,000 lines hard cap with auto-chunking up to that limit
π΄ Problem 3: Windows path handling
Paths are now properly normalized regardless of slash direction (/ vs \).
π¦ Installation
Option A: Via npx (recommended)
npx @developkiko/desktop-commander@latestOption B: Global install
npm install -g @developkiko/desktop-commander
desktop-commanderOption C: Local development
# Clone and build
git clone https://github.com/developkiko/DsktpCmndr.git
cd DsktpCmndr
npm install
npm run build
# Run directly
node dist/index.jsβοΈ Configuration in Chatbox AI
To use this server in Chatbox AI:
Open Settings β MCP Servers
Click Add MCP Server (or edit existing)
Fill in:
Field | Value |
Name |
|
Type |
|
Command |
|
Args |
|
Env | (leave empty unless needed) |
Save and restart Chatbox
Or, for the local build:
Command:
nodeArgs:
E:\LLM\mcps\DsktpCmndr\dist\index.js
π§ Available Tools
# | Tool | Description |
1 |
| Read files (text, PDF, Excel, images) with |
2 |
| Read multiple files at once |
3 |
| Auto-chunking! Writes files with automatic splitting for large content |
4 |
| Surgical find-and-replace in files |
5 |
| Create folders (recursive) |
6 |
| List folder contents with configurable depth |
7 |
| Move or rename files |
8 |
| Get file metadata (size, dates, line count, sheets) |
9 |
| Create and modify PDF files |
10 |
| Run terminal commands and REPLs (Python, Node.js, etc.) |
11 |
| Read process output with pagination |
12 |
| Send input to a running process |
13 |
| Stop a running process |
14 |
| Kill a process by PID |
15 |
| Search files by name or content (streaming) |
16 |
| View server configuration |
17 |
| Modify server configuration |
π‘ Usage Examples
π Creating a project structure
"Create folders for a React project:
src/components,src/pages,src/hooks,public, and a blankREADME.md"
flowchart LR
A["π₯οΈ You ask AI"] --> B["create_directory('src/components')"]
A --> C["create_directory('src/pages')"]
A --> D["create_directory('src/hooks')"]
A --> E["create_directory('public')"]
A --> F["write_file('README.md','# My Project')"]π Searching for text in files
"Find all
.tsfiles inE:\WORK\my\GameDevthat containGameLoopand show the first 10 lines"
start_search(path="E:\WORK\my\GameDev", pattern="GameLoop", searchType="content", filePattern="*.ts")get_more_search_results(sessionId)For each result:
read_file(path, offset=0, length=10)
π Analyzing a large CSV
Bad approach: β "Read this 500MB CSV file" β MCP buffer overflow
Good approach: β "Read the first 5 lines of
sales.csvto see headers, then start Python and analyze with pandas"
1. read_file("sales.csv", offset=0, length=5) β shows headers
2. start_process("python -i")
3. import pandas as pd
4. df = pd.read_csv("E:/DATA/sales.csv") β Python reads directly
5. df.groupby("Region")["Amount"].sum() β analysis in Pythonπ Running a Python script
"Run
E:\scripts\backup.pyand tell me what it outputs"
1. start_process("python E:\scripts\backup.py")
2. read_process_output(pid)βοΈ Replacing text across files
"Replace
console.logwithlogger.infoin all.jsfiles inE:\WORK\app"
1. start_search(path="E:\WORK\app", pattern="console.log", filePattern="*.js")
2. For each match: edit_block(file, old="console.log", new="logger.info")π Why This Fork?
The original Desktop Commander by wonderwhy-er is a fantastic project. This fork exists to:
Fix the critical auto-chunking bug β large files would crash the MCP transport
Add proper size validation β prevent OOM from accidental giant file reads/writes
Provide ongoing maintenance β as an independent community fork
Ensure Windows compatibility β proper path handling for Windows users
All credit for the original architecture goes to wonderwhy-er and contributors.
π Links
Resource | Link |
π¦ npm | |
π GitHub | |
π Original | |
π¬ MCP Protocol |
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/developkiko/DsktpCmndr'
If you have feedback or need assistance with the MCP directory API, please join our Discord server