@harusame64/desktop-touch-mcp 1.11.0 → 1.12.0

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.ja.md CHANGED
@@ -10,7 +10,7 @@
10
10
  npx -y @harusame64/desktop-touch-mcp
11
11
  ```
12
12
 
13
- 31 ツール、Rust ネイティブエンジン (UIA 2ms)、PowerShell 透過フォールバック、日本語/CJK 完全対応、MIT。上記 1 行を Claude / Cursor / VS Code Copilot の MCP 設定に追加するだけで、Notepad、Excel、Chrome、Windows Terminal、その他あらゆるアプリを Claude が操作できるようになります。
13
+ 32 ツール、Rust ネイティブエンジン (UIA 2ms)、PowerShell 透過フォールバック、日本語/CJK 完全対応、MIT。上記 1 行を Claude / Cursor / VS Code Copilot の MCP 設定に追加するだけで、Notepad、Excel、Chrome、Windows Terminal、その他あらゆるアプリを Claude が操作できるようになります。
14
14
 
15
15
  > *v0.15: Rust ネイティブエンジンにより**平均 82 倍高速化** — UIA フォーカス取得 2ms、SSE2 SIMD 画像差分 13〜15 倍速。設定不要:エンジンは自動ロード、不在時は PowerShell に透過フォールバック。*
16
16
  > *v0.15.5: **固定リリース検証** — npm ランチャーは対応する GitHub Release tag だけを取得し、Windows runtime zip を検証してから展開します。*
@@ -47,6 +47,8 @@ npx -y @harusame64/desktop-touch-mcp
47
47
  > **注意:** nut-js のネイティブバインディングは Visual C++ 再頒布可能パッケージを必要とします。
48
48
  > インストール済みでない場合は [Microsoft公式](https://learn.microsoft.com/ja-jp/cpp/windows/latest-supported-vc-redist) からダウンロードしてください。
49
49
 
50
+ > **注意 (Key Locker):** Key Locker が使う認証情報ヘルパーは未署名の実行ファイルのため、環境によっては初回起動時に Windows SmartScreen やアンチウイルスが「発行元不明」の警告を表示することがあります。これは想定内で、ヘルパーは desktop-touch-mcp に同梱され、お使いのマシン上でローカルに動作します。許可して続行して問題ありません。(コード署名は今後のリリースで対応予定です。)
51
+
50
52
  ---
51
53
 
52
54
  ## インストール
@@ -137,7 +139,7 @@ npm run build
137
139
 
138
140
  ---
139
141
 
140
- ## ツール一覧 (31 ツール — 29 stub catalog + 2 dynamic v2)
142
+ ## ツール一覧 (32 ツール — 30 stub catalog + 2 dynamic v2)
141
143
 
142
144
  > 📖 **詳細リファレンス**: [`docs/system-overview.md`](docs/system-overview.md) — 各ツールのパラメータ・応答形式・座標計算・レイヤーバッファ・技術ノートを網羅(英語)。
143
145
 
@@ -246,6 +248,11 @@ DOM を触る `browser_*` ツールは `includeContext:false` で末尾の `acti
246
248
  |---|---|
247
249
  | `excel` | Excel VBA マクロを COM 経由で記述・実行。`action='run_vba'` はマクロを管理下の Trusted Location に書き込んで実行、`action='check_access_vbom'` は読み取り専用の事前チェック。数式だけでは届かない処理を VBA で実行。初回のみ `node scripts/enable-access-vbom.mjs` |
248
250
 
251
+ ### Key Locker (1)
252
+ | ツール | 概要 |
253
+ |---|---|
254
+ | `key_locker` | ターミナルが自動入力する認証情報(SSH 鍵のパスフレーズ、sudo / ログインパスワード)を管理。秘密情報はロッカー自身のセキュアダイアログに一度だけ入力し、この PC 上で暗号化保存(Windows DPAPI, current user)— アシスタントには一切見えない。`action='launch_console'` で自動入力対応コンソールを起動(返る `paneId` を `terminal` に渡して `ssh`/`sudo` を流す)/ `save`(登録)/ `list` / `forget` / `set_policy` / `status`。自動入力は `launch_console` で開いたコンソールでのみ発火。`DESKTOP_TOUCH_DISABLE_KEY_LOCKER=1` で無効化 |
255
+
249
256
  ---
250
257
 
251
258
  ## 推奨ワークフロー (v1.0.0)
package/README.md CHANGED
@@ -10,7 +10,7 @@
10
10
  npx -y @harusame64/desktop-touch-mcp
