@wonderwhy-er/desktop-commander 0.1.21 → 0.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
 
10
10
  Short version. Two key things. Terminal commands and diff based file editing.
11
11
 
12
- ![Desktop Commander MCP](logo.png)
12
+ ![Desktop Commander MCP](https://raw.githubusercontent.com/wonderwhy-er/ClaudeComputerCommander/main/logo.png)
13
13
 
14
14
  <a href="https://glama.ai/mcp/servers/zempur9oh4">
15
15
  <img width="380" height="200" src="https://glama.ai/mcp/servers/zempur9oh4/badge" alt="Claude Desktop Commander MCP server" />
@@ -23,6 +23,7 @@ Short version. Two key things. Terminal commands and diff based file editing.
23
23
  - [Work in Progress and TODOs](#work-in-progress-and-todos)
24
24
  - [Media links](#media)
25
25
  - [Testimonials](#testimonials)
26
+ - [Frequently Asked Questions](#frequently-asked-questions)
26
27
  - [Contributing](#contributing)
27
28
  - [License](#license)
28
29
 
@@ -163,7 +164,7 @@ This project extends the MCP Filesystem Server to enable:
163
164
  Created as part of exploring Claude MCPs: https://youtube.com/live/TlbjFDbl5Us
164
165
 
165
166
  ## DONE
166
- - **25-03-2025 Better code search** ([in progress](https://github.com/wonderwhy-er/ClaudeDesktopCommander/pull/17)) - Enhanced code exploration with context-aware results
167
+ - **25-03-2025 Better code search** ([merged](https://github.com/wonderwhy-er/ClaudeDesktopCommander/pull/17)) - Enhanced code exploration with context-aware results
167
168
 
168
169
  ## Work in Progress and TODOs
169
170
 
@@ -176,6 +177,10 @@ The following features are currently being developed or planned:
176
177
  - **Support for SSH** - Remote server command execution
177
178
  - **Installation troubleshooting guide** - Comprehensive help for setup issues
178
179
 
180
+ ## Website
181
+
182
+ Visit our official website at [https://desktopcommander.app/](https://desktopcommander.app/) for the latest information, documentation, and updates.
183
+
179
184
  ## Media
180
185
  Learn more about this project through these resources:
181
186
 
@@ -185,30 +190,34 @@ Learn more about this project through these resources:
185
190
  ### Video
186
191
  [Claude Desktop Commander Video Tutorial](https://www.youtube.com/watch?v=ly3bed99Dy8) - Watch how to set up and use the Commander effectively.
187
192
 
193
+ ### Publication at AnalyticsIndiaMag
194
+ [![analyticsindiamag.png](testemonials%2Fanalyticsindiamag.png)
195
+ This Developer Ditched Windsurf, Cursor Using Claude with MCPs](https://analyticsindiamag.com/ai-features/this-developer-ditched-windsurf-cursor-using-claude-with-mcps/)
196
+
188
197
  ### Community
189
198
  Join our [Discord server](https://discord.gg/7cbccwRp) to get help, share feedback, and connect with other users.
190
199
 
191
200
  ## Testimonials
192
201
 
193
- [![It's a life saver! I paid Claude + Cursor currently which I always feel it's kind of duplicated. This solves the problem ultimately. I am so happy. Thanks so much. Plus today Claude has added the web search support. With this MCP + Internet search, it writes the code with the latest updates. It's so good when Cursor doesn't work sometimes or all the fast requests are used.](testemonials/img.png) https://www.youtube.com/watch?v=ly3bed99Dy8&lc=UgyyBt6_ShdDX_rIOad4AaABAg
202
+ [![It's a life saver! I paid Claude + Cursor currently which I always feel it's kind of duplicated. This solves the problem ultimately. I am so happy. Thanks so much. Plus today Claude has added the web search support. With this MCP + Internet search, it writes the code with the latest updates. It's so good when Cursor doesn't work sometimes or all the fast requests are used.](https://raw.githubusercontent.com/wonderwhy-er/ClaudeComputerCommander/main/testemonials/img.png) https://www.youtube.com/watch?v=ly3bed99Dy8&lc=UgyyBt6_ShdDX_rIOad4AaABAg
194
203
  ](https://www.youtube.com/watch?v=ly3bed99Dy8&lc=UgyyBt6_ShdDX_rIOad4AaABAg
195
204
  )
196
205
 
197
- [![This is the first comment I've ever left on a youtube video, THANK YOU! I've been struggling to update an old Flutter app in Cursor from an old pre null-safety version to a current version and implemented null-safety using Claude 3.7. I got most of the way but had critical BLE errors that I spent days trying to resolve with no luck. I tried Augment Code but it didn't get it either. I implemented your MCP in Claude desktop and was able to compare the old and new codebase fully, accounting for the updates in the code, and fix the issues in a couple of hours. A word of advice to people trying this, be sure to stage changes and commit when appropriate to be able to undo unwanted changes. Amazing!](testemonials/img_1.png)
206
+ [![This is the first comment I've ever left on a youtube video, THANK YOU! I've been struggling to update an old Flutter app in Cursor from an old pre null-safety version to a current version and implemented null-safety using Claude 3.7. I got most of the way but had critical BLE errors that I spent days trying to resolve with no luck. I tried Augment Code but it didn't get it either. I implemented your MCP in Claude desktop and was able to compare the old and new codebase fully, accounting for the updates in the code, and fix the issues in a couple of hours. A word of advice to people trying this, be sure to stage changes and commit when appropriate to be able to undo unwanted changes. Amazing!](https://raw.githubusercontent.com/wonderwhy-er/ClaudeComputerCommander/main/testemonials/img_1.png)
198
207
  https://www.youtube.com/watch?v=ly3bed99Dy8&lc=UgztdHvDMqTb9jiqnf54AaABAg](https://www.youtube.com/watch?v=ly3bed99Dy8&lc=UgztdHvDMqTb9jiqnf54AaABAg
199
208
  )
200
209
 
201
210
  [![Great! I just used Windsurf, bought license a week ago, for upgrading old fullstack socket project and it works many times good or ok but also many times runs away in cascade and have to revert all changes loosing hundereds of cascade tokens. In just a week down to less than 100 tokens and do not want to buy only 300 tokens for 10$. This Claude MCP ,bought claude Pro finally needed but wanted very good reason to also have next to ChatGPT, and now can code as much as I want not worrying about token cost.
202
- Also this is much more than code editing it is much more thank you for great video!](testemonials/img_2.png)
211
+ Also this is much more than code editing it is much more thank you for great video!](https://raw.githubusercontent.com/wonderwhy-er/ClaudeComputerCommander/main/testemonials/img_2.png)
203
212
  https://www.youtube.com/watch?v=ly3bed99Dy8&lc=UgyQFTmYLJ4VBwIlmql4AaABAg](https://www.youtube.com/watch?v=ly3bed99Dy8&lc=UgyQFTmYLJ4VBwIlmql4AaABAg)
204
213
 
205
- [![it is a great tool, thank you, I like using it, as it gives claude an ability to do surgical edits, making it more like a human developer.](testemonials/img_3.png)
214
+ [![it is a great tool, thank you, I like using it, as it gives claude an ability to do surgical edits, making it more like a human developer.](https://raw.githubusercontent.com/wonderwhy-er/ClaudeComputerCommander/main/testemonials/img_3.png)
206
215
  https://www.youtube.com/watch?v=ly3bed99Dy8&lc=Ugy4-exy166_Ma7TH-h4AaABAg](https://www.youtube.com/watch?v=ly3bed99Dy8&lc=Ugy4-exy166_Ma7TH-h4AaABAg)
207
216
 
208
217
  [![You sir are my hero. You've pretty much summed up and described my experiences of late, much better than I could have. Cursor and Windsurf both had me frustrated to the point where I was almost yelling at my computer screen. Out of whimsy, I thought to myself why not just ask Claude directly, and haven't looked back since.
209
218
  Claude first to keep my sanity in check, then if necessary, engage with other IDEs, frameworks, etc. I thought I was the only one, glad to see I'm not lol.
210
219
  33
211
- 1](testemonials/img_4.png)
220
+ 1](https://raw.githubusercontent.com/wonderwhy-er/ClaudeComputerCommander/main/testemonials/img_4.png)
212
221
  https://medium.com/@pharmx/you-sir-are-my-hero-62cff5836a3e](https://medium.com/@pharmx/you-sir-are-my-hero-62cff5836a3e)
213
222
 
214
223
  ## Contributing
@@ -226,6 +235,29 @@ All contributions, big or small, are greatly appreciated!
226
235
 
227
236
  If you find this tool valuable for your workflow, please consider [supporting the project](https://www.buymeacoffee.com/wonderwhyer).
228
237
 
238
+ ## Frequently Asked Questions
239
+
240
+ Here are answers to some common questions. For a more comprehensive FAQ, see our [detailed FAQ document](FAQ.md).
241
+
242
+ ### What is Claude Desktop Commander?
243
+ It's an MCP tool that enables Claude Desktop to access your file system and terminal, turning Claude into a versatile assistant for coding, automation, codebase exploration, and more.
244
+
245
+ ### How is this different from Cursor/Windsurf?
246
+ Unlike IDE-focused tools, Claude Desktop Commander provides a solution-centric approach that works with your entire OS, not just within a coding environment. Claude reads files in full rather than chunking them, can work across multiple projects simultaneously, and executes changes in one go rather than requiring constant review.
247
+
248
+ ### Do I need to pay for API credits?
249
+ No. This tool works with Claude Desktop's standard Pro subscription ($20/month), not with API calls, so you won't incur additional costs beyond the subscription fee.
250
+
251
+ ### What are the most common use cases?
252
+ - Exploring and understanding complex codebases
253
+ - Generating diagrams and documentation
254
+ - Automating tasks across your system
255
+ - Working with multiple projects simultaneously
256
+ - Making surgical code changes with precise control
257
+
258
+ ### I'm having trouble installing or using the tool. Where can I get help?
259
+ Join our [Discord server](https://discord.gg/kQ27sNnZr7) for community support, check the [GitHub issues](https://github.com/wonderwhy-er/ClaudeComputerCommander/issues) for known problems, or review the [full FAQ](FAQ.md) for troubleshooting tips. You can also visit our [website FAQ section](https://desktopcommander.app#faq) for a more user-friendly experience. If you encounter a new issue, please consider [opening a GitHub issue](https://github.com/wonderwhy-er/ClaudeComputerCommander/issues/new) with details about your problem.
260
+
229
261
  ## License
230
262
 
231
- MIT
263
+ MIT
package/dist/server.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
2
- import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
2
+ import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ListPromptsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
3
3
  import { zodToJsonSchema } from "zod-to-json-schema";
4
4
  import { commandManager } from './command-manager.js';
5
5
  import { ExecuteCommandArgsSchema, ReadOutputArgsSchema, ForceTerminateArgsSchema, ListSessionsArgsSchema, KillProcessArgsSchema, BlockCommandArgsSchema, UnblockCommandArgsSchema, ReadFileArgsSchema, ReadMultipleFilesArgsSchema, WriteFileArgsSchema, CreateDirectoryArgsSchema, ListDirectoryArgsSchema, MoveFileArgsSchema, SearchFilesArgsSchema, GetFileInfoArgsSchema, EditBlockArgsSchema, SearchCodeArgsSchema, } from './tools/schemas.js';
@@ -15,8 +15,24 @@ export const server = new Server({
15
15
  }, {
16
16
  capabilities: {
17
17
  tools: {},
18
+ resources: {}, // Add empty resources capability
19
+ prompts: {}, // Add empty prompts capability
18
20
  },
19
21
  });
22
+ // Add handler for resources/list method
23
+ server.setRequestHandler(ListResourcesRequestSchema, async () => {
24
+ // Return an empty list of resources
25
+ return {
26
+ resources: [],
27
+ };
28
+ });
29
+ // Add handler for prompts/list method
30
+ server.setRequestHandler(ListPromptsRequestSchema, async () => {
31
+ // Return an empty list of prompts
32
+ return {
33
+ prompts: [],
34
+ };
35
+ });
20
36
  server.setRequestHandler(ListToolsRequestSchema, async () => {
21
37
  return {
22
38
  tools: [
@@ -73,7 +73,7 @@ try {
73
73
 
74
74
  // Prepare the new server config based on OS
75
75
  // Determine if running through npx or locally
76
- const isNpx = import.meta.url.endsWith('dist/setup-claude-server.js');
76
+ const isNpx = import.meta.url.endsWith('dist/setup-claude-server.js');
77
77
 
78
78
  const serverConfig = isNpx ? {
79
79
  "command": "npx",
@@ -87,27 +87,26 @@ try {
87
87
  ]
88
88
  };
89
89
 
90
- // Add or update the terminal server config
90
+ // Initialize mcpServers if it doesn't exist
91
91
  if (!config.mcpServers) {
92
92
  config.mcpServers = {};
93
93
  }
94
94
 
95
- config.mcpServers.desktopCommander = serverConfig;
96
-
97
- // Add puppeteer server if not present
98
- /*if (!config.mcpServers.puppeteer) {
99
- config.mcpServers.puppeteer = {
100
- "command": "npx",
101
- "args": ["-y", "@modelcontextprotocol/server-puppeteer"]
102
- };
103
- }*/
95
+ // Check if the old "desktopCommander" exists and remove it
96
+ if (config.mcpServers.desktopCommander) {
97
+ logToFile('Found old "desktopCommander" installation. Removing it...');
98
+ delete config.mcpServers.desktopCommander;
99
+ }
100
+
101
+ // Add or update the terminal server config with the proper name "desktop-commander"
102
+ config.mcpServers["desktop-commander"] = serverConfig;
104
103
 
105
104
  // Write the updated config back
106
105
  writeFileSync(claudeConfigPath, JSON.stringify(config, null, 2), 'utf8');
107
106
 
108
- logToFile('Successfully added MCP servers to Claude configuration!');
107
+ logToFile('Successfully added MCP server to Claude configuration!');
109
108
  logToFile(`Configuration location: ${claudeConfigPath}`);
110
- logToFile('\nTo use the servers:\n1. Restart Claude if it\'s currently running\n2. The servers will be available in Claude\'s MCP server list');
109
+ logToFile('\nTo use the server:\n1. Restart Claude if it\'s currently running\n2. The server will be available as "desktop-commander" in Claude\'s MCP server list');
111
110
 
112
111
  } catch (error) {
113
112
  logToFile(`Error updating Claude configuration: ${error}`, true);
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const VERSION = "0.1.21";
1
+ export declare const VERSION = "0.1.23";
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- export const VERSION = '0.1.21';
1
+ export const VERSION = '0.1.23';
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@wonderwhy-er/desktop-commander",
3
- "version": "0.1.21",
3
+ "version": "0.1.23",
4
4
  "description": "MCP server for terminal operations and file editing",
5
5
  "license": "MIT",
6
6
  "author": "Eduards Ruzga",
7
- "homepage": "https://github.com/wonderwhy-er/ClaudeComputerCommander",
8
- "bugs": "https://github.com/wonderwhy-er/ClaudeComputerCommander/issues",
7
+ "homepage": "https://github.com/wonderwhy-er/DesktopCommanderMCP",
8
+ "bugs": "https://github.com/wonderwhy-er/DesktopCommanderMCP/issues",
9
9
  "type": "module",
10
10
  "bin": {
11
11
  "desktop-commander": "dist/index.js",
@@ -31,7 +31,7 @@
31
31
  "link:local": "npm run build && npm link",
32
32
  "unlink:local": "npm unlink",
33
33
  "inspector": "npx @modelcontextprotocol/inspector dist/index.js",
34
- "npm-publish": "npm publish"
34
+ "publish": "npm publish"
35
35
  },
36
36
  "publishConfig": {
37
37
  "access": "public"