README
🚀 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:浏览器自动化
# 获取当前浏览器 URL
MyPC-get_browser_url()
# 截图并 AI 分析
MyPC-take_screenshot(display_index=1, ai_analysis=True)
# 复制 URL 到剪贴板
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:文件搜索
# 搜索 Python 文件
MyPC-search_files(query="*.py", limit=20)
# 在特定目录搜索
MyPC-search_files(query="项目笔记 ext:pdf")
场景 5:智能文件检测
# 检测当前打开的文件
MyPC-detect_active_file()
# 返回: {
# "path": "D:\\Projects\\main.py",
# "filename": "main.py",
# "software": "Python",
# "strategy": "标题路径提取"
# }
场景 6:远程 SSH 执行
# 列出 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- 获取浏览器地址栏 URLMyPC-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。
Scan to join WeChat group