{ "name": "@harusame64/desktop-touch-mcp", "version": "1.16.0", "mcpName": "io.github.Harusame64/desktop-touch-mcp", "description": "Let Claude, Cursor, or any MCP client see and operate your Windows 10/11 desktop. 32 tools for screenshots, UI Automation, Chrome CDP, keyboard/mouse, terminal, with semantic discover-then-act targeting and per-action perception guards that avoid wrong-window typing and stale-coordinate clicks.", "keywords": [ "mcp", "mcp-server", "model-context-protocol", "claude", "claude-desktop", "claude-code", "anthropic", "cursor", "vscode-copilot", "computer-use", "agentic", "ai-agent", "llm", "windows", "windows-automation", "win32", "uia", "ui-automation", "screenshot", "screen-capture", "chrome-cdp", "chrome-devtools-protocol", "terminal-automation", "desktop-automation" ], "engines": { "node": ">=20.0.0" }, "type": "module", "main": "bin/launcher.js", "bin": { "desktop-touch-mcp": "bin/launcher.js" }, "files": [ "bin/launcher.js", "LICENSE", "README.md", "README.ja.md" ], "publishConfig": { "access": "public" }, "overrides": { "hono": "^4.13.5", "js-yaml": "^4.3.2", "ip-address": "^10.2.2", "postcss": "^8.5.18" }, "napi": { "name": "desktop-touch-engine", "triples": { "defaults": false, "additional": [ "x86_64-pc-windows-msvc" ] } }, "repository": { "type": "git", "url": "git+https://github.com/Harusame64/desktop-touch-mcp.git" }, "bugs": { "url": "https://github.com/Harusame64/desktop-touch-mcp/issues" }, "homepage": "https://github.com/Harusame64/desktop-touch-mcp#readme", "license": "MIT", "scripts": { "build": "tsc", "sync-version": "node scripts/sync-version.mjs", "check:launcher-manifest": "node scripts/check-launcher-manifest.mjs", "update-sha": "node scripts/update-sha.mjs", "version": "npm run sync-version && git add src/version.ts bin/launcher.js", "prepare": "node scripts/install-hooks.mjs && tsc", "start": "node dist/index.js", "dev": "tsc --watch", "lint": "eslint .", "test": "vitest run", "test:capture": "node scripts/test-capture.mjs", "test:unit": "vitest run --project=unit", "test:e2e": "vitest run --project=e2e", "e2e:stop": "node scripts/e2e-stop.mjs", "test:headed": "HEADED=1 vitest run --project=e2e", "test:e2e:browser": "vitest run --project=e2e \"tests/e2e/browser-*.test.ts\"", "test:e2e:window": "vitest run --project=e2e tests/e2e/dock-window.test.ts tests/e2e/dock-auto.test.ts tests/e2e/focus-integrity.test.ts tests/e2e/force-focus.test.ts tests/e2e/screenshot-electron.test.ts tests/e2e/ui-elements-cache.test.ts", "test:e2e:input": "vitest run --project=e2e tests/e2e/keyboard-focus-lost.test.ts tests/e2e/mouse-focus-lost.test.ts tests/e2e/terminal.test.ts", "test:e2e:perception": "vitest run --project=e2e tests/e2e/perception-mvp.test.ts tests/e2e/rich-narration-edge.test.ts", "test:watch": "vitest", "generate:stub-catalog": "node scripts/generate-stub-tool-catalog.mjs", "check:stub-catalog": "node scripts/generate-stub-tool-catalog.mjs && git diff --exit-code src/stub-tool-catalog.ts", "check:failwith-fixtures": "node scripts/extract-failwith-shape-fixtures.mjs && git diff --exit-code tests/fixtures/failwith-callsite-shapes.json", "check:napi-safe": "node scripts/check-napi-safe.mjs", "check:native-types": "node scripts/check-native-types.mjs", "check:no-koffi": "node scripts/check-no-koffi.mjs", "check:config-types": "tsc -p tsconfig.config-files.json", "check:wire-pins": "node scripts/check-wire-pins.mjs", "check:route-vocabulary": "node scripts/check-route-vocabulary.mjs", "check:config-vocabulary": "node scripts/check-config-vocabulary.mjs", "check:result-vocabulary": "node scripts/check-result-vocabulary.mjs", "check:code-vocabulary": "node scripts/check-code-vocabulary.mjs", "test:native-clipboard": "cargo test -p desktop-touch-engine --locked clipboard -- --ignored --test-threads=1", "check:rs-workspace": "cargo check --workspace --locked", "check:rs-test-compile": "cargo test --workspace --locked --no-run", "check:expansion-disjoint": "node scripts/check-expansion-disjoint.mjs", "build:rs": "node scripts/build-rs.mjs --release", "build:rs:debug": "node scripts/build-rs.mjs --debug", "artifacts:rs": "napi artifacts", "bench:envelope-size": "node benches/l4_envelope_size.mjs", "bench:clipboard-latency": "node benches/clipboard_latency.mjs", "bench:wgc-latency": "node benches/wgc_latency.mjs" }, "devDependencies": { "@eslint/js": "^10.0.1", "@modelcontextprotocol/sdk": "^1.30.0", "@napi-rs/cli": "^3.9.1", "@nut-tree-fork/nut-js": "^4.2.6", "@types/node": "^26.5.1", "@types/ws": "^8.18.1", "eslint": "^10.10.0", "fast-check": "^4.9.0", "globals": "^17.12.0", "sharp": "^0.35.4", "typescript": "^6.0.2", "typescript-eslint": "^8.70.0", "vitest": "^5.0.0", "ws": "^8.21.3", "zod": "^4.5.4" } }