Skip to main content

Systems Manager will update your system and install/upgrade applications. Additionally, as allow AI to perform these activities as an MCP Server

Project description

Systems-Manager

PyPI - Version PyPI - Downloads GitHub Repo stars GitHub forks GitHub contributors PyPI - License GitHub

GitHub last commit (by committer) GitHub pull requests GitHub closed pull requests GitHub issues

GitHub top language GitHub language count GitHub repo size GitHub repo file count (file type) PyPI - Wheel PyPI - Implementation

Version: 1.1.9

Systems-Manager is a powerful CLI and MCP server tool to manage your system across multiple operating systems. It supports updating, installing, and optimizing applications, managing Windows features, installing Nerd Fonts, and retrieving system and hardware statistics. It now supports Ubuntu, Debian, Red Hat, Oracle Linux, SLES, Arch, and Windows, with Snap fallback for Linux application installations.

This repository is actively maintained - Contributions are welcome!

Features

  • Multi-OS Support: Works on Windows, Ubuntu, Debian, Red Hat, Oracle Linux, SLES, and Arch.
  • Application Management: Install and update applications using native package managers (apt, dnf, zypper, pacman, winget) with automatic Snap fallback for Linux.
  • Font Installation: Install specific Nerd Fonts (default: Hack) or all available fonts from the latest release.
  • Windows Feature Management: List, enable, or disable Windows optional features (Windows only).
  • System Optimization: Clean and optimize system resources (e.g., trash/recycle bin, autoremove, defragmentation on Windows).
  • System and Hardware Stats: Retrieve detailed OS and hardware information using psutil.
  • Logging: Optional logging to a specified file or default systems_manager.log in the script directory.
  • FastMCP Server: Expose all functionality via a Model Context Protocol (MCP) server over stdio or HTTP for integration with AI or automation systems.
Usage:
Short Flag Long Flag Description
-h --help See usage for script
-c --clean Clean Recycle/Trash bin
-e --enable-features Enable Windows features (comma-separated, Windows only)
-d --disable-features Disable Windows features (comma-separated, Windows only)
-l --list-features List all Windows features and their status (Windows only)
-f --fonts Install Nerd Fonts (comma-separated, e.g., Hack,Meslo or 'all'; default: Hack)
-i --install Install applications (comma-separated, e.g., python3,git)
-p --python Install Python modules (comma-separated)
-s --silent Suppress output to stdout
-u --update Update applications and Operating System
-o --optimize Optimize system (e.g., autoremove, clean cache, defrag)
--os-stats Print OS statistics (e.g., system, release, version)
--hw-stats Print hardware statistics (e.g., CPU, memory, disk)
--log-file Log to specified file (default: systems_manager.log)
Example:
systems-manager --fonts Hack,Meslo --update --clean --python geniusbot --install python3,git --enable-features Microsoft-Hyper-V-All,Containers --log-file /path/to/log.log
Installation Instructions:

Install Python Package

python -m pip install systems-manager

or

uv pip install --upgrade systems-manager

Dependencies

The following Python packages are automatically installed if missing:

  • distro: For Linux distribution detection.
  • psutil: For system and hardware statistics.
  • requests: For downloading Nerd Fonts.
  • fastmcp: For MCP server functionality (required for systems-manager-mcp).

Use with AI (MCP Server)

Configure mcp.json to integrate with AI systems:

{
  "mcpServers": {
    "systems_manager": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "systems-manager",
        "systems-manager-mcp"
      ],
      "env": {
        "SYSTEMS_MANAGER_SILENT": "False",
        "SYSTEMS_MANAGER_LOG_FILE": "~/Documents/systems_manager_mcp.log"
      },
      "timeout": 200000
    }
  }
}

Run the MCP server:

systems-manager-mcp --transport http --host 0.0.0.0 --port 8003

Available MCP tools:

  • install_applications: Install applications with Snap fallback (Linux).
  • update: Update system and applications.
  • clean: Clean system resources (e.g., trash/recycle bin).
  • optimize: Optimize system (e.g., autoremove, defrag on Windows).
  • install_python_modules: Install Python modules via pip.
  • install_fonts: Install specified Nerd Fonts (default: Hack) or all fonts.
  • get_os_stats: Retrieve OS statistics.
  • get_hardware_stats: Retrieve hardware statistics.
  • list_windows_features: List Windows features (Windows only).
  • enable_windows_features: Enable Windows features (Windows only).
  • disable_windows_features: Disable Windows features (Windows only).

Deploy MCP Server as a Container

docker pull knucklessg1/systems-manager:latest

Modify the compose.yml:

services:
  systems-manager-mcp:
    image: knucklessg1/systems-manager:latest
    environment:
      - HOST=0.0.0.0
      - PORT=8003
      - SILENT=False
      - LOG_FILE=/var/log/systems_manager_mcp.log
    ports:
      - 8003:8003
    volumes:
      - /path/to/log:/var/log

Geniusbot Application

Use with a GUI through Geniusbot for an enhanced experience.

Visit our GitHub for more information.

Installation Instructions with Geniusbot:

Install Python Package

python -m pip install geniusbot

or

uv pip install --upgrade geniusbot
Repository Owners:

GitHub followers GitHub User's stars

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

systems_manager-1.1.9.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

systems_manager-1.1.9-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file systems_manager-1.1.9.tar.gz.

File metadata

  • Download URL: systems_manager-1.1.9.tar.gz
  • Upload date:
  • Size: 18.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for systems_manager-1.1.9.tar.gz
Algorithm Hash digest
SHA256 56722fffbd9e2cc615c55e90ef4fc87871072a48c3b63e8a016a4a309b8b3f1b
MD5 f1ec5232c52ed704bfedcb2fb0317c5e
BLAKE2b-256 086901469d301e3b5e590f7c07bb69c98bb01b352bb2c054021e51e53078ee37

See more details on using hashes here.

File details

Details for the file systems_manager-1.1.9-py3-none-any.whl.

File metadata

File hashes

Hashes for systems_manager-1.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 6966ccf4650cebc7969f0ef05a3e1df6e0a4eba9f6b5710f8cdfe840758b89af
MD5 031e1c064a6310e7d7aeb29ca774a9c8
BLAKE2b-256 15613e52b80d85f99553a8203de4f2116cc0e7c13f228ead779ee08ad0c418bb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page