Skip to main content
Glama

MSI Metadata MCP Server

by henry1042
README.md3.08 kB
# 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 ```bash # 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 ```python 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`: ```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 ```bash # 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 properties - `suggest_silent_commands(msi_path)` - Generate install/uninstall commands - `get_product_code/name/version(msi_path)` - Individual property getters - `build_install_command(msi_path, log_path?, extra_args?)` - Build install command - `build_uninstall_command(product_code, log_path?, extra_args?)` - Build uninstall command - `list_tables(msi_path)` - List MSI table names - `list_features(msi_path)` - List MSI features - `list_components(msi_path)` - List MSI components - `list_files(msi_path)` - List MSI files - `list_shortcuts(msi_path)` - List MSI shortcuts - `list_custom_actions(msi_path)` - List custom actions - `read_summary_info(msi_path)` - Read summary information - `registry_list_installed()` - List installed applications - `registry_find_by_name(name)` - Find apps by name - `registry_find_by_product_code(product_code)` - Find apps by ProductCode ## Contributing 1. Fork the repository 2. Create a feature branch 3. Make your changes 4. Add tests 5. Submit a pull request ## License MIT License - see LICENSE file for details. ## Support - Issues: [GitHub Issues](https://github.com/yourusername/MSI-MCP-Server/issues) - Discussions: [GitHub Discussions](https://github.com/yourusername/MSI-MCP-Server/discussions)

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/henry1042/MSI-MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server