使用说明
MCP PC控制服务器
一个功能强大的模型上下文协议(MCP)服务器,提供全面的PC控制功能,包括文件操作、目录管理、命令执行、系统检查和进程管理。旨在让AI助手(Claude、GPT、Gemini等)对主机进行全面、高效的控制。
特性
文件操作
- read_file -使用正确的编码读取完整的文件内容
- read_file_lines -从文件中读取特定范围的行(对于大文件有效)
- write_file -创建新文件或覆盖现有文件
- append_to_file -在不覆盖文件的情况下将内容附加到文件
- edit_file -使用diff输出进行精确的基于文本的编辑
- copy_file -将文件复制到新位置(保留源代码)
- 删除文件 -从文件系统中删除文件
- move_file -移动或重命名文件和目录
- 获取_文件_信息 -获取详细的文件元数据(大小、时间戳、权限、可读性)
目录操作
- create_directory -创建目录(支持嵌套创建)
- list_directory -列出目录内容及详细信息
- delete_directory -递归删除目录及其内容
- 搜索文件 -递归搜索与名称模式匹配的文件
内容搜索
- search_in_files -对文件中的文本内容进行类似Grep的搜索,具有可选的文件模式过滤和不区分大小写模式
系统操作
- execute_命令 -使用可选的工作目录和可配置的超时执行shell命令
- get_system_info -获取操作系统、CPU、内存、正常运行时间、主机名和网络接口详细信息
- 列表_流程 -使用可选名称筛选器列出正在运行的进程
- get_environment -读取环境变量(一个或全部)
安装
- 克隆或下载此存储库
- 安装依赖项:
npm install
- 构建项目:
npm run build
用法
运行服务器
服务器通过stdio通信,旨在与MCP客户端一起使用:
npm start
使用Claude Desktop进行配置
将此服务器添加到您的Claude Desktop配置文件中:
在macOS上: ~/Library/Application Support/Claude/claude_desktop_config.json
在Windows上: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"pc-control": {
"command": "node",
"args": ["/absolute/path/to/first_mcp/build/index.js"]
}
}
}
替换 /absolute/path/to/first_mcp 带有此项目目录的实际绝对路径。
与其他AI客户端的配置
任何兼容MCP的客户端(Claude、Cursor、Windsurf、Continue等)都可以使用相同的stdio传输方法连接到此服务器。将客户指向已构建的 build/index.js 和 node.
npx示例(备选)
{
"mcpServers": {
"pc-control": {
"command": "npx",
"args": ["-y", "mcp-pc-control-server"]
}
}
}
可用工具
read_file
{ path: string }
read_file_lines
{
path: string,
start: number, // 1-based, inclusive
end?: number // 1-based, inclusive (omit to read to end)
}
write_file
{ path: string, content: string }
append_to_file
{ path: string, content: string }
edit_file
{
path: string,
edits: [{ oldText: string, newText: string }]
}
copy_file
{ source: string, destination: string }
create_directory
{ path: string }
list_directory
{ path: string }
删除文件
{ path: string }
delete_directory
{ path: string }
move_file
{ source: string, destination: string }
获取_文件_信息
{ path: string }
execute_命令
{
command: string,
workingDirectory?: string,
timeout?: number // ms, default 30000
}
搜索文件
{ path: string, pattern: string } // pattern supports * and **
search_in_files
{
path: string,
query: string,
filePattern?: string, // e.g. "*.ts"
caseSensitive?: boolean // default false
}
get_system_info
{} // no arguments required
列表_流程
{ filter?: string } // optional substring filter on process name
get_environment
{ variable?: string } // omit to get all env vars
安全考虑
警告: 此服务器提供强大的文件系统和命令执行功能。
- 文件访问: 可以读取、写入和删除进程有权访问的任何文件
- 命令执行: 可以执行任意shell命令
- 无沙盒: 操作不受沙盒或限制
建议:
- 仅与受信任的MCP客户端一起使用
- 以最低限度的必要权限运行
- 小心
execute_command和delete_directory工具 - 考虑为生产使用实施额外的访问控制
- 审查敏感环境中的所有操作
发展
构建
npm run build
观看模式
npm run watch
项目结构
.
├── src/
│ └── index.ts # Main server implementation
├── build/ # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
└── README.md
许可证
麻省理工学院
贡献
欢迎投稿!请随时提交问题或拉取请求。
故障排除
服务器未出现在Claude Desktop中
- 检查路径是否正确
claude_desktop_config.json绝对正确 - 验证生成目录是否存在并包含
index.js - 配置更改后重新启动Claude Desktop
- 检查Claude Desktop日志是否有错误
权限错误
- 确保服务器进程具有必要的文件系统权限
- 在Unix系统上,使用以下命令检查文件/目录权限
ls -la - 以适当的用户权限运行您需要的操作
命令执行问题
- 验证工作目录是否存在并且可访问
- 检查shell命令是否适合您的操作系统
- 增加
timeout长时间运行命令的参数 - 某些命令可能需要特定的环境变量