henry1042/MSI-MCP-Server
3.1
If you are the rightful owner of MSI-MCP-Server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The MSI Metadata MCP Server is a tool designed to read MSI files and manage Windows software installations efficiently.
Tools
15
Resources
0
Prompts
0
MSI Metadata MCP Server
A Model Context Protocol (MCP) server for reading MSI files and managing Windows software installations.
Features
- ✅ MSI Metadata Reading - Extract ProductCode, ProductName, ProductVersion, etc.
- ✅ Silent Install/Uninstall Commands - Generate msiexec commands
- ✅ Registry-based Installed Apps - Query installed software (fast, safe)
- ✅ Advanced MSI Analysis - Features, Components, Files, Shortcuts, Custom Actions
- ✅ Summary Information - MSI summary stream data
- ✅ Command Builders - Build install/uninstall commands with logging
Installation
Prerequisites
- Windows 10/11
- Python 3.8+
- PowerShell 5.1+
Setup
# Clone the repository
git clone https://github.com/yourusername/MSI-MCP-Server.git
cd MSI-MCP-Server
# Create virtual environment
python -m venv .venv
.venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
Usage
Basic Usage
from mcp_msi_server import local_read_msi_metadata, local_suggest_silent_commands
# Read MSI metadata
meta = local_read_msi_metadata("path/to/installer.msi")
print(meta)
# Get silent commands
cmds = local_suggest_silent_commands("path/to/installer.msi")
print(cmds)
MCP Client Integration
Claude Desktop
Add to %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"msi-metadata": {
"command": "C:\\path\\to\\MSI-MCP-Server\\.venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\MSI-MCP-Server\\mcp_msi_server.py"]
}
}
}
Cursor
Use built-in MCP support with the same configuration.
Testing
# Test basic functionality
python test_basic.py
# Test all features
python test_all_features.py
Available MCP Tools
read_msi_metadata(msi_path)- Read core MSI propertiessuggest_silent_commands(msi_path)- Generate install/uninstall commandsget_product_code/name/version(msi_path)- Individual property gettersbuild_install_command(msi_path, log_path?, extra_args?)- Build install commandbuild_uninstall_command(product_code, log_path?, extra_args?)- Build uninstall commandlist_tables(msi_path)- List MSI table nameslist_features(msi_path)- List MSI featureslist_components(msi_path)- List MSI componentslist_files(msi_path)- List MSI fileslist_shortcuts(msi_path)- List MSI shortcutslist_custom_actions(msi_path)- List custom actionsread_summary_info(msi_path)- Read summary informationregistry_list_installed()- List installed applicationsregistry_find_by_name(name)- Find apps by nameregistry_find_by_product_code(product_code)- Find apps by ProductCode
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
License
MIT License - see LICENSE file for details.
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions