Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
List, update, install and uninstall the software on a Windows PC; running apps, startup apps.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
链接指向作者自己的文件;我们不托管也不重新打包它。打开文件后,Claude Desktop 会进行安装。
在终端中运行这条命令
浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 molidestroyer 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.4.0)于前天进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 MCPB。
同一分类中有:Spec Driven Development, Remote Desktop Commander, SuperCollider
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Make sound with SuperCollider: synths, drums, chords, melodies and soundscapes over OSC.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Software Dock
The software on your Windows PC, one click from the taskbar — and one tool call from your AI agent.
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"*.
| Installed + gauges | Updates + security | Startup apps |
|---|---|---|
| Leftovers, pinned, unused | Bulk uninstall | Settings |
|---|---|---|
| Discover | Restore from backup |
|---|---|
*Rendered by the headless UI tests from the real window, in demo mode.*
Uninstall registry keys (what *Installed apps* shows) reconciled with WinGet (ids, available updates) and MSIX/Store apps, with real icons.QuietUninstallString, never with guessed switches).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 but winget 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.--read-only mode.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:
winget install MiguelMolina.SoftwareDock
Requirements: .NET 10 SDK and WinGet (*App Installer*, preinstalled on current Windows).
dotnet run --project src/SoftwareDock.App
Without touching your machine (in-memory demo PC):
dotnet run --project src/SoftwareDock.App -- --demo
Test:
dotnet test SoftwareDock.slnx
appsettings.json next to the executable configures the hotkey and panel width; everything you change in ⚙️ is stored in %LOCALAPPDATA%\SoftwareDock\settings.json.
Bump 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.
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:
SoftwareDock.Mcp.exe --print-config
and paste it into your client's .mcp.json:
{
"mcpServers": { "software-dock": { "type": "stdio", "command": "C:\\Tools\\SoftwareDock\\SoftwareDock.Mcp.exe", "args": [] } } }
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.
| Tool | Kind | What it does |
|---|---|---|
list_installed_software | read-only | Installed apps with version, available update and key; filter, only-updates, refresh |
get_software_details | read-only | Location, date, size and how it would be uninstalled |
search_software_catalog | read-only | WinGet + Microsoft Store search, returns packageId |
install_software | changes the PC | Silent install of a packageId |
upgrade_software | changes the PC | Upgrade an installed app by key |
uninstall_software | destructive | Remove an installed app by key |
list_running_software | read-only | Running apps with CPU % and memory, heaviest first |
export_software_backup | read-only | Backup JSON in Software Dock or winget import format |
get_security_advisories | read-only | Apps with pending updates that are actively exploited (CISA KEV) |
list_unused_software | read-only | Apps not opened for N days, largest first |
list_startup_apps | read-only | What starts with Windows, enabled or not, and which app it belongs to |
set_startup_app_enabled | changes the PC | Enable/disable a startup app the way Task Manager does |
Add "args": ["--read-only"] to expose only the read-only tools.
src/
SoftwareDock.Domain pure model and rules — no I/O SoftwareDock.Application use cases over ports (inventory, operations) SoftwareDock.Infrastructure Windows adapters: registry, WinGet CLI, uninstallers SoftwareDock.Mcp MCP server (stdio) SoftwareDock.App Avalonia tray dock tests/ one test project per layer, incl. headless UI and MCP end to end docs/adr/ architecture decisions
Decisions worth reading before changing things:
| Software Dock | UniGetUI | WinGet's built-in MCP server | PowerToys Command Palette | |
|---|---|---|---|---|
| Lives in the tray | ✅ panel docked to the screen edge | ✅ window + tray menu | — | launcher (Win+Alt+Space) |
| Installed apps WinGet does not know | ✅ registry reconciled | partial | — | — |
| Update / uninstall | ✅ | ✅ (+ Scoop, Chocolatey, npm…) | — (find, install) | install |
| Bulk uninstall | ✅ | ✅ | — | — |
| CPU / memory per app | ✅ | — | — | — |
| Backup / restore | ✅ (+ winget import format) | ✅ | — | — |
| Exploited-vulnerability alerts | ✅ | — | — | — |
| Startup apps / leftovers / unused apps | ✅ | — | — | — |
| MCP server for agents | ✅ inventory + install/upgrade/uninstall | — | ✅ find + install | — |
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.
AGPL-3.0 © Miguel Molina