🚀 MYPC-MCP
MYPC-MCP 是一款強大的基於 Model Context Protocol (MCP) 的 Windows 電腦控制服務器。它如同 AI 智能體的管家,賦予 AI 視覺(截圖)、聽覺(系統狀態)、手腳(控制)和語音(自動化)能力,讓 AI 能夠全面掌控本地 Windows 電腦。
🚀 快速開始
一鍵安裝(Windows)
# 雙擊運行 - 自動檢查並安裝所有依賴
start.bat
或者手動安裝:
# 安裝
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
# 啟動
python main.py
服務器默認在 http://localhost:9999 上啟動。
✨ 主要特性
- 🖥️ 屏幕工具:支持全屏、活動窗口、網絡攝像頭截圖,還能進行 AI 分析。
- 🪟 窗口管理:可以列出、聚焦、最小化、最大化、關閉窗口。
- 📁 文件操作:能讀取、寫入、編輯、複製、移動、刪除文件,並具備安全區保護。
- 🔍 文件搜索:通過 Everything 集成實現快速文件搜索。
- ⌨️ 鍵鼠自動化:支持文本輸入和快捷鍵自動化。
- 🧠 智能檢測:可自動檢測活動窗口關聯的文件路徑。
- 📊 Excel 自動化:通過 xlwings 控制已打開的 Excel 工作簿。
- 📝 Office 自動化:藉助 pywin32 控制 Word 和 PowerPoint。
- 🌐 SSH 遠程:能在遠程 Linux 服務器上執行命令。
- 📊 系統控制:可對音量、電源、通知、硬件狀態進行控制。
- 📋 剪貼板:支持讀取和寫入剪貼板內容。
- 🐧 Bash Shell:執行 Git Bash 命令,且帶有黑名單保護。
📦 安裝指南
一鍵安裝(Windows)
# 雙擊運行 - 自動檢查並安裝所有依賴
start.bat
手動安裝
# 安裝
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
# 啟動
python main.py
💻 使用示例
基礎用法
場景 1:讀取和編輯文件
MyPC-list_directory(path="%USERPROFILE%\\Documents")
MyPC-read_file(path="%USERPROFILE%\\Documents\\筆記.txt")
MyPC-edit_file(
path="%USERPROFILE%\\Documents\\筆記.txt",
search_text="舊文本",
replace_text="新文本"
)
場景 2:瀏覽器自動化
MyPC-get_browser_url()
MyPC-take_screenshot(display_index=1, ai_analysis=True)
MyPC-set_clipboard(text="https://example.com")
場景 3:窗口管理
MyPC-list_windows()
MyPC-focus_window(title="記事本")
type_text(text="你好世界", enter=True)
hotkey(keys=["ctrl", "s"])
MyPC-close_window(title="記事本")
場景 4:文件搜索
MyPC-search_files(query="*.py", limit=20)
MyPC-search_files(query="項目筆記 ext:pdf")
場景 5:智能文件檢測
MyPC-detect_active_file()
場景 6:遠程 SSH 執行
MyPC-ssh_list_hosts()
MyPC-ssh_execute(host="MyServer", command="docker ps")
📚 詳細文檔
配置說明
基礎配置 (config.json)
{
"server": {
"enabled": true,
"name": "MyPC-MCP",
"port": 9999,
"host": "0.0.0.0",
"domain": "localhost"
},
"safe_zones": [
"%USERPROFILE%\\Documents",
"%USERPROFILE%\\Downloads",
"%USERPROFILE%\\Desktop",
"D:\\"
]
}
網絡訪問模式
僅本地訪問(默認):
{
"server": {
"host": "127.0.0.1",
"domain": "localhost"
}
}
局域網訪問:
{
"server": {
"host": "0.0.0.0",
"domain": "192.168.1.100"
}
}
以管理員身份運行 setup-firewall.bat 允許端口 9999。
可用工具
屏幕與視覺
MyPC-take_screenshot - 截取全屏或指定顯示器
MyPC-screenshot_active_window - 僅截取活動窗口
MyPC-take_webcam_photo - 從攝像頭拍照
MyPC-list_monitors - 列出所有顯示器
窗口管理
MyPC-get_active_window - 獲取活動窗口信息
MyPC-list_windows - 列出所有可見窗口
MyPC-focus_window - 按標題/進程聚焦窗口
MyPC-minimize_window - 最小化窗口
MyPC-maximize_window - 最大化窗口
MyPC-close_window - 關閉窗口
MyPC-screenshot_active_window - 截取活動窗口
MyPC-get_browser_url - 獲取瀏覽器地址欄 URL
MyPC-get_focused_control - 獲取焦點控件信息
進程管理
MyPC-list_processes - 按 CPU/內存列出進程
MyPC-kill_process - 按名稱或 PID 終止進程
MyPC-open_app - 打開應用程序
文件操作
MyPC-list_directory - 列出目錄內容
MyPC-read_file - 讀取文件(txt、docx、xlsx、pptx、pdf)
MyPC-write_file - 寫入文本文件(僅安全區)
MyPC-edit_file - 文件搜索替換
MyPC-copy_file - 複製文件(僅進入安全區)
MyPC-move_file - 移動/重命名文件(僅安全區)
MyPC-delete_file - 刪除文件(移入回收站)
MyPC-get_file_info - 獲取文件詳細信息
MyPC-search_files - 使用 Everything 搜索文件
文件搜索與檢測
MyPC-search_files - 通過 Everything 快速搜索文件
MyPC-detect_active_file - 智能檢測活動窗口的文件
Excel 自動化
MyPC-execute_excel_code - 在已打開的 Excel 中執行 xlwings 代碼
MyPC-list_excel_books - 列出所有打開的 Excel 工作簿
Office 自動化
MyPC-execute_word_code - 在已打開的 Word 中執行 pywin32 代碼
MyPC-execute_ppt_code - 在已打開的 PowerPoint 中執行 pywin32 代碼
輸入自動化
type_text - 輸入文本(支持通過剪貼板輸入中文)
hotkey - 按快捷鍵組合
剪貼板
MyPC-get_clipboard - 獲取剪貼板內容
MyPC-set_clipboard - 設置剪貼板內容
系統控制
MyPC-get_system_status - 獲取 CPU、內存、電池狀態
MyPC-set_volume / MyPC-get_volume - 音量控制
MyPC-lock_screen - 鎖定工作站
MyPC-sleep_display - 關閉顯示器
MyPC-hibernate - 休眠系統
通知
MyPC-show_notification - 顯示 Windows Toast 通知
硬件
MyPC-get_hardware_status - CPU、GPU、內存、磁盤信息
Bash Shell
MyPC-bash - 執行 Git Bash 命令
MyPC-bash_blocked - 列出被阻止的命令
MyPC-bash_status - 檢查 Bash 安裝
SSH 遠程
MyPC-ssh_list_hosts - 列出配置的 SSH 主機
MyPC-ssh_execute - 執行遠程命令
MyPC-ssh_test_connection - 測試 SSH 連接
MyPC-ssh_allowed_commands - 列出允許的命令
實用工具
MyPC-delay - 延遲執行(1-120 秒)
網絡訪問
本地訪問
python main.py
http://localhost:9999
局域網訪問
- 配置防火牆(以管理員身份運行
setup-firewall.bat)
- 編輯
config.json:{
"server": {
"host": "0.0.0.0",
"domain": "你的局域網IP"
}
}
- 從局域網訪問:
http://你的局域網IP:9999
公網訪問
- 配置路由器端口轉發(外部 9999 → 你的電腦:9999)
- 以管理員身份運行
setup-firewall.bat
- 配置域名或使用公網 IP
詳細指南請參閱 NETWORK.md。
🔧 技術細節
安全性
安全區
文件操作按權限級別分類:
- 只讀操作:任意目錄
- 寫入操作:僅在配置的安全區內
- 複製操作:只能複製進入安全區
SSH 安全
數據保護
- 文件刪除移入回收站
- 默認無永久數據丟失
- 路徑驗證和規範化
高級配置
環境變量
配置支持環境變量擴展:
%USERPROFILE% - 用戶目錄
%APPDATA% - 應用數據目錄
%TEMP% - 臨時文件夾
~ - 主目錄
Everything 搜索
啟用快速文件搜索,安裝 Everything 並在 config.json 中配置路徑:
{
"paths": {
"everything": [
"C:\\Program Files\\Everything\\es.exe",
"D:\\APP\\Everything\\es.exe"
]
}
}
Git Bash
在 config.json 中配置 Git Bash 路徑:
{
"paths": {
"git_bash": [
"C:\\Program Files\\Git\\bin\\bash.exe"
]
}
}
AI 分析(VLM)
配置視覺語言模型用於截圖分析:
{
"vlm": {
"enabled": true,
"base_url": "https://open.bigmodel.cn/api/paas/v4",
"api_key": "your_api_key_here",
"model": "glm-4.6v",
"prompt": "請識別這張圖片中的所有文字。"
}
}
項目結構
MYPC-MCP/
├── main.py # 服務器入口
├── config.example.json # 配置模板
├── config.json # 配置文件(gitignored)
├── requirements.txt # Python 依賴
├── start.bat # 快速啟動腳本
├── install.bat # 安裝腳本
├── stop.bat # 停止服務腳本
├── setup-firewall.bat # 防火牆配置
├── tools/ # 工具模塊
│ ├── screen.py # 屏幕和攝像頭工具
│ ├── system.py # 系統控制工具
│ ├── files.py # 文件管理工具
│ ├── window.py # 窗口管理工具
│ ├── search.py # 文件搜索工具
│ ├── ssh.py # SSH 遠程工具
│ ├── bash.py # Git Bash 工具
│ ├── keyboard_mouse.py # 鍵鼠自動化
│ ├── detector.py # 智能文件檢測
│ ├── detect_active_file.py # 文件檢測實現
│ ├── excel.py # Excel 自動化 (xlwings)
│ └── office.py # Office 自動化 (Word/PPT)
├── utils/ # 工具模塊
│ └── config.py # 配置加載器
└── screenshots/ # 截圖存儲
📄 許可證
MIT License
🤝 貢獻
歡迎貢獻!隨時提交 Pull Request。