关于 solisk-pc-mcp
solisk-pc-mcp 是面向 AI 客户端的 PC 控制 MCP 服务,提供经审批的文件、Shell、GUI 输入、剪贴板和音频工具。它包含 CLI、Windows 桌面控制台和网页仪表板,并支持访问与会话管理。
主要功能
- 0197 个 Windows 原生工具
- 02便携工具与 Shell 执行
- 03审批式 PC 访问
- 04CLI 与网页仪表板
- 05密钥、会话和路径控制
适用场景
- 01通过 AI 客户端控制 PC
- 02审批并监控工具会话
- 03管理访问密钥和暴露路径
- 04在 Linux 或 macOS 使用仪表板
MCP 相关
它通过 URL 向 MCP 客户端提供 PC 控制工具;客户端需经同意并使用房间密钥授权。README 还介绍了 OAuth 2.1 和中继选项。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
提示
一个产品,三种形态,每台机器运行一个运行时。 通过 URL 连接任意 MCP 客户端,只需批准一次,即可调用 97 个工具——查看每个会话、切换每条路径、撤销任何权限。所有操作系统均支持 CLI,Windows 提供桌面控制室,任何平台均可使用 Web 控制面板(
/app)。
安装
npm install -g solisk # Node 22.5+ · or run without installing: npx solisk
solisk setup # room name, owner key, approval mode — step by step
solisk --mode=http # MCP server on 127.0.0.1:3000 (default)
solisk dashboard # web control room at /app
Windows、Linux 和 macOS 服务端运行相同的命令。非 Windows 系统提供 45 个可移植工具和 shell_exec;Windows 专属自动化功能不会启用。/app 控制面板在所有操作系统上都是控制室。
Windows GUI
- 从 Releases 下载
PC Control MCP 1.0.0.msi——同时提供经典的Setup .exe安装程序。 - 运行安装程序:使用与 CLI 相同引擎的点选式控制室。
- 已有 CLI?运行
solisk gui setup --installer <path-to-.msi>即可静默安装。 - 在 Linux/macOS 上,
solisk gui会按设计拒绝运行,并提示你使用 Web 控制面板。
警告
该构建版本未经签名,因此 SmartScreen 会提示一次:更多信息 → 仍要运行。EV 证书可以解决此问题;相关预算已列出,但尚未落实。
在 60 秒内连接 AI
flowchart LR
A[Copy MCP URL<br/>from Setup] --> B[Paste as connector<br/>in Claude / ChatGPT]
B --> C[Approve once<br/>consent + room key]
C --> D[Calling tools.<br/>Reconnects need no re-auth.]
style D fill:#4fd1b5,color:#03211b
| 连接 | 授权 | 控制 |
|---|---|---|
![]() | ![]() | ![]() |
说明
首次连接失败,但重试后成功?Claude 缓存了失败的发现结果——移除连接器并重新添加一次,之后就会直接显示授权请求。
安全模型
| # | 保证 | 方式 |
|---|---|---|
| 1 | 仅限持有者令牌 | 每个数据路由都需要所有者密钥、作用域密钥、OAuth 令牌或设备 Cookie。外壳公开,数据绝不公开。 |
| 2 | 零信任中继 | 转发一个字节之前先进行身份验证。接管行为会被记录并阻止。 |
| 3 | PKCE + 精确重定向 + 绑定令牌 | 绝不跨房间重复使用令牌。 |
| 4 | 静态加密哈希存储 | 使用带唯一盐值的 scrypt。机密绝不会以明文形式进入日志或磁盘。 |
| 5 | 失败时默认拒绝 | 未知会话 → 重新初始化。离线 → 本地功能继续运行,远程连接重新拨号。中继每分钟 300 次、本地每分钟 400 次、最多 5 个会话、空闲后过期。 |
| 6 | 有意销毁 | 漏斗、涡轮、URL 重新生成操作都会先要求确认,并说明后果。 |
完整策略:SECURITY.md · 发现问题?请提交安全公告,不要创建公开 issue。
全面实时运行
| 四种接入方式 | 托管中继 · Cloudflare 隧道(快速模式或自有域名)· tailnet · Web 控制面板。每种方式都可实时切换;关闭控制面板后,/app 会返回 404——不只是关闭 tailnet。 |
| 如实统计会话 | 一个正在运行的 AI 读取到 1。幽灵会话在空闲 10 分钟后过期;所有界面(GUI、CLI、API)读取的都是实时数量。 |
| 灵活的密钥 | 作用域客户端密钥、默认失败时拒绝、零停机轮换、记住设备 30 天。 |
| 运行时互不冲突 | CLI 会连接到正在运行的 GUI,透明地借用其密钥,并拒绝在其上再启动第二个服务。 |
| 更新 | 应用内发布说明、支持跳过一个版本、强制更新不可跳过。 |
架构
flowchart TB
AI["AI client<br/>Claude.ai / ChatGPT / Cursor"]
AI -->|MCP URL + OAuth 2.1<br/>PKCE S256, resource-bound tokens| RELAY
subgraph RELAY["Cloud relay"]
R1[rooms · tokens · rate limits<br/>scrypt-hashed keys]
end
RELAY -->|one outbound WebSocket per PC<br/>takeover-protected| PC
subgraph PC["Your machine :3000"]
P1[StreamableHTTP · 97 tools · 5 sessions max]
P2[Cloudflare tunnel<br/>quick or your domain]
P3[tailnet serve · web dashboard /app]
end
一个配置文件、一个事件总线、一个会话存储。轻量界面(Electron、CLI、Web 垫片)不会持有状态。
操作系统支持
| 操作系统 | CLI(solisk) | Web 控制面板(/app) | GUI | 工具 |
|---|---|---|---|---|
| Windows 10/11 x64 | ✅ 本地 + 中继 + 隧道 | ✅ | ✅ 完整控制室 | 97 个原生工具 |
| Linux | ✅ 服务 · stdio · 隧道 · Tailscale | ✅ | ❌ — solisk gui 会拒绝启动并指向 /app | 45 个可移植工具 + shell_exec |
| macOS | ✅ 服务 · stdio | ✅ | ❌ — 同上 | 45 个可移植工具 + shell_exec |
仅限 Windows 的自动化功能(鼠标/键盘钩子、截图、原生对话框)在其他系统上不可用;所有可移植功能则都可用。中继、隧道、OAuth、密钥、记住的设备、会话、更新检查——在三个系统上完全一致。
要求
- CLI 需要 Node ≥ 22.5。
- GUI 需要 Windows 10/11 x64。
- 无其他要求——在 localhost 上使用无需 Docker 或反向代理。
自托管中继
ssh root@YOUR_VPS
bash -c "$(curl -fsSL https://raw.githubusercontent.com/Kyzenkms/solisk-pc-mcp/main/self-hosted-setup/vps/install.sh)"
脚本的作用
选择域名类型(自有域名或用于测试的 sslip.io),再选择运行时(Docker 或 PM2),然后打印房间和密钥,供你粘贴到应用中。备份、防火墙、更新:self-hosted-setup/README.md。
CLI 参考
solisk 是命令——pc-control 仍作为兼容性别名保留。
日常使用
solisk dashboard [--no-open] web console for the running server
solisk doctor [--fix] 11 health checks — 0 failing is the goal
solisk logs [--lines N] live server log, whichever face owns it
solisk setup step-by-step onboarding wizard
solisk backup config snapshot for restores
访问控制
solisk config get|set|validate ports, modes, domains (secrets refused)
solisk rotate-key new owner key, zero-downtime rotation
solisk keys list|add|revoke scoped client keys (fail-closed defaults)
solisk devices list|revoke remembered browsers
solisk relay status|retry room state, redial
暴露服务
solisk tunnel off|quick|custom + login, create, route, forget, status
solisk tailscale status|serve|off funnel is deliberate and confirmed
solisk gui status|setup detect install, install from .exe or .msi
所有连接命令在正在运行的 GUI 旁边都无需任何标志即可使用。
验证
cd relay-server && node --test test/oauth.test.js # OAuth regression suite
node test-live.js # end-to-end vs a running server
solisk doctor # this machine — 0 failing is the goal
常见问题
一个 AI 显示 N 个会话
这是重新连接留下的过期 ID——闲置 10 分钟后会过期。连接时显示的实时数量是准确的。
CLI 在 GUI 运行时提示密钥被拒绝
它会自动借用 GUI 密钥并告知你(显示指纹)。
solisk gui status 会显示两个指纹。
重启后显示 0 个会话
这是正常的——会话保存在内存中。客户端重新初始化后,数量就会显示出来。授权和密钥会保留;无需重新验证身份。
可以在 Linux 上运行 GUI 吗?
不可以——控制中心按设计仅支持 Windows。在 Linux 和 macOS 上,请使用 CLI,以及位于
/app 的 Web 仪表板;它是在浏览器中运行的同一个控制中心。
MIT · Solisk PC Control MCP · v1.0.0 · solisk.org
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。


