@wonderwhy-er/desktop-commander
Version:
MCP server for terminal operations and file editing
40 lines (39 loc) • 1.62 kB
JavaScript
// Simplified entry point for DXT that avoids configuration loading issues
import { FilteredStdioServerTransport } from './custom-stdio.js';
import { server } from './server.js';
async function runDXTServer() {
try {
console.error("Starting Desktop Commander MCP for DXT...");
// Create transport
const transport = new FilteredStdioServerTransport();
// Handle process errors gracefully
process.on('uncaughtException', (error) => {
console.error(`[DXT] Uncaught exception: ${error.message}`);
// Don't exit immediately - let the server handle it
});
process.on('unhandledRejection', (reason) => {
console.error(`[DXT] Unhandled rejection: ${reason}`);
// Don't exit immediately - let the server handle it
});
// Connect server
console.error("Connecting MCP server...");
await server.connect(transport);
console.error("MCP server connected successfully");
}
catch (error) {
const errorMessage = error instanceof Error ? error.message : String(error);
const errorStack = error instanceof Error ? error.stack : undefined;
console.error(`[DXT] FATAL ERROR: ${errorMessage}`);
if (errorStack) {
console.error(`[DXT] Stack: ${errorStack}`);
}
process.exit(1);
}
}
// Run the server
runDXTServer().catch((error) => {
const errorMessage = error instanceof Error ? error.message : String(error);
console.error(`[DXT] Failed to start: ${errorMessage}`);
process.exit(1);
});