Installer ran successfully on a completely separate machine. Zero STRYK involvement. It just worked.
The gap between "works on my machine" and "works on anyone's machine" is where most projects die. We crossed it.
MCP servers are powerful, but distribution was a nightmare:
| Problem | Reality |
|---|---|
| Multiple binaries | 9+ separate .exe files to manage |
| Config complexity | JSON config must reference correct paths |
| Dependencies | VC++ runtime, correct directories |
| User skill level | Most users can't manually configure MCP |
| Updates | No mechanism for version management |
A professional Windows installer that:
| Server | Tools | Purpose |
|---|---|---|
| everything-mcp-rs | 24 | Lightning-fast file search |
| git-mcp-rs | 20 | Git operations |
| multiplexor-mcp-rs | 10 | Terminal session management |
| screen-mcp-rs | 7 | Screen capture & UI inspection |
| sigcon6-mcp-rs | 24 | Network & system info |
| textgrep-mcp-rs | 14 | Content search & extraction |
| wa-encoder-rs | 4 | WeakAura encode/decode |
| windows-mcp-v3 | 22 | Windows system integration |
| vocal-claudes | 2 | Text-to-speech |
User: Fresh Windows 11 machine
No development tools installed
Never configured MCP before
Received: PhiDEX-MCP-Suite-Setup.exe
Process:
1. Double-click installer
2. Click "Next" through wizard
3. Choose install location
4. Click "Install"
5. Restart Claude Desktop
Result: ALL 9 SERVERS LOADED
120+ tools available immediately
Zero manual configuration
[Files]
; All MCP server binaries
Source: "bin\*.exe"; DestDir: "{app}\bin"
; Auto-configure Claude Desktop
[Code]
procedure UpdateClaudeConfig();
var
ConfigPath: string;
Config: TStringList;
begin
ConfigPath := ExpandConstant('{userappdata}\Claude\claude_desktop_config.json');
// Generate config with correct install paths
// Merge with existing config if present
end;
The installer dynamically generates the MCP configuration based on the actual install location, handles existing configs gracefully, and sets up everything Claude Desktop needs.
This isn't just about convenience. It's about making the MCP ecosystem accessible to users who don't want to edit JSON configs and manage binary paths manually.