
Software Dock
io.github.molidestroyer由 GitHub 账号 molidestroyer 发布v0.4.0更新于 Nov 4, 2026
List, update, install and uninstall the software on a Windows PC; running apps, startup apps.
概览
让 AI 助手查看并管理 Windows 电脑上的软件:列出、安装、更新和卸载应用,并查看运行中与开机启动的程序。
- 可以做什么
- 列出已安装软件及其版本、可用更新和 key,并查看位置、大小、卸载方式等详情
- 在 WinGet 与 Microsoft Store 目录中搜索 packageId
- 按 packageId 或 key 安装、升级、卸载软件
- 查看运行中应用的 CPU 与内存占用,并列出开机启动项
- 导出 Software Dock 或 winget import 格式的备份,并列出长期未使用的应用
- 报告有更新且正被利用的漏洞应用(CISA KEV),并启用或禁用启动项
- 适用场景
- 适合让助手回答某台 Windows 机器上装了什么、什么在占内存、哪些需要更新,并直接在对话中完成安装、升级和卸载,而不必在“设置”里逐项操作。
- 运行要求
- 仅限 Windows 电脑;以本地 stdio 进程运行,可用 MCP 安装包或 SoftwareDock.Mcp.exe 可执行文件。安装与更新依赖 WinGet(App Installer)。未声明账号、API 密钥或环境变量。加 --read-only 参数可只暴露只读工具。
安装
在 SourceWeft 中
- 打开 控制台中的 Software Dock,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Software Dock
The software on your Windows PC, one click from the taskbar — and one tool call from your AI agent.
[CI] [.NET 10] [Avalonia 12] [MCP]
Windows makes managing installed software tedious: Settings › Installed apps cannot update anything or remove more than one app at a time, WinGet is a console, and the Store only knows its own apps. Software Dock lives in the notification area and opens a panel on the right edge of the screen with everything that is installed, what can be updated, what is running and how much it uses, and a search box over the WinGet and Microsoft Store catalogs.
The same capabilities are exposed as an MCP server, so Claude Code, Copilot or any MCP client can answer "what do I have installed?", "what is eating my memory?", "update everything" or "install VLC".
Rendered by the headless UI tests from the real window, in demo mode.
Features
- Tray icon as a status light — green: up to date · amber: updates waiting · blue: working · red: the inventory could not be read. Click it, or press Win+Shift+I, to toggle the panel. Updates are checked in the background every 6 hours, so the tray turns amber on its own.
- 📌 Anchored / 🪟 floating — anchored, the panel hugs the right edge at full height and hides when it loses focus; floating, it is a normal draggable window.
- One inventory — the
Uninstallregistry keys (what Installed apps shows) reconciled with WinGet (ids, available updates) and MSIX/Store apps, with real icons. - Bulk uninstall — Select, tick several apps (or All), Uninstall: they are removed one after another. Something Windows itself does not offer.
- Update one or all, install from the catalog, uninstall anything — through WinGet when
it knows the app, otherwise through the app's own uninstaller (silently for MSI and
QuietUninstallString, never with guessed switches). - CPU and memory gauges — for the machine and for every running app, measured only while the panel is open. Sort by memory in use to find the heavy ones.
- Backups that survive a reinstall — an automatic backup in
Documents\Software Dock(OneDrive usually syncs it), updated whenever your software changes, in two formats: Software Dock's, and WinGet's, which restores a new PC with nothing butwinget import -i software-winget.json. Restore from backup lists what is missing, ticks it all, installs it in one go, and names the apps you will need to fetch by hand. - Security alerts — apps with an update pending that attackers are exploiting right now (CISA's Known Exploited Vulnerabilities catalog) get an Exploited badge and go first in Updates.
- Startup apps — everything Windows starts at sign-in, with Task Manager's own switch: disable without deleting, re-enable any time.
- Leftovers — after an uninstall, the folders it left behind (install folder, AppData, ProgramData) are offered for cleanup, to the Recycle Bin.
- Unused apps — Not opened for 8 months badges from Windows' own launch history, and a Least used sort to find what to remove.
- Pin or skip — right-click an app: Skip version 2.47.1 or Pin — never update.
- Administrator rights once per batch (opt-in) — Update all, bulk uninstall and restore ask Windows once and run every installer elevated, instead of one UAC prompt per app. The elevation ends with the batch; scheduled updates and the MCP server never use it.
- Updates on a schedule — every night or every Sunday night; a run missed while the PC was off happens when it wakes.
- Windows notifications — new updates (once per version), security alerts first, scheduled-run results, a new dock version.
- Start with Windows, single instance, per-monitor DPI, settings per user.
- Updates itself from GitHub releases (Velopack): it downloads in the background and offers Restart to update.
- MCP server with discovery instructions, tool annotations and a
--read-onlymode.
Install
Download SoftwareDock-win-Setup.exe from the latest release
and run it. It installs per user (no admin) to %LOCALAPPDATA%\SoftwareDock, adds a Start-menu
entry and starts in the tray. A portable zip is attached to every release too.
The installer is not code-signed yet, so SmartScreen may ask you to confirm the first time.
Or with WinGet, once the package has been accepted into the community repository:
Build from source
Requirements: .NET 10 SDK and WinGet (App Installer, preinstalled on current Windows).
Without touching your machine (in-memory demo PC):
Test:
appsettings.json next to the executable configures the hotkey and panel width; everything you
change in ⚙️ is stored in %LOCALAPPDATA%\SoftwareDock\settings.json.
Releasing
Bump <Version> in Directory.Build.props and push to main. When no release exists for that
version, CI tests, publishes self-contained, packs with Velopack, tags vX.Y.Z and creates the
release that installed docks update from. Pushing a v* tag by hand does the same.
Then it attaches the MCP bundle, publishes to the MCP Registry and opens the WinGet PR — see
Distribution.
Connect an AI agent (MCP)
Claude Desktop: download SoftwareDock-mcp-win-x64.mcpb from the
latest release and open it:
it installs the server, no dock needed. The server is also listed in the
MCP Registry as io.github.molidestroyer/software-dock.
Any other client: from the tray menu choose Copy MCP config, or print it:
and paste it into your client's .mcp.json:
On connect, the server sends instructions that tell the agent what it is for, which identifier each tool takes and where it comes from, and to confirm changes with the user first.
Add "args": ["--read-only"] to expose only the read-only tools.
Architecture
Decisions worth reading before changing things:
- Ports and adapters around a pure domain
- WinGet through its CLI first, behind a port
- A tray app in Avalonia, not a PowerToys module
- MCP: discovery through instructions, safety through the domain
- Releases and self-update with Velopack
- PC hygiene: startup, security, leftovers, unused apps, schedules, notifications
How it compares
UniGetUI is the most complete GUI if you want many package managers. Software Dock is deliberately smaller: Windows software only, one glance from the taskbar, and an agent-friendly API.
License
AGPL-3.0 © Miguel Molina
来源:README.md,提交 e9e00e6
工具
0版本历史
1- v0.4.0最新Nov 4, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分