{"_id":"@cool-mcp/desktop-automation","_rev":"10-269c681c7a53234b8e8b4fbc770c57ae","name":"@cool-mcp/desktop-automation","dist-tags":{"latest":"1.0.9"},"versions":{"1.0.0":{"name":"@cool-mcp/desktop-automation","version":"1.0.0","keywords":["mcp","model-context-protocol","desktop-automation","mouse","keyboard","screenshot","window-management","ai-agent"],"author":"","license":"MIT","_id":"@cool-mcp/desktop-automation@1.0.0","maintainers":[{"name":"cool-js","email":"team@cool-js.com"}],"bin":{"desktop-automation":"dist/index.js"},"dist":{"shasum":"38225e89ba35d38d0d4053595fcc51d335886445","tarball":"https://registry.npmjs.org/@cool-mcp/desktop-automation/-/desktop-automation-1.0.0.tgz","fileCount":26,"integrity":"sha512-8at1tNkLFe5ZLRZZN93aVbJi3GsM3oz8z96U3JSGfScDtQ13dLMarEr5IrP5iDDMlBsUvmp7YVcBrRcJNkC0Ew==","signatures":[{"sig":"MEUCIQCq5BMckQijYYrfIgD6hMngW3eDX0yiQoVf4yKrpyxduAIgIriDmyRGnF+LeLCUVw59+7YludYgeBVa7zdOKx1X/Yc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118942},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"edf0dc32963dc56b117f1c0fdf84bd635b8e915b","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"cool-js","email":"team@cool-js.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.4","description":"MCP server for desktop automation - mouse, keyboard, screenshot, window management","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^3.23.0","jimp":"1.6.0","node-screenshots":"^0.2.1","@computer-use/nut-js":"^4.2.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/desktop-automation_1.0.0_1766735896706_0.8277378967941151","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@cool-mcp/desktop-automation","version":"1.0.1","keywords":["mcp","model-context-protocol","desktop-automation","mouse","keyboard","screenshot","window-management","ai-agent"],"author":"","license":"MIT","_id":"@cool-mcp/desktop-automation@1.0.1","maintainers":[{"name":"cool-js","email":"team@cool-js.com"}],"bin":{"desktop-automation":"dist/index.js"},"dist":{"shasum":"0830a0705729749e565d7db67f7f62a9318ee493","tarball":"https://registry.npmjs.org/@cool-mcp/desktop-automation/-/desktop-automation-1.0.1.tgz","fileCount":26,"integrity":"sha512-9BnyU0r3kjtAbYyf6kX2kff79wtPe0h9TzRt1nS0aTEOyVnlHObhGT5JW7JckMWhI7Y7euHMg3mA0px/52OynA==","signatures":[{"sig":"MEUCIQC1LxahHnaRu0TJk/irqIZmWbZ33RTqg6sPScCQy0chGwIgJ3APv9gW/I+u+a4hwoLgv7kxVwiJfNDs4ZWyiWBsCBY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125586},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"7589d9547810261850759a2963efc70b209addcc","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"cool-js","email":"team@cool-js.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.4","description":"MCP server for desktop automation - mouse, keyboard, screenshot, window management","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^3.23.0","jimp":"1.6.0","get-windows":"^9.2.3","node-screenshots":"^0.2.1","@computer-use/nut-js":"^4.2.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/desktop-automation_1.0.1_1766746568951_0.6135078471487778","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@cool-mcp/desktop-automation","version":"1.0.2","keywords":["mcp","model-context-protocol","desktop-automation","mouse","keyboard","screenshot","window-management","ai-agent"],"author":"","license":"MIT","_id":"@cool-mcp/desktop-automation@1.0.2","maintainers":[{"name":"cool-js","email":"team@cool-js.com"}],"bin":{"desktop-automation":"dist/index.js"},"dist":{"shasum":"fb5174df8fb48608cbfab3bcff3bd751dc30a21b","tarball":"https://registry.npmjs.org/@cool-mcp/desktop-automation/-/desktop-automation-1.0.2.tgz","fileCount":26,"integrity":"sha512-2IeFWKDlpLc3RrQmHsandSKuO0Exa0yqyl4w+9jZOk4PChnlOx34XqngKPwcAIN45z7wnrkJRqGrvBG+mnm+sA==","signatures":[{"sig":"MEUCIEEU6pf39LyELSm6R5RiSYwH08fHALEbfLiU12dLMlMFAiEAzaPj8sHtQu3j61YlvO6LM/iCSJ9IzUB8sVwjh0nWvSo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142228},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"998da6b35fa6bbfcfb21d01038497f761e40eff9","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"cool-js","email":"team@cool-js.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.4","description":"MCP server for desktop automation - mouse, keyboard, screenshot, window management","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^3.23.0","jimp":"1.6.0","ps-list":"^9.0.0","get-windows":"^9.2.3","node-screenshots":"^0.2.1","@computer-use/nut-js":"^4.2.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/desktop-automation_1.0.2_1767163525622_0.19785529459967233","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@cool-mcp/desktop-automation","version":"1.0.3","keywords":["mcp","model-context-protocol","desktop-automation","mouse","keyboard","screenshot","window-management","ai-agent"],"author":"","license":"MIT","_id":"@cool-mcp/desktop-automation@1.0.3","maintainers":[{"name":"cool-js","email":"team@cool-js.com"}],"bin":{"desktop-automation":"dist/index.js"},"dist":{"shasum":"2c135a1ebff7e6545b7c6a6343e8597c3fea0cb4","tarball":"https://registry.npmjs.org/@cool-mcp/desktop-automation/-/desktop-automation-1.0.3.tgz","fileCount":30,"integrity":"sha512-28fU84cS/kIHVWyNOhm22O26utjTaKMmBuFC+ojdVpdTX2otdBfEhcBs0CvqNOFzz+9IN41k2BCwEpv9YLCXDw==","signatures":[{"sig":"MEYCIQDRVLoiQyKuDlRN/0vkNkQk/ifP7TClhY+LQLDjOsQ65wIhAOlhkH2Uo7L/1Q/QaTdq5HPRSvX+n9vQw/mA/7eQFllD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149234},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"2600e37b999939a8a1f87e410315a2bbdef97805","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"cool-js","email":"team@cool-js.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.4","description":"MCP server for desktop automation - mouse, keyboard, screenshot, window management","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^3.23.0","jimp":"1.6.0","open":"^11.0.0","ps-list":"^9.0.0","get-windows":"^9.2.3","node-screenshots":"^0.2.1","get-installed-apps":"^1.1.1","@computer-use/nut-js":"^4.2.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/desktop-automation_1.0.3_1767949332775_0.014240739207871611","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@cool-mcp/desktop-automation","version":"1.0.4","keywords":["mcp","model-context-protocol","desktop-automation","mouse","keyboard","screenshot","window-management","ai-agent"],"author":"","license":"MIT","_id":"@cool-mcp/desktop-automation@1.0.4","maintainers":[{"name":"cool-js","email":"team@cool-js.com"}],"bin":{"desktop-automation":"dist/index.js"},"dist":{"shasum":"ec6cd678881cf59c894ba048ca6a0a38d9e02818","tarball":"https://registry.npmjs.org/@cool-mcp/desktop-automation/-/desktop-automation-1.0.4.tgz","fileCount":30,"integrity":"sha512-Lyp78xAPvP5rGYjs2jy+GXQE5KkEJRpxMcH70v0ehIFDkS0qfJVBEv4iGhDBFo9EUDboLBtUrATzAMyU6cZivw==","signatures":[{"sig":"MEYCIQDeJhhuDwo4WQYMMFURbnbe8F1yreyZzy/SzKA80EiSCgIhAOjk9mus0p8udLeuoJjOohqJYjmdoZBYPxAn9GJ8psoK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":158399},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"379bcf5bcc7aadbb954a2381ec60310f28cdcd7d","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"cool-js","email":"team@cool-js.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.4","description":"MCP server for desktop automation - mouse, keyboard, screenshot, window management","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^3.23.0","jimp":"1.6.0","open":"^11.0.0","ps-list":"^9.0.0","get-windows":"^9.2.3","node-screenshots":"^0.2.1","get-installed-apps":"^1.1.1","@computer-use/nut-js":"^4.2.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/desktop-automation_1.0.4_1769687260550_0.3154369853486254","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@cool-mcp/desktop-automation","version":"1.0.5","keywords":["mcp","model-context-protocol","desktop-automation","mouse","keyboard","screenshot","window-management","ai-agent"],"author":"","license":"MIT","_id":"@cool-mcp/desktop-automation@1.0.5","maintainers":[{"name":"cool-js","email":"team@cool-js.com"}],"bin":{"desktop-automation":"dist/index.js"},"dist":{"shasum":"34974164fa94522e91cecd96b410613a26ec43c7","tarball":"https://registry.npmjs.org/@cool-mcp/desktop-automation/-/desktop-automation-1.0.5.tgz","fileCount":33,"integrity":"sha512-ocqJZb1x0cWiJyn4bBF/nfy5Ro2YqHxqDfRfs9Ep3yVIn1vln0AHxd4/9np26CjRiGXsKxzyHfbgWC15MEN8JA==","signatures":[{"sig":"MEQCIGsWXprKGIuSwA6QzRpoKCcpveXVkFHGvZ0M8K0qCxz9AiAv6ptq9HOeIr3TvU1JymIIgpJoxItpCn8twGHPC45r3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166392},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"57873e54b537577c5b1844b69046ff3539ffb4e3","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"cool-js","email":"team@cool-js.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.2","description":"MCP server for desktop automation - mouse, keyboard, screenshot, window management","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.0","jimp":"1.6.0","open":"^11.0.0","ps-list":"^9.0.0","get-windows":"^9.2.3","node-screenshots":"^0.2.1","get-installed-apps":"^1.1.1","@computer-use/nut-js":"^4.2.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/desktop-automation_1.0.5_1770127918305_0.06863711544262863","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@cool-mcp/desktop-automation","version":"1.0.6","keywords":["mcp","model-context-protocol","desktop-automation","mouse","keyboard","screenshot","window-management","ai-agent"],"author":"","license":"MIT","_id":"@cool-mcp/desktop-automation@1.0.6","maintainers":[{"name":"cool-js","email":"team@cool-js.com"}],"bin":{"desktop-automation":"dist/index.js"},"dist":{"shasum":"1671b1106e8be5bcb758e3981af10022c422c0ca","tarball":"https://registry.npmjs.org/@cool-mcp/desktop-automation/-/desktop-automation-1.0.6.tgz","fileCount":33,"integrity":"sha512-NunvPzEX9LF0wrRh11Oa2nYyZxzeQNbB4kKZuCNoT6o0jizZ0uw8kLJJP7p1+u7pEwRRpR/+VjlK5NVCO+baew==","signatures":[{"sig":"MEQCIFryP2BoipTAbqd87X6RtIxo5jZvwFTAMWQ8KRoAH9QfAiAUz+MF9zJA9ds+Zyn5LnOyrN9bemKWA5spG4VcAL4liw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":165988},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"d4032e02db67fb04df6358ee0dcc89aa343ad6c5","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"cool-js","email":"team@cool-js.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.4","description":"MCP server for desktop automation - mouse, keyboard, screenshot, window management","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^3.23.0","jimp":"1.6.0","open":"^11.0.0","ps-list":"^9.0.0","get-windows":"^9.2.3","node-screenshots":"^0.2.1","get-installed-apps":"^1.1.1","@computer-use/nut-js":"^4.2.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/desktop-automation_1.0.6_1771992294086_0.7031375810988343","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@cool-mcp/desktop-automation","version":"1.0.7","keywords":["mcp","model-context-protocol","desktop-automation","mouse","keyboard","screenshot","window-management","ai-agent"],"author":"","license":"MIT","_id":"@cool-mcp/desktop-automation@1.0.7","maintainers":[{"name":"cool-js","email":"team@cool-js.com"}],"bin":{"desktop-automation":"dist/index.js"},"dist":{"shasum":"e9434b76a26e89a71a834fe8e43ac1f945f6cbe1","tarball":"https://registry.npmjs.org/@cool-mcp/desktop-automation/-/desktop-automation-1.0.7.tgz","fileCount":33,"integrity":"sha512-moyVXF0OJPRR8GfVblLeXXD9fUX3hPYGph/LElq1ZX2aUFdYkAcg0eY52ZeY7NBcdh8CneP+T21fqKidTp2RkQ==","signatures":[{"sig":"MEUCIDOdY+AbuZLym2OdFMdd0gZ32RIVJo3FIZfT33tR2gAFAiEA3itwWAiD+IJfFKL9e+YZZDgJTMzQsF4yQHyAS473MpQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":165456},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"b74b444995c7cb4264323e916e124f642d591ab4","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"cool-js","email":"team@cool-js.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.4","description":"MCP server for desktop automation - mouse, keyboard, screenshot, window management","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^3.23.0","jimp":"1.6.0","open":"^11.0.0","ps-list":"^9.0.0","get-windows":"^9.2.3","node-screenshots":"^0.2.1","get-installed-apps":"^1.1.1","@computer-use/nut-js":"^4.2.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/desktop-automation_1.0.7_1772006736161_0.06421437178753386","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@cool-mcp/desktop-automation","version":"1.0.8","keywords":["mcp","model-context-protocol","desktop-automation","mouse","keyboard","screenshot","window-management","ai-agent"],"author":"","license":"MIT","_id":"@cool-mcp/desktop-automation@1.0.8","maintainers":[{"name":"cool-js","email":"team@cool-js.com"}],"bin":{"desktop-automation":"dist/index.js"},"dist":{"shasum":"6844db9348134b8e650e14a55d80fb40f7865bd3","tarball":"https://registry.npmjs.org/@cool-mcp/desktop-automation/-/desktop-automation-1.0.8.tgz","fileCount":33,"integrity":"sha512-KMzD3CxX/uuVD+OKxdwwSFfH+wR5wdU7thwWwN23aIzzxnGEXy7AjHSnjoscyCwsR64ybSKxHncPPwAkKC4wKw==","signatures":[{"sig":"MEUCIQCOuBz9VDfGdOUYiwwI+NR+nRW5IJGP6bMXEDSYEigLdwIgAJLPcKyiRrFyyHBw/C9eF2iagrEsgDr+/r1cCXwtKrc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":170567},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"c492ed11d8350daf79ad31a48931bc7a811dc403","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"cool-js","email":"team@cool-js.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.2","description":"MCP server for desktop automation - mouse, keyboard, screenshot, window management","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.0","jimp":"1.6.0","open":"^11.0.0","ps-list":"^9.0.0","get-windows":"^9.2.3","node-screenshots":"^0.2.1","get-installed-apps":"^1.1.1","@computer-use/nut-js":"^4.2.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/desktop-automation_1.0.8_1772105832441_0.16170621473422586","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@cool-mcp/desktop-automation","version":"1.0.9","description":"MCP server for desktop automation - mouse, keyboard, screenshot, window management","type":"module","main":"dist/index.js","bin":{"desktop-automation":"dist/index.js"},"scripts":{"build":"tsc","prepublishOnly":"npm run build","start":"node dist/index.js","dev":"tsx src/index.ts"},"keywords":["mcp","model-context-protocol","desktop-automation","mouse","keyboard","screenshot","window-management","ai-agent"],"author":"","license":"MIT","repository":{"type":"git","url":""},"publishConfig":{"access":"public"},"dependencies":{"@computer-use/nut-js":"^4.2.0","@modelcontextprotocol/sdk":"^1.0.0","get-installed-apps":"^1.1.1","get-windows":"^9.2.3","jimp":"1.6.0","node-screenshots":"^0.2.1","open":"^11.0.0","ps-list":"^9.0.0","zod":"^3.23.0"},"devDependencies":{"@types/node":"^22.0.0","tsx":"^4.19.0","typescript":"^5.6.0"},"engines":{"node":">=18.0.0"},"_id":"@cool-mcp/desktop-automation@1.0.9","gitHead":"4d99a9ec618ca76227751a605960eee7968f48df","types":"./dist/index.d.ts","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-YqvJ4ss4w603rc6iLk+36ESELVGsM7eo7cJEDN15H44UTFY81VMyk8hiiwEUPIibN/8iOZc/CeIop7txj3yx+g==","shasum":"de71df9aabd42c4c2ef9592dc5b7178ee4c8efbe","tarball":"https://registry.npmjs.org/@cool-mcp/desktop-automation/-/desktop-automation-1.0.9.tgz","fileCount":33,"unpackedSize":177406,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCpgWiz/uI0obF3KVJV54IYyZxCT48Dj3DejuvugBiDbQIhAIp0Df1UaHpyO/lnnwE3cwe0y2QXJTG5JRtJ/q/Ho4yO"}]},"_npmUser":{"name":"cool-js","email":"team@cool-js.com"},"directories":{},"maintainers":[{"name":"cool-js","email":"team@cool-js.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/desktop-automation_1.0.9_1772177869336_0.6793779524109711"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-26T07:58:16.587Z","modified":"2026-02-27T07:37:49.607Z","1.0.0":"2025-12-26T07:58:16.862Z","1.0.1":"2025-12-26T10:56:09.088Z","1.0.2":"2025-12-31T06:45:25.781Z","1.0.3":"2026-01-09T09:02:12.897Z","1.0.4":"2026-01-29T11:47:40.694Z","1.0.5":"2026-02-03T14:11:58.449Z","1.0.6":"2026-02-25T04:04:54.258Z","1.0.7":"2026-02-25T08:05:36.318Z","1.0.8":"2026-02-26T11:37:12.592Z","1.0.9":"2026-02-27T07:37:49.477Z"},"license":"MIT","keywords":["mcp","model-context-protocol","desktop-automation","mouse","keyboard","screenshot","window-management","ai-agent"],"repository":{"type":"git","url":""},"description":"MCP server for desktop automation - mouse, keyboard, screenshot, window management","maintainers":[{"name":"cool-js","email":"team@cool-js.com"}],"readme":"# Desktop Automation MCP\n\n一个跨平台（macOS/Windows）的桌面自动化 MCP 服务器，提供鼠标、键盘、截图和窗口管理功能。\n\n## 功能特性\n\n- 🖱️ **鼠标操作**: 点击、双击、右键、拖拽、滚动、移动\n- ⌨️ **键盘操作**: 文本输入、快捷键、按键控制\n- 📸 **截图功能**: 按进程名截取窗口、全屏截图\n- 🪟 **窗口管理**: 激活窗口、获取窗口信息、列出所有窗口\n- 🖥️ **多显示器支持**: 自动处理多显示器和 DPI 缩放\n- 📐 **坐标转换**: 支持 bbox (0-1000) 归一化坐标自动转换\n\n## 快速开始\n\n### 使用 npx（推荐）\n\n无需安装，直接在 MCP 配置中使用：\n\n```json\n{\n  \"mcpServers\": {\n    \"desktop-automation\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@cool-mcp/desktop-automation\"],\n      \"disabled\": false\n    }\n  }\n}\n```\n\n### 全局安装\n\n```bash\nnpm install -g @cool-mcp/desktop-automation\n```\n\n然后配置：\n\n```json\n{\n  \"mcpServers\": {\n    \"desktop-automation\": {\n      \"command\": \"desktop-automation-mcp\",\n      \"disabled\": false\n    }\n  }\n}\n```\n\n### 本地开发\n\n```bash\ngit clone <repo-url>\ncd desktop-automation-mcp\nnpm install\nnpm run build\n```\n\n## MCP 配置位置\n\n- Kiro: `~/.kiro/settings/mcp.json` 或项目 `.kiro/settings/mcp.json`\n- Claude Desktop: `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)\n- Cursor: 项目 `.cursor/mcp.json`\n\n## 工具列表\n\n### 截图\n\n| 工具 | 描述 |\n|------|------|\n| `screenshot` | 截取指定进程窗口的截图 |\n| `screenshot_fullscreen` | 截取整个屏幕 |\n\n### 鼠标操作\n\n| 工具 | 描述 |\n|------|------|\n| `click` | 鼠标点击（支持 bbox 或像素坐标） |\n| `move_mouse` | 移动鼠标 |\n| `drag` | 鼠标拖拽 |\n| `scroll` | 滚动鼠标滚轮 |\n| `get_mouse_position` | 获取当前鼠标位置 |\n\n### 键盘操作\n\n| 工具 | 描述 |\n|------|------|\n| `type_text` | 输入文本 |\n| `hotkey` | 按下快捷键组合 |\n| `press_key` | 按下按键（不释放） |\n| `release_key` | 释放按键 |\n\n### 窗口管理\n\n| 工具 | 描述 |\n|------|------|\n| `activate_window` | 激活窗口（置顶） |\n| `get_window_info` | 获取指定进程的窗口信息 |\n| `get_active_window` | 获取当前活动窗口信息 |\n| `list_windows` | 列出所有打开的窗口 |\n\n### 其他\n\n| 工具 | 描述 |\n|------|------|\n| `get_displays` | 获取所有显示器信息 |\n| `convert_bbox_to_screen` | 将 bbox 坐标转换为屏幕坐标 |\n| `wait` | 等待指定时间 |\n\n## 坐标系统\n\n### bbox 坐标 (0-1000 归一化)\n\n模型输出的坐标是 0-1000 范围的归一化坐标：\n\n```\nbbox = [x1, y1, x2, y2]\n```\n\n- `x1, y1`: 左上角坐标\n- `x2, y2`: 右下角坐标\n- 范围: 0-1000\n\n### 坐标转换\n\n使用 bbox 时需要同时提供 `windowBounds`（从 `screenshot` 返回值获取）：\n\n```javascript\n// screenshot 返回值\n{\n  \"base64\": \"...\",\n  \"width\": 1920,\n  \"height\": 1080,\n  \"windowBounds\": {\n    \"x\": 100,    // 窗口在屏幕中的 X 位置\n    \"y\": 50,     // 窗口在屏幕中的 Y 位置\n    \"width\": 1200,\n    \"height\": 800\n  }\n}\n\n// 点击时传入 windowBounds\nclick({\n  bbox: \"450 300 550 350\",\n  windowBounds: { x: 100, y: 50, width: 1200, height: 800 }\n})\n```\n\n转换公式：\n```\ncenterX = (x1 + x2) / 2 / 1000 * windowWidth + windowX\ncenterY = (y1 + y2) / 2 / 1000 * windowHeight + windowY\n```\n\n## 示例\n\n### 截取 Chrome 窗口并点击\n\n```javascript\n// 1. 激活窗口\nawait activate_window({ processName: 'Chrome' })\n\n// 2. 截图\nconst result = await screenshot({ processName: 'Chrome' })\nconst { windowBounds } = result\n\n// 3. 点击（使用 bbox 坐标）\nawait click({\n  bbox: '500 100 600 130',\n  windowBounds,\n  button: 'left'\n})\n```\n\n### 输入文本并回车\n\n```javascript\n// 点击输入框\nawait click({ x: 500, y: 300 })\n\n// 输入文本并回车\nawait type_text({ text: 'Hello World\\n' })\n```\n\n### 使用快捷键\n\n```javascript\n// 复制\nawait hotkey({ keys: 'ctrl c' })  // Windows\nawait hotkey({ keys: 'cmd c' })   // macOS\n\n// 保存\nawait hotkey({ keys: 'ctrl s' })\n```\n\n## 平台差异\n\n### macOS\n- 使用 `cmd` 代替 `ctrl` 作为主要修饰键\n- 截图使用 `screencapture` 命令\n- 窗口管理使用 AppleScript\n\n### Windows\n- 使用 `ctrl` 作为主要修饰键\n- 文本输入使用剪贴板方式（更可靠）\n- 窗口管理使用 PowerShell + Win32 API\n\n## 依赖\n\n- `@modelcontextprotocol/sdk`: MCP SDK\n- `@nut-tree/nut-js`: 跨平台鼠标键盘控制\n- `jimp`: 图像处理\n- `active-win`: 获取活动窗口信息\n- `node-screenshots`: 截图功能\n\n## 系统要求\n\n- Node.js >= 18\n- macOS 或 Windows\n- 需要授予辅助功能权限（macOS）\n\n## License\n\nMIT\n","readmeFilename":"README.md"}