
MCP Test Utils
io.github.JeenyJAI由 GitHub 帳號 JeenyJAI 發布v3.27.23更新於 Oct 27, 2026
Desktop UI automation for AI agents: verified clicks, UI Automation, OCR, scenario runs, recording
概覽
Windows 桌面 UI 自動化伺服器,讓 AI 助理看見螢幕、點擊輸入、讀取 UI Automation 樹,並重播已儲存的測試情境。
- 可以做什麼
- 擷取整個桌面或指定視窗,並用 OCR 讀取螢幕文字
- 列出、聚焦、啟動和關閉視窗,檢視 UI Automation 元素樹、焦點與文件文字
- 點擊、移動、拖曳、捲動,輸入 Unicode 文字並按鍵或快速鍵,可選擇鎖定輸入
- 等待視窗或元素,批次執行最多 20 個呼叫,錄製草稿情境並重播情境、套件或資料列並產生通過/失敗報告
- 檢查無障礙缺陷,讀取受測程序的内存、控制代碼與 CPU 數據
- 在允許目錄內依文字或正規表示式搜尋、依萬用字元尋找檔案,並可選擇記錄工作階段日誌
- 適用情境
- 適合在 Windows 上進行桌面自動化 QA 與回歸測試:驅動應用程式走完流程、逐步截圖、在建置後或 CI 中重播已儲存的情境、把手動操作錄成測試草稿,以及進行無障礙與資源洩漏檢查。
- 執行需求
- 僅支援 Windows x64,目前沒有 macOS 或 Linux 版本。只需下載單一 exe,由 MCP 用戶端透過 stdio 啟動,不需執行環境或安裝程式。選用環境變數可開啟功能:MCP_LOG_DIR 啟用日誌工具,MCP_SEARCH_DIRS 啟用檔案搜尋,MCP_LAUNCH_APPS 啟用 launch_app,另有 MCP_NOTIFY、MCP_INPUT_LOCK 和 MCP_INPUT_LOCK_STALL_MS。情境超過 50 步需要授權金鑰。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 MCP Test Utils,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
MCP Test Utils
[version: 3.27.23] [tools: 31]
MCP server for automated desktop UI testing. A single binary — no runtime, no dependencies, no installer.
Windows x64 only. There are no macOS or Linux builds yet. If you need one, write to [email protected]: requests decide what comes next.
Gives AI agents eyes and hands: screenshots, window management, mouse, keyboard, UI Automation, OCR, file search. Replays saved scenarios as regression runs — after every build, without an agent. Records what you do into a draft scenario, checks accessibility, watches the resources of the application under test.
Why
AI agents can trigger actions in applications but can't see the screen. This server bridges that gap:
Fully autonomous, no user involvement required.
Demo
Setup
- Download
mcp-test-utils.exefrom Releases (the.sigfile next to it is for the built-in updater — you do not need it). - Add it to your MCP client:
Claude Desktop: %APPDATA%\Claude\claude_desktop_config.json
Claude Code:
For other clients, see their documentation.
- Restart the client.
- In chat, try: "Take a screenshot" — the agent will return an image of your desktop.
Optional settings (logging, file search, starting programs) go into env — see
Environment variables:
Tools (31)
Four of them appear only when configured: search_in_files and find_files with MCP_SEARCH_DIRS,
enable_logging and disable_logging with MCP_LOG_DIR — by default the server lists 27 tools.
Vision
Window management
Input
Structured UI access
Process
Waiting, batching and scenarios
File search
Agent guide
Session logging
Regression runs without an agent
An agent finds a path through your application once and saves it as a scenario — a JSON file. After that the scenario replays without an agent: fast, the same way every time, no tokens spent.
- Exit codes:
0— passed,1— a step failed,2— did not run. Ready for a CI job after each build. - On a failure you get a screenshot, the element tree and a hint: either the scenario is stale or the application has changed.
- An agent runs a scenario with
run_scenario(path)and learns the format fromget_usage_guide(section: "scenarios"). - Suites and data rows:
--suiteruns several scenario files in order with one summary;--data rows.csvruns a scenario once per row (columns become variables);--junit report.xmladds JUnit XML for CI. - Without a license key a scenario runs up to 50 steps (see License key).
Recording
Do the steps yourself and get a draft scenario instead of describing them to an agent:
Only that window and its dialogs are recorded, with a notice on screen; Ctrl+Alt+Shift+R (or Enter in the
console) stops the recording. Password fields are never read; text typed into a terminal is recorded only with --keys-text. An
agent can start the same recording with record_scenario.
Environment variables
Tray icon, updates and input lock
- A tray icon shows a live log of tool calls, one tab per session, errors in red;
MCP_NOTIFY=offhides it. - Updates: tray menu → Check for updates…. Only a release signed by the author is installed; afterwards restart your MCP client. The server goes online only when you click.
- Input lock: while the server types or clicks, your keyboard and mouse buttons are paused (the pointer still
moves). Press Esc to stop the action and get your input back.
MCP_INPUT_LOCK=offturns the lock off.
Feedback
If an agent hits a gap in the tools, it offers to prepare a short suggestions file (prepare_feedback). The file
goes to Documents\mcp-test-utils feedback\, with personal data masked and no screenshots; review it and email it
to [email protected]. Nothing is sent automatically.
Use cases
- Automated QA — the agent navigates the app, clicks through flows, takes screenshots at each step, writes a test report
- Regression runs — replay saved scenarios after each build, from a script or a CI job, without an agent
- Recorded tests — walk through a path yourself once, get a draft scenario, let the agent turn it into a test
- Desktop automation — fill forms, copy data between windows, run workflows
- Accessibility audit —
check_accessibilityfinds unnamed controls, controls the Tab key cannot reach, duplicate ids - Resource leaks —
process_infoshows handles and GDI objects growing across repeated calls - Visual checks — the agent compares screenshots between builds
- Data extraction — read document text through UI Automation, or OCR text from applications that don't expose it
- Code search — find patterns across multiple projects without leaving the agent session
Security
- Responds only to requests from the MCP client; opens no network ports
- Writes files only when you ask: logs, scenario reports and JUnit files, recorded drafts, sealed scenarios, the
feedback file, the license file — plus small settings files in
%LOCALAPPDATA%\mcp-test-utils\and an update you install - Sends no data externally; goes online only when you click Check for updates (and Download and install) in the tray window — an agent's tool call never does, and only a file signed by the author is installed
- Holds your keyboard and mouse buttons only during a call,
batchor scenario run that sends input — Esc releases them at once - Starts only the programs you list in
MCP_LAUNCH_APPS(never shells or interpreters); a forcedclose_windowterminates only a program it started - Records only on an explicit command, with a notice on screen the whole time; password fields are never read
- Screenshots capture the entire screen — make sure no sensitive information is visible
- File search is sandboxed — only directories in
MCP_SEARCH_DIRSare accessible
How it works
MCP Test Utils is an MCP server over stdin/stdout: your MCP client starts the exe and calls its tools. It uses native Windows APIs (UI Automation, Win32 input, Windows OCR) — no PowerShell, no helper tools, no network access except the update check you start. Tested with Claude Desktop and Claude Code.
License key
All tools are free. A license key only lifts the 50-step limit of scenario runs.
For now, keys are issued through early access: the first 30 users get a free one-year key in exchange for short
feedback after the first month — write to [email protected] with your email and the
machine code of your computer. A key is bound to that computer. Your agent sees the code in the second line of
get_usage_guide, or print it yourself:
Register the key once on that computer:
Reinstalling Windows or replacing the motherboard alone keeps the key valid; a new computer needs a new key — just write again.
A sealed scenario runs anywhere without the limit — that file only, exactly as sealed. On the licensed computer
mcp-test-utils --seal order-form.json writes a seal into the file; a CI agent or a colleague without a key then
runs it in full. Any change to its steps (or to the files it includes) breaks the seal — seal it again on the
licensed computer.
Support us
If you find it useful — jeenyjai.github.io
License
Copyright 2026 JeenyJAI. All rights reserved.
🚀 Created with Claude
來源:README.md,提交 10459aa
工具
0版本歷史
4- v3.27.23最新Oct 19, 2026
- v3.26.43Oct 16, 2026
- v3.25.1Sep 23, 2026
- v3.10.1Sep 16, 2026
評分
已滿足適用檢查項的 40%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
請在儲存庫或註冊中心條目中宣告授權條款。