PC控制服务器

一个基于Model Context Protocol (MCP)的服务器,用于实现AI语言模型应用程序与外部服务之间的通信,支持鼠标操作、键盘输入和屏幕捕获等功能。

  • by nakashima-takeo
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 nakashima-takeo/view-control-mcp-server

使用说明

查看控制MCP服务器

本地PC的操作、鼠标点击、画面捕捉等Model Context Protocol (MCP)服务器。

模型上下文协议(MCP)とは

模型上下文协议 (MCP)单击功能区上AI语言模型应用程序(客户端)和外部服务(服务器)之间的标准化通信协议。MCP中描述的相应参数的值AI助手在本地PC中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。

此服务器包含:JSON-RPC 2.0遵守MCP安装了协议Claude Desktop屋脊Cursor等的MCP可以与客户端协作。支持MCP协议版本为2024-11-05来修改标记元素的显示属性。

机能

  • 鼠标操作

    • 获取鼠标位置
    • 移动鼠标
    • 单击鼠标(左/右/中)
    • 拖放
  • 键盘操作

    • 文本输入
    • 按键
    • 与修饰键(Command,Alt,Control,Shift)组合
  • 画面捕捉

    • 捕获整个屏幕
    • Base64获取编码图像数据
  • 通信方式

    • JSON-RPC 2.0準拠のMCPプロトコル
    • Stdio传输(标准输入输出)

安装

npm install view-control-mcp-server

使用方法

启动服务器

从命令行启动

# Stdioモードで起動(Cursor等のMCPクライアントと直接連携する場合)
npx view-control-mcp-server

MCP协议通信

MCP服务器是JSON-RPC 2.0通过标准输入输出接受格式的请求。

请求格式

{
  "jsonrpc": "2.0",
  "id": "任意のID",
  "method": "メソッド名",
  "params": {/* パラメータ */}
}

成功响应格式

{
  "jsonrpc": "2.0",
  "id": "リクエストと同じID",
  "result": {/* 結果 */}
}

错误响应格式

{
  "jsonrpc": "2.0",
  "id": "リクエストと同じID",
  "error": {
    "code": エラーコード,
    "message": "エラーメッセージ",
    "data": { /* 追加情報 */ }
  }
}

通知格式(无响应)

{
  "jsonrpc": "2.0",
  "method": "通知メソッド名",
  "params": {/* パラメータ */}
}

可用的MCP方法

基本方法

  • initialize:初始化服务器

    {
      "jsonrpc": "2.0",
      "id": 1,
      "method": "initialize",
      "params": {
        "protocolVersion": "2024-11-05",
        "capabilities": {},
        "clientInfo": {
          "name": "MCP Client",
          "version": "1.0.0"
        }
      }
    }
    
  • ping:服务器生存确认

    { "jsonrpc": "2.0", "id": 2, "method": "ping" }
    
  • listOfferings:获取服务器提供的功能列表

    { "jsonrpc": "2.0", "id": 3, "method": "listOfferings" }
    

工具关系

  • tools/list:获取可用工具列表

    { "jsonrpc": "2.0", "id": 4, "method": "tools/list" }
    

    响应:

    {
      "jsonrpc": "2.0",
      "id": 4,
      "result": {
        "tools": [/* ツール一覧 */],
        "nextCursor": "" // ページネーションを使用しない場合は空文字列
      }
    }
    
  • tools/call:调用工具

    {
      "jsonrpc": "2.0",
      "id": 5,
      "method": "tools/call",
      "params": {
        "name": "ツール名",
        "arguments": {/* 引数 */}
      }
    }
    

    响应:

    {
      "jsonrpc": "2.0",
      "id": 5,
      "result": {
        "content": [
          {
            "type": "text",
            "text": "結果のJSON文字列"
          }
        ],
        "isError": false
      }
    }
    

鼠标关联

  • mouse.getPosition:获取鼠标位置

    { "jsonrpc": "2.0", "id": 6, "method": "mouse.getPosition" }
    
  • mouse.move:移动鼠标

    {
      "jsonrpc": "2.0",
      "id": 7,
      "method": "mouse.move",
      "params": { "x": 100, "y": 100 }
    }
    
  • mouse.click:单击鼠标

    {
      "jsonrpc": "2.0",
      "id": 8,
      "method": "mouse.click",
      "params": { "button": "left" }
    }
    

键盘相关

  • keyboard.type:输入文本

    {
      "jsonrpc": "2.0",
      "id": 9,
      "method": "keyboard.type",
      "params": { "text": "Hello, World!" }
    }
    
  • keyboard.press:按键

    {
      "jsonrpc": "2.0",
      "id": 10,
      "method": "keyboard.press",
      "params": { "key": "a", "modifiers": ["command"] }
    }
    

屏幕关联

  • screen.capture:屏幕捕捉
    { "jsonrpc": "2.0", "id": 11, "method": "screen.capture" }
    

服务器信息

  • server.info:获取服务器信息
    { "jsonrpc": "2.0", "id": 12, "method": "server.info" }
    

通知

  • notifications/initialized:客户端初始化完成通知
    {
      "jsonrpc": "2.0",
      "method": "notifications/initialized"
    }
    
    此通知不返回响应。

MCP与客户端协作

此服务器包含:Claude Desktop屋脊Cursor等的MCP可以与客户端协作。

Cursor协作

  1. Cursor启动并打开设置
  2. MCP在“配置”部分中,单击“添加服务器”
  3. 设置如下:
    • 名字:查看控制MCP服务器
    • 运输:stdio
    • 命令:npx视图控件mcp服务器
    • 参数:(在空白处OK - 自动Stdio模式启动)
  4. 「Add」单击保存
  5. Cursor来定义自定义外观

克劳德桌面との連携

  1. Claude Desktop启动并打开设置
  2. MCP在“配置”部分中,单击“添加服务器”
  3. 设置如下:
    • 名字:查看控制MCP服务器
    • 运输:stdio
    • 命令:npx视图控件mcp服务器
    • 参数:(在空白处OK - 自动Stdio模式启动)
  4. 「Add」单击保存
  5. Claude来定义自定义外观

开発

# リポジトリのクローン
git clone https://github.com/yourusername/view-control-mcp-server.git
cd view-control-mcp-server

# 依存関係のインストール
npm install

# 開発サーバーの起動
npm run dev

# テストの実行
npm test

# ビルド
npm run build

调试

MCP单击功能区上的MCP建议使用检查器。MCP使用检查器可以可视化服务器和客户端之间的消息交换。

# MCPインスペクターのインストール
npm install -g @anthropic/mcp-inspector

# MCPインスペクターの起動
mcp-inspector

在浏览器中http://localhost:5173的双曲正切值MCP在动态输入提示中UI对较大场景进行渲染期间已观察到该故障。

注意事项

  • 此服务器是本地的PC中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。
  • 建议仅在可信网络中使用。
  • 屏幕捕捉功能应考虑到隐私而使用。

许可证

麻省理工学院