🚀 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。