返回 MCP 目录
public公开dns本地运行

scenic_mcp_experimental

Scenic MCP是一个用于Scenic GUI应用的外部输入控制协议服务器,支持通过TCP连接注入键盘和鼠标输入到Scenic应用程序中。

article

README

🚀 Scenic MCP - 用于Scenic应用程序的输入控制

Scenic MCP 是一个模型上下文协议 (MCP) 服务器,它能够将外部键盘和鼠标输入注入到 Scenic GUI 应用程序中。

🚀 快速开始

Scenic MCP 作为一个 MCP 服务器,为 Scenic GUI 应用程序提供了外部键盘和鼠标输入注入的能力,你可以按以下步骤进行操作。

✨ 主要特性

  • 键盘输入:向 Scenic 应用程序发送文本和特殊按键。
  • 鼠标控制:移动鼠标光标并在特定坐标处点击。
  • MCP 集成:可与任何兼容 MCP 的客户端(如 Claude Desktop 等)协同工作。
  • 实时通信:基于 TCP 的连接,实现低延迟输入。
  • Scenic 兼容性:采用适当的 Scenic ViewPort 输入路由。

📦 安装指南

  1. 添加到你的 Scenic 应用程序的 mix.exs 文件中
defp deps do
  [
    {:scenic_mcp, path: "../scenic_mcp"}
  ]
end
  1. 添加到你的应用程序的监管树中: 实际上,你可能不需要这样做...
  2. 安装 Node.js 依赖项
cd scenic_mcp
npm install

💻 使用示例

基础用法

MCP 工具

服务器提供了以下 MCP 工具:

  • connect_scenic:测试与 Scenic 应用程序的连接。
  • get_scenic_status:检查服务器状态和可用命令。
  • send_keys:向 Scenic 应用程序发送键盘输入。
    • 参数
      • text(字符串):要输入的文本(每个字符作为单独的按键按下发送)。
      • key(字符串):特殊按键名称(enter、escape、tab、backspace、delete、up、down、left、right、home、end、page_up、page_down、f1 - f12)。
      • modifiers(数组):修饰键(ctrl、shift、alt、cmd、meta)。
  • send_mouse_move:将鼠标光标移动到特定坐标。
    • 参数
      • x(数字):X 坐标。
      • y(数字):Y 坐标。
  • send_mouse_click:在特定坐标处点击鼠标。
    • 参数
      • x(数字):X 坐标。
      • y(数字):Y 坐标。
      • button(字符串):鼠标按钮(left、right、middle) - 默认值:left。

代码示例

发送文本

{
  "action": "send_keys",
  "text": "hello world"
}

发送特殊按键

{
  "action": "send_keys", 
  "key": "enter"
}

发送带修饰键的按键

{
  "action": "send_keys",
  "key": "c",
  "modifiers": ["ctrl"]
}

移动鼠标

{
  "action": "send_mouse_move",
  "x": 100,
  "y": 200
}

点击鼠标

{
  "action": "send_mouse_click",
  "x": 150,
  "y": 250,
  "button": "left"
}

🔧 技术细节

架构

MCP Client (Claude Desktop)
    ↓
TypeScript MCP Server (scenic_mcp)
    ↓ (TCP port 9999)
Elixir GenServer Bridge
    ↓ (Scenic.ViewPort.Input.send/2)
Scenic ViewPort
    ↓
Your Scenic Application

开发

启动 Elixir 服务器

cd your_scenic_app
mix run --no-halt

测试 MCP 服务器

cd scenic_mcp
node src/index.ts

要求

  • Elixir/OTP 24+
  • Node.js 18+
  • Scenic 0.11+

📄 许可证

本项目采用 MIT 许可证。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端