MSI-MCP-Server

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 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