11
11
  ```
12
12
 
13
- 31 tools, native Rust engine (UIA in 2 ms), zero-config PowerShell fallback, full CJK support, MIT licensed. Add the snippet above to your Claude / Cursor / VS Code Copilot config and Claude can drive Notepad, Excel, Chrome, Windows Terminal, and any other app on your machine.
13
+ 32 tools, native Rust engine (UIA in 2 ms), zero-config PowerShell fallback, full CJK support, MIT licensed. Add the snippet above to your Claude / Cursor / VS Code Copilot config and Claude can drive Notepad, Excel, Chrome, Windows Terminal, and any other app on your machine.
14
14
 
15
15
  > **Why this over pixel-clicking?** Two ideas run through every tool: **discover-then-act** — `desktop_discover` returns interactive entities with short-lived leases instead of raw coordinates, so `desktop_act` operates on *what* you mean, not *where* it was — and **per-action perception guards** that verify the target window's identity and bounds before input lands, catching wrong-window typing and stale-coordinate clicks before they happen.
16
16
  >
@@ -48,6 +48,11 @@ npx -y @harusame64/desktop-touch-mcp
48
48
  > **Note:** nut-js native bindings require the Visual C++ Redistributable.
49
49
  > Download from [Microsoft](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist) if not already installed.
50
50
 
51
+ > **Note (Key Locker):** The credential helper Key Locker uses is an unsigned executable, so on
52
+ > some machines Windows SmartScreen or antivirus may show an "unknown publisher" warning the
53
+ > first time it runs. This is expected — the helper ships with desktop-touch-mcp and runs locally
54
+ > on your machine; you can allow it to proceed. Code signing is planned for a future release.
55
+
51
56
  ---
52
57
 
53
58
  ## Installation
@@ -141,7 +146,7 @@ For a local checkout, register the built server directly:
141
146
 
142
147
  ---
143
148
 
144
- ## Tools (31 Optimized Tools)
149
+ ## Tools (32 Optimized Tools)
145
150
 
146
151
  > 📖 **Full Reference**: [`docs/system-overview.md`](docs/system-overview.md) — Exhaustive guide on parameters, return schemas, and coordinate math.
147
152
 
@@ -185,6 +190,7 @@ For a local checkout, register the built server directly:
185
190
  | `workspace_launch` | Launch apps and auto-detect new HWNDs (supports localized titles). |
186
191
  | `run_macro` | Batch up to 50 operations into a single round-trip for maximum efficiency. |
187
192
  | `clipboard` / `notification_show` | System-level text exchange and user alerts. |
193
+ | `key_locker` | Manage credentials the terminal autofills for you (SSH key passphrases, sudo / login passwords). Secrets are entered once into the locker's own secure dialog and stored encrypted on this machine (Windows DPAPI); they are never shown to the assistant. `action='launch_console'` opens an autofill-capable console (returns a `paneId` to drive `ssh`/`sudo` into via `terminal`); `save` / `list` / `forget` / `set_policy` / `status` manage bindings. Autofill only fires in a console opened by `launch_console`. Disable with `DESKTOP_TOUCH_DISABLE_KEY_LOCKER=1`. |
188
194
 
189
195
  ### 📊 Office (Excel)
190
196
  | Tool | Description |
package/bin/launcher.js CHANGED
@@ -18,15 +18,15 @@ import path from "node:path";
18
18
  import { Readable } from "node:stream";
19
19
  import { pipeline } from "node:stream/promises";
20
20
 
21
- const PACKAGE_VERSION = "1.11.0";
21
+ const PACKAGE_VERSION = "1.12.0";
22
22
  const RELEASE_TAG = `v${PACKAGE_VERSION}`;
23
23
  const REPO_API_URL = `https://api.github.com/repos/Harusame64/desktop-touch-mcp/releases/tags/${RELEASE_TAG}`;
24
24
  const ASSET_NAME = "desktop-touch-mcp-windows.zip";
25
25
  const RELEASE_METADATA_FILE = ".desktop-touch-release.json";
26
26
  const RELEASE_MANIFEST = {
27
- tagName: "v1.11.0",
27
+ tagName: "v1.12.0",
28
28
  assetName: ASSET_NAME,
29
- sha256: "67e0ae927a9a3edc499d0f437a7f9395b52c8e32fd79147c853d308686f65e04",
29
+ sha256: "41751d3686d567f7e29638ccc1eca0af6ad744b2327c7d557f41f5e21da4abfc",
30
30
  };
31
31
  const CACHE_ROOT = process.env.DESKTOP_TOUCH_MCP_HOME
32
32
  ? path.resolve(process.env.DESKTOP_TOUCH_MCP_HOME)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@harusame64/desktop-touch-mcp",
3
- "version": "1.11.0",
3
+ "version": "1.12.0",
4
4
  "mcpName": "io.github.Harusame64/desktop-touch-mcp",
5
5
  "description": "Let Claude, Cursor, or any MCP client see and operate your Windows 10/11 desktop. 31 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.",
6
6
  "keywords": [
@@ -108,15 +108,15 @@
108
108
  "@modelcontextprotocol/sdk": "^1.10.0",
109
109
  "@napi-rs/cli": "^3.7.2",
110
110
  "@nut-tree-fork/nut-js": "^4.2.6",
111
- "@types/node": "^26.0.0",
111
+ "@types/node": "^26.1.0",
112
112
  "@types/ws": "^8.18.1",
113
- "eslint": "^10.5.0",
113
+ "eslint": "^10.6.0",
114
114
  "fast-check": "^4.8.0",
115
- "globals": "^17.5.0",
116
- "sharp": "^0.35.2",
115
+ "globals": "^17.7.0",
116
+ "sharp": "^0.35.3",
117
117
  "typescript": "^6.0.2",
118
- "typescript-eslint": "^8.61.1",
119
- "vitest": "^4.1.9",
118
+ "typescript-eslint": "^8.62.1",
119
+ "vitest": "^4.1.10",
120
120
  "ws": "^8.21.0",
121
121
  "zod": "^4.3.6"
122
122
  }