Single-File Desktop Executable
Overview
The MCP Manager Desktop application is distributed as a single-file, self-contained executable that includes:
- Complete .NET 10.0 runtime
- All application dependencies
- Blazor UI components
- SQLite database engine
- Native libraries
No installation required! Just download and run.
Download
Get the latest release from: https://github.com/JerrettDavis/McpManager/releases
Available Downloads
- Windows:
mcpmanager-desktop-win-x64.zip(~50-60 MB) - Linux:
mcpmanager-desktop-linux-x64.tar.gz(~50-60 MB)
Installation
Windows
- Download
mcpmanager-desktop-win-x64.zip - Extract the archive to a folder (e.g.,
C:\Tools\McpManager) - Run
McpManager.Desktop.exe - The application opens in its own window - no browser needed!
Optional - Add to PATH:
# Add to your user PATH
$env:PATH += ";C:\Tools\McpManager"
Optional - Create Desktop Shortcut:
# PowerShell command to create shortcut
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$Home\Desktop\MCP Manager.lnk")
$Shortcut.TargetPath = "C:\Tools\McpManager\McpManager.Desktop.exe"
$Shortcut.Save()
Linux
- Download
mcpmanager-desktop-linux-x64.tar.gz - Extract the archive:
tar -xzf mcpmanager-desktop-linux-x64.tar.gz -C ~/Applications/McpManager - Make executable (if needed):
chmod +x ~/Applications/McpManager/McpManager.Desktop - Run the application:
~/Applications/McpManager/McpManager.Desktop
Optional - Add to PATH:
echo 'export PATH="$HOME/Applications/McpManager:$PATH"' >> ~/.bashrc
source ~/.bashrc
Optional - Create Desktop Entry:
cat > ~/.local/share/applications/mcpmanager.desktop <<EOF
[Desktop Entry]
Name=MCP Manager
Comment=Manage Model Context Protocol servers
Exec=$HOME/Applications/McpManager/McpManager.Desktop
Icon=application-default-icon
Terminal=false
Type=Application
Categories=Development;Utility;
EOF
Features
Self-Contained
- ✅ No .NET installation required
- ✅ No dependencies to install
- ✅ Works offline (after initial setup)
- ✅ Portable - can run from USB drive
Single File
- ✅ One executable file contains everything
- ✅ ~50-60 MB total size (compressed in release)
- ✅ Easy distribution - just share the executable
- ✅ No installation wizard needed
Native Performance
- ✅ Fast startup - typically under 2 seconds
- ✅ Low memory - ~90 MB RAM usage
- ✅ Optimized for desktop use
- ✅ Native window - not a browser wrapper
File Structure
After extraction, you'll have:
McpManager/
├── McpManager.Desktop.exe (or McpManager.Desktop on Linux) # ← Single executable
├── wwwroot/
│ ├── index.html # Static assets
│ ├── app.css
│ └── *.styles.css
├── appsettings.json # Application configuration
└── *.pdb (optional) # Debug symbols (can delete)
Note: The wwwroot folder must stay next to the executable. It contains static web assets needed by the Blazor UI.
Configuration
Database Location
By default, the application stores its database in:
- Windows:
%LOCALAPPDATA%\McpManager\mcpmanager.db - Linux:
~/.local/share/McpManager/mcpmanager.db
Settings
Edit appsettings.json to customize:
{
"Logging": {
"LogLevel": {
"Default": "Information"
}
},
"AllowedHosts": "*"
}
Command Line Options
# Reset database
McpManager.Desktop.exe --reset-db
# Specify custom database path (future enhancement)
# McpManager.Desktop.exe --db-path /path/to/database.db
Troubleshooting
Windows: "Windows protected your PC"
This is SmartScreen warning because the executable isn't code-signed. To run:
- Click "More info"
- Click "Run anyway"
Why? Code signing certificates cost $300+/year. For open source, we rely on GitHub's distribution.
Linux: Permission Denied
Make the file executable:
chmod +x McpManager.Desktop
Application Won't Start
Check:
- Is
wwwrootfolder present next to executable? - Do you have write permissions for the app directory?
- Is port 5000 already in use? (Desktop app uses random port)
View logs:
# Windows
$env:ASPNETCORE_ENVIRONMENT="Development"
.\McpManager.Desktop.exe
# Linux
ASPNETCORE_ENVIRONMENT=Development ./McpManager.Desktop
Database Errors
Reset the database:
# Windows
.\McpManager.Desktop.exe --reset-db
# Linux
./McpManager.Desktop --reset-db
Size Optimization
The executable is ~50-60 MB because it includes:
- .NET 10.0 runtime (~30 MB)
- Application code (~10 MB)
- Dependencies (~10 MB)
- Blazor framework (~5 MB)
- Compression (~5-10 MB savings)
Could it be smaller?
- Yes, with trimming - but risks runtime errors with Blazor
- Server version is much smaller (~5 MB) but requires .NET installed
Comparison: Desktop vs Server
| Feature | Desktop (Single File) | Server (Framework-Dependent) |
|---|---|---|
| Size | ~50-60 MB | ~5 MB |
| .NET Required | ❌ No | ✅ Yes (.NET 10.0) |
| Distribution | Single file | Multiple files |
| Startup | Native window | Browser required |
| Portability | ✅ USB drive ready | ❌ Needs .NET |
| Updates | Download new version | git pull && dotnet run |
Building From Source
To build your own single-file executable:
# Clone repository
git clone https://github.com/JerrettDavis/McpManager.git
cd McpManager
# Publish for Windows
dotnet publish src/McpManager.Desktop/McpManager.Desktop.csproj \
--configuration Release \
--runtime win-x64 \
--self-contained true \
--output ./publish/win-x64 \
/p:PublishSingleFile=true
# Publish for Linux
dotnet publish src/McpManager.Desktop/McpManager.Desktop.csproj \
--configuration Release \
--runtime linux-x64 \
--self-contained true \
--output ./publish/linux-x64 \
/p:PublishSingleFile=true
The executable will be in publish/win-x64/ or publish/linux-x64/.
Technical Details
What's Inside?
The single-file executable uses .NET's single-file deployment which:
- Bundles all DLLs into the executable
- Extracts them to temp folder on first run
- Loads assemblies from temp location
- Includes native libraries (SQLite, Photino)
Compression
- Enabled:
EnableCompressionInSingleFile=true - Saves: ~30-40% size
- Trade-off: Slightly slower first launch (~200ms)
Trimming
- Disabled:
PublishTrimmed=false - Why? Blazor uses reflection - trimming can break it
- Future: IL Linker improvements may enable safe trimming
Security
Code Signing
The release binaries are not code-signed. This means:
- ⚠️ Windows SmartScreen warnings
- ⚠️ macOS Gatekeeper will block (not distributed for macOS yet)
- ✅ Source code is open and auditable
- ✅ Built by GitHub Actions (reproducible)
- ✅ SHA256 checksums in releases
Verify Integrity
Always download from official releases and verify checksums:
# Windows (PowerShell)
Get-FileHash -Algorithm SHA256 McpManager.Desktop.exe
# Linux
sha256sum McpManager.Desktop
Compare with release notes SHA256.
Support
- Issues: https://github.com/JerrettDavis/McpManager/issues
- Discussions: https://github.com/JerrettDavis/McpManager/discussions
- Documentation: https://github.com/JerrettDavis/McpManager/tree/main/docs
License
MIT License - see LICENSE
Download Latest Release: https://github.com/JerrettDavis/McpManager/releases/latest