Win Mind

io.github.jhonpork1233-beep由 GitHub 账号 jhonpork1233-beep 发布v0.2.0更新于 Nov 4, 2026

See and drive any Windows app via the accessibility tree - no screenshots - plus 200+ native tools

概览

AI 生成的概览

Windows MCP 服务器,让 AI 通过无障碍树读取并操控任意应用,另附 200 多个原生系统、网络与健康检查工具。

可以做什么
  • 读取并操作应用界面:带编号的无障碍树、读取文本、查找文本、按名称或引用执行操作、查看焦点元素
  • 查看和管理窗口、虚拟桌面与已保存的工作区
  • 诊断电脑:健康扫描、卡顿原因分析、磁盘与电池健康、可靠性记录、CPU/GPU 指标、帧率与卡顿
  • 追踪并排查系统与网络:ETW 进程/DNS/文件/网络事件、端口与进程对应、DNS 缓存、Wi-Fi 扫描
  • 检查隐私与安全:摄像头和麦克风占用、Defender、BitLocker、USB 历史、启动项
  • 在防护规则下管理文件、进程、服务和注册表,并提供显示、音频、媒体、语音及显式窗口截图
适用场景
适合让助手在不截图、不移动鼠标的情况下操作 Windows 桌面应用,包括位于其他窗口后面的应用;也适合用一个服务器在对话中完成 Windows 诊断、网络排查和系统管理。
运行要求
Windows 10/11 与 Python 3.10+;可在 Claude Desktop 中安装 .mcpb 包(需要 uv),或安装后让客户端指向 python.exe 的完整路径。部分工具需要可选的本地辅助组件,需用 Visual Studio 2022 Build Tools 和 Windows SDK 构建;仅管理员可用的工具需以管理员身份运行。
安装前请注意
以当前用户权限运行并可更改系统;有 16 个工具被标记为破坏性,文件、注册表和进程工具可能写入或删除。截图仅以显式工具形式提供。除非必要请以非管理员身份运行,并在使用前阅读安全说明。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Win Mind,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

WinMind

[CI] [License: Apache-2.0] [Platform: Windows 10/11] [Python 3.10+] [MCP] [Tools: 222]

A Windows MCP server that lets an AI see and drive any app through the accessibility tree - no screenshots, no mouse, no pixel guessing - plus 200+ native Windows tools.

Most computer-use agents look at the screen: take a screenshot, send thousands of image tokens to a model, guess coordinates, click, take another screenshot. WinMind reads what Windows already knows. Every app publishes its buttons, text boxes, lists and text to UI Automation, the accessibility layer screen readers like Narrator and NVDA use. WinMind turns that into a compact, numbered tree an AI can read in one call and act on in the next - even when the app is behind other windows.

WhatsApp  (WhatsApp.Root.exe, window)├─ [6] banner│  ├─ [7] button "Chats" (42) checked [toggle]│  ├─ [8] button "Calls" (4) unchecked [toggle]├─ [20] textbox "Search or start a new chat" [set_value]├─ [21] tabs "chat-list-filters" (4)│  ├─ [22] tab "All" selected [select]│  ├─ [23] tab "Unread 42" [select]├─ [26] grid "Chat list" (9)│  ├─ [29] row "Alex Yesterday Photo" [click]│  ├─ [30] row "Study Group 3 unread messages Yesterday" [click]└─ [37] button "Send document" [click]

ui_act(ref=30) opens that chat. ui_act(name="Play", title_contains="spotify") plays music. No screenshot was taken.

Why it's different

Screenshot agentsWinMind
What the model getsimages (thousands of tokens each)a text tree with real names, states and actions
Speed per lookseconds (capture + vision model)0.1-0.3 s for a whole app (one cross-process call)
Clickingpixel coordinates, moves your mousethe app's own accessibility actions - your mouse never moves
Apps behind other windowsmust bring them to frontreads and acts in the background
Text in editors/documentsOCRexact text from the app (TextPattern)

