Back to MCP directory
publicPublicdnsLocal runtime

electron-mcp-server

Electron调试MCP服务器是一个连接模型上下文协议(MCP)与Electron应用的桥梁,提供通过标准化API进行高级调试的能力,深度集成了Chrome开发者工具协议(CDP)以实现高级调试功能。

article

README

🚀 Electron 调试 MCP 服务器

Electron 调试 MCP 服务器是一款用于管理和调试 Electron 应用程序的工具,借助 Model Context Protocol (MCP) 提供了丰富的功能,能有效提升开发者的调试效率。

🚀 快速开始

启动服务器

npm run start

这将启动 MCP 服务器,使用标准输入输出进行通信。

连接到服务器

MCP 服务器通过标准输入输出进行通信,客户端可以使用:

  • MCP 客户端库
  • 直接连接到 stdin/stdout
  • 支持 MCP 的工具

✨ 主要特性

  • 启动和停止:能够启动新 Electron 进程,并终止正在运行的进程。
  • 监控进程:列出所有运行中的 Electron 进程及其详细信息。
  • 日志管理:获取特定进程的日志记录。
  • 调试目标:列出可用的调试目标。
  • CDP 集成:与 Chrome DevTools Protocol 深度集成,提供强大的调试功能。

📦 安装指南

  1. 克隆仓库:
    git clone https://github.com/your-repository/electron-mcp-server.git
    cd electron-mcp-server
    
  2. 安装依赖:
    npm install
    

💻 使用示例

基础用法

启动一个 Electron 应用

// 使用 MCP 客户端的示例请求
const response = await mcpClient.readResource({
  uri: "electron://operation/start",
  content: JSON.stringify({
    appPath: "C:\\path\\to\\your\\electron\\app",
    debugPort: 9222  // 可选调试端口
  })
});

获取调试信息

// 获取特定进程的详细信息
const processId = "electron-1234567890";
const infoResponse = await mcpClient.readResource({
  uri: `electron://process/${processId}`
});

在页面中执行 JavaScript

// 在页面中执行 JavaScript
const response = await mcpClient.readResource({
  uri: "electron://operation/evaluate",
  content: JSON.stringify({
    expression: "console.log('Hello, World!');"
  })
});

高级用法

列出可用目标

GET electron://targets

返回所有运行中的 Electron 进程的调试目标。

检查特定目标

GET electron://cdp/{processId}/{targetId}

提供特定目标的信息和可用 CDP 域。

执行 CDP 命令

GET electron://cdp/{processId}/{targetId}/{domain}/{command}

📚 详细文档

资源端点

| 资源 | 描述 | |----------|-------------| | electron://info | 所有运行中的 Electron 进程概览 | | electron://process/{id} | 特定进程的详细调试信息 | | electron://logs/{id} | 特定进程的日志访问 | | electron://targets | 列出所有可用调试目标 | | electron://cdp/{processId}/{targetId} | 特定目标的 CDP 访问 | | electron://operation/{operation} | 控制 Electron 应用的操作 |

可用操作

| 操作 | 描述 | |-----------|-------------| | start | 启动一个 Electron 应用程序 | | stop | 终止正在运行的进程 | | list | 列出所有运行中的 Electron 进程 | | reload | 重新加载特定页面或应用 | | evaluate | 在页面上下文中执行 JavaScript | | pause | 暂停 JavaScript 执行 | | resume | 继续 JavaScript 执行 |

开发

克隆仓库

git clone https://github.com/your-repository/electron-mcp-server.git
cd electron-mcp-server
npm install

启动开发服务器

npm run dev

贡献

欢迎贡献!请参考 CONTRIBUTING.md

📄 许可证

MIT License

通过这个工具,开发者可以更高效地管理和调试 Electron 应用程序。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client