Skip to main content
Glama

MSI Metadata MCP Server

by henry1042

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

-
security - not tested
A
license - permissive license
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Enables reading MSI installer metadata, analyzing Windows software packages, and generating silent installation commands. Provides comprehensive MSI file analysis including features, components, and registry-based installed application management.

  1. Features
    1. Installation
      1. Prerequisites
      2. Setup
    2. Usage
      1. Basic Usage
      2. MCP Client Integration
    3. Testing
      1. Available MCP Tools
        1. Contributing
          1. License
            1. Support

              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