Things WinMind handles that trip up simpler UI Automation tools (details in docs/ARCHITECTURE.md):

  • Chromium-based apps behind other windows (Discord, Spotify, Steam, Teams, VS Code) expose no content while covered - Chromium's occlusion tracking pauses them. WinMind wakes them properly once; the tree then stays readable in the background. It never pulls a window over a full-screen game.
  • WinUI 3 apps that host WebView2 (WhatsApp) loop back into their own web content - naive scans fetch the same elements thousands of times. WinMind splits and de-duplicates: 7.3 s -> 0.25 s.
  • Web clicks that silently do nothing: pressing a list item whose click handler sits on an inner link. WinMind performs the default action of the element that really owns the click - without moving the mouse.
  • Buttons and text in one tree: editor/document content comes through next to the controls.
  • Finds apps by process, not just title (Spotify's title is the song playing), including apps hidden in the tray.
  • Token budget: 222 tool definitions cost ~32k tokens (143 per tool); long outputs are trimmed with a note saying what was cut; errors are one actionable line, not tracebacks.

What's in the box (222 tools)

AreaExamples
UI automationui_tree, ui_map, ui_act, ui_read, ui_find_text, ui_element_at, ui_focused
Health & diagnosticsfull_health_scan, why_is_my_pc_slow, smart_disk_health, battery_health, reliability_records
Hardware & gamingCPU/GPU metrics, temperatures, fans, FPS / frame times / stutter / GPU-bottleneck (PresentMon)
Live OS tracingETW process / DNS / file / network events
Networkwhy_no_internet, port_process_map, whats_on_port, DNS cache, Wi-Fi scan
Privacy & securitywhats_using_my_webcam / _mic, Defender, BitLocker, USB history, startup entries
Windows & desktopswindows, virtual desktops, saved workspaces
Files, processes, services, registrywith guards against system folders, critical keys and core OS processes
Display, audio, media, speechper-app volume, now-playing + media control, brightness, night light, TTS
Screen capture (explicit only)capture_window_image renders one window even when it's covered

Full list with one line per tool: TOOLS.md. An AI can also call tool_guide for a categorized index.

Quick start

One-click: Claude Desktop

Download winmind-mcp-<version>.mcpb from Releases and open it - Claude Desktop installs it like a browser extension (it needs uv, which sets up the Python dependencies for you). The bundle includes the native helpers.

Any MCP client (Claude Code, Cursor, VS Code, local models...)

Requirements: Windows 10/11, Python 3.10+.

powershell
git clone https://github.com/jhonpork1233-beep/win-mindcd win-mindpip install -e .

Add it to your MCP client. Use the full path to Python so a changed PATH can never break it:

jsonc
// Claude Desktop / Claude Code (~/.claude.json "mcpServers") / any MCP client{  "winmind": {    "command": "C:\\Path\\To\\Python\\python.exe",    "args": ["-m", "winmind"]  }}

Claude Code shortcut: claude mcp add winmind -- "C:\Path\To\Python\python.exe" -m winmind

Then ask things like "what's in my WhatsApp unread chats?", "play my liked songs on Spotify", "why is my PC slow?", "screenshot Notepad without switching windows".

Optional native helpers

The core (UI engine, files, processes, registry, health, network...) is pure Python. Some tools use small native helpers - live event hooks, ETW, window streaming, virtual desktops, the WinRT broker (media, notifications), HUD overlays, PresentMon. Build them from source in native/:

powershell
powershell -ExecutionPolicy Bypass -File scripts\build_all.ps1

(Visual Studio 2022 Build Tools with the C++ workload and Windows SDK; MinGW g++ for winmind_native.dll.) Tools whose helper isn't built say so and name the script to run.

Using it efficiently (for AI clients and prompt writers)

  • Start with ui_tree (structure) or ui_read (just the text) - not screenshots.
  • Act by name when it's unambiguous: ui_act(name="Search", title_contains="spotify"); by ref otherwise.
  • Prefer summary tools (full_health_scan, system_health_summary, windows_summary) over raw listings (appx_packages, service_list, port_process_map).
  • Every tool accepts detail=true (no trimming), compact=true (short keys).
  • Clients with deferred tool loading (e.g. Claude Code's tool search) only load the definitions they use.

Safety

WinMind runs with your user's rights and can change your system - that's its purpose. Read SECURITY.md.

  • Every tool carries MCP risk annotations (readOnlyHint, destructiveHint) so clients can ask before risky calls; 16 tools are marked destructive.
  • Built-in guards: file tools refuse Windows/System32/Program Files and drive roots; registry writes/deletes refuse critical keys; process tools refuse core OS processes.
  • The UI engine never takes screenshots and never moves the mouse. Screen capture exists only as explicit tools.
  • No telemetry. Everything WinMind writes stays in %LOCALAPPDATA%\WinMind (override with WINMIND_HOME).
  • Run it non-elevated unless you need admin-only tools.

Testing

powershell
pip install -e .[dev]python tests\audit_tools.py tests\audit.json     # calls every safe tool, sandbox-tests the write toolspython tests\audit_summary.py tests\audit.json

The audit only writes to a temp folder, the throwaway registry key HKCU\Software\WinMindAudit, a process it starts itself and its own Notepad window. Current results: 102/109 read-only tools OK (the rest need admin rights, a running session or an open Office document), 37/37 sandbox and guard tests pass.

Roadmap

  • Java Access Bridge (Java/Swing apps), IAccessible2 text for Firefox/LibreOffice
  • Stable selectors and recorded workflows
  • Live UI event stream (tree deltas instead of re-reading)
  • UI Automation Remote Operations for even faster trees
  • One-click installs: Claude Desktop extension, Windows agent connector (On-Device Registry)
  • Public head-to-head benchmark against other Windows MCP servers

License

Apache-2.0. Third-party components: THIRD_PARTY_NOTICES.md.

来源:README.md,提交 da8f80a

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.2.0最新Sep 30, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分