Skip to content

LUMIARCH9/pc-manager-

Repository files navigation

PC Manager

AI-powered PC management system with 80+ MCP tools for Cursor, Claude, and other AI agents.

PC Manager bridges the gap between AI and your operating system. It provides a comprehensive REST API, a web dashboard, and an MCP (Model Context Protocol) server that gives AI agents full control over your Windows PC.


Features

System Monitoring

  • Real-time CPU, memory, disk, and network monitoring
  • Live charts with usage history
  • System information and uptime tracking

File Management

  • Browse, create, rename, move, copy, delete files and folders
  • Built-in file viewer and editor
  • Drive listing with usage info

Process & Service Control

  • List, filter, and kill processes
  • Start, stop, restart Windows services
  • Process memory and CPU tracking

Network

  • Interface listing with IP addresses
  • Active connection monitoring
  • Traffic statistics
  • Ping, DNS resolve, port scan, Wake-on-LAN

Shell

  • Execute PowerShell commands remotely via web UI or API
  • Command history with arrow key navigation

Power Management

  • Lock, sleep, restart, shutdown with confirmation
  • Power plan and battery status

Programs & Environment

  • List installed programs and startup items
  • View and edit environment variables
  • PATH analysis with existence checks

Task Scheduler

  • List and run scheduled tasks

Registry

  • Read and write Windows registry values

Security & Admin

  • API key authentication
  • Danger level system (LOW / MEDIUM / HIGH / CRITICAL)
  • Action logging and audit history
  • Admin Bridge for elevated privilege execution

Hardware & Sensors

  • GPU info (NVIDIA)
  • Disk health (SMART)
  • USB devices, Bluetooth, printers
  • Camera capture, microphone recording

Screen & GUI Control

  • Screenshot capture
  • Mouse click and move
  • Keyboard input
  • Window management (list, focus)
  • Clipboard read/write

Docker & Package Management

  • Docker container management
  • Winget package search and install
  • WiFi network listing and connection

Email Integration

  • IMAP/SMTP email access (Naver, Gmail, etc.)
  • Read, search, send, delete emails
  • Folder listing

AI Agent

  • Natural language to API translation
  • OpenAI Function Calling compatible schema
  • Chat interface in web dashboard

Architecture

+------------------+     +------------------+     +------------------+
|   Web Dashboard  |     |    AI Agents     |     |   External Apps  |
|  (localhost:7777)|     | (Cursor/Claude)  |     |   (GPT/Gemini)   |
+--------+---------+     +--------+---------+     +--------+---------+
         |                         |                        |
         |    REST API (/api/*)    |     MCP Protocol       |
         +------------+------------+----------+-------------+
                      |                       |
              +-------v-------+       +-------v-------+
              |   Flask App   |       |  MCP Server   |
              |   (app.py)    |       |(mcp_server.py)|
              +-------+-------+       +-------+-------+
                      |                       |
              +-------v-----------------------v-------+
              |          Core Modules                  |
              |  system | files | processes | network  |
              |  shell | power | registry | docker    |
              |  screen | senses | email | admin      |
              +---------------------------------------+
              |          Windows OS (PowerShell)       |
              +---------------------------------------+

Quick Start

Prerequisites

  • Windows 10/11
  • Python 3.11+
  • pip

Installation

# Clone the repository
git clone https://github.com/yourusername/pc-manager.git
cd pc-manager

# Install dependencies
pip install -r requirements.txt

# Run the web dashboard
python app.py

Open http://localhost:7777 in your browser.

MCP Server Setup (Cursor / Claude Desktop)

  1. Add to your MCP configuration:
{
  "mcpServers": {
    "pc-manager": {
      "command": "python",
      "args": ["path/to/pc-manager/mcp_server.py"]
    }
  }
}
  1. Restart Cursor or Claude Desktop
  2. You now have 80+ tools available to your AI agent

Email Setup (Optional)

  1. Copy the example config:
cp mail_config.example.json mail_config.json
  1. Edit mail_config.json with your email credentials:
    • For Naver Mail: Enable IMAP in settings, generate an app password
    • For Gmail: Enable IMAP, use app-specific password

Admin Bridge Setup (Optional)

For operations requiring elevated privileges:

powershell -ExecutionPolicy Bypass -File admin_bridge/setup_admin_bridge.ps1

API Documentation

Once the server is running, visit:

  • Swagger UI: http://localhost:7777/api/docs
  • OpenAI Schema: http://localhost:7777/api/agent/openai-schema

API Endpoints Overview

Category Endpoint Description
System /api/system/* System info, stats, uptime
Files /api/files/* File operations
Processes /api/processes/* Process management
Services /api/services/* Service control
Network /api/network/* Network monitoring
Disk /api/disk/* Disk analysis
Shell /api/shell/* Command execution
Power /api/power/* Power management
Programs /api/programs/* Installed programs
Environment /api/env/* Environment variables
Scheduler /api/scheduler/* Task scheduler
Registry /api/registry/* Registry operations
Docker /api/docker/* Container management
Screen /api/screen/* Screenshot, GUI control
Hardware /api/hardware/* GPU, USB, Bluetooth
Admin /api/admin/* Elevated execution

MCP Tools (80+)

When connected via MCP, AI agents can use tools including:

Tool Description
get_system_info Get OS, CPU, memory details
get_system_stats Real-time CPU/memory/disk usage
list_files Browse directory contents
read_file / write_file Read and write files
search_files Search by filename
list_processes / kill_process Process management
list_services / control_service Service management
execute_command Run PowerShell commands
take_screenshot Capture screen
mouse_click / keyboard_type GUI automation
mail_list / mail_send Email operations
docker_containers Docker management
ping_host / port_scan Network diagnostics
power_action Lock, sleep, restart, shutdown
... and 60+ more

Project Structure

pc-manager/
├── app.py                 # Flask entry point
├── config.py              # Configuration
├── mcp_server.py          # MCP server (80+ tools)
├── requirements.txt       # Python dependencies
├── api/                   # REST API modules
│   ├── system.py          # System info & stats
│   ├── files.py           # File management
│   ├── processes.py       # Process management
│   ├── services.py        # Service control
│   ├── network.py         # Network monitoring
│   ├── disk.py            # Disk analysis
│   ├── shell.py           # Shell execution
│   ├── power.py           # Power management
│   ├── agent.py           # AI agent bridge
│   └── ...                # 15+ more modules
├── core/                  # Core utilities
│   ├── security.py        # Authentication
│   ├── history.py         # Action logging
│   └── admin_bridge.py    # Elevated execution
├── admin_bridge/          # Admin elevation scripts
├── static/                # Frontend assets
│   ├── css/style.css
│   └── js/app.js
├── templates/
│   └── index.html         # Web dashboard
└── .cursor/
    └── mcp.json           # MCP configuration

Security Notice

  • The API runs on localhost only by default
  • All operations are authenticated via API key
  • Dangerous operations (kill process, shutdown, delete) require confirmation
  • Action history is logged for auditing
  • Do not expose this server to the public internet without additional security measures

Tech Stack

  • Backend: Python, Flask, Flask-RESTX, psutil
  • Frontend: Vanilla JS, Chart.js, Lucide Icons, Inter Font
  • AI Integration: MCP (Model Context Protocol), OpenAI Function Calling
  • System: PowerShell, Windows API, pyautogui

License

MIT License - see LICENSE for details.


Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request