Software MCP Server
by DumoeDss
The Software MCP Server provides software management capabilities for your computer, allowing LLMs to interact with installed applications. It supports listing, opening, and closing software across multiple operating systems.
Last updated: N/A
English | 中文
Software MCP Server
A Model Context Protocol server that provides software management capabilities for your computer. This server enables LLMs to get a list of installed software, open applications, and close running programs, with support for multiple operating systems (Windows, macOS, Linux).
Available Tools
-
get_software_list_tool
- Get a list of installed software on the computer.- Returns a list of software names.
-
open_software
- Open software by name.- Required arguments:
name
(string): The name of the software to open.
- Required arguments:
-
close_software
- Close running software by name (currently Windows-only).- Required arguments:
name
(string): The name of the software to close.
- Required arguments:
Installation
Using uv (recommended)
When using uv
, no specific installation is needed. We can use uvx
to directly run mcp-software-server.
Using PIP
Alternatively, you can install dependencies via pip:
pip install mcp_server_software
Configuration
Configure for Claude.app
Add to your Claude settings:
<details> <summary>Using uvx</summary>"mcpServers": {
"software_manager": {
"command": "uvx",
"args": ["mcp-server-software"]
}
}
</details>
<details>
<summary>Using uv</summary>
"mcpServers": {
"software_manager": {
"command": "uv",
"args": [
"--directory",
"{path/to/mcp_server_software.py}",
"run",
"mcp_server_software.py"
],
"env": {},
"disabled": false,
"alwaysAllow": []
}
}
</details>
<details>
<summary>Using manual Python command</summary>
"mcpServers": {
"software_manager": {
"command": "python",
"args": ["path/to/mcp_server_software.py"]
}
}
</details>
Platform Support
- Windows: Full functionality (software listing, opening, closing)
- macOS: Software listing and opening only
- Linux: Software listing and opening only
Example Interactions
- Get software list:
{
"name": "get_software_list_tool",
"arguments": {}
}
Response:
[
"Chrome",
"Firefox",
"Visual Studio Code",
"Notepad++",
...
]
- Open software:
{
"name": "open_software",
"arguments": {
"name": "Chrome"
}
}
Response:
"Opened Chrome"
- Close software (Windows only):
{
"name": "close_software",
"arguments": {
"name": "Chrome"
}
}
Response:
"Closed Chrome"
Debugging
You can use the MCP inspector to debug the server:
npx @modelcontextprotocol/inspector python mcp_server_software.py
Examples of Questions for Claude/AI
- "What applications do I have installed on my computer?"
- "Can you open Notepad for me?"
- "Please close Chrome browser"
- "Show me all available software on my system"
How It Works
The server creates and maintains a JSON file (software_list.json
) that maps software names to their executable paths. On Windows, it scans Start Menu shortcuts, on macOS it looks in the Applications folder, and on Linux it examines desktop entry files.
You can manually edit this JSON file to add custom software entries:
{
"CustomApp": "C:\\Path\\To\\Custom\\App.exe"
}
Requirements
- Python 3.7+
- psutil
- mcp
- pywin32 (Windows only)
Contributing
Contributions are welcome to help expand and improve mcp-software-server. Consider adding support for:
- Better closing support on macOS/Linux
- Enhanced software detection
- Software installation/uninstallation capabilities
- Additional software management features
License
This project is licensed under the MIT License. See the LICENSE file for details.