Skip to main content
Glama

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

Latest Blog Posts

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