SuperAPI AI 工具集

mcp-console-automation

mcp-console-automation 是一个面向 AI 的 MCP(Model Context Protocol)服务器,用于受控地与本地控制台应用和远程 SSH 会话进行交互,实现控制台应用的自动化与监控。它可以看作终端应用领域的 Playwright,提供会话管理、SSH 连接、测试断言、后台任务执行、错误检测与企业级监控告警等能力。项目通过 40 个 MCP 工具对外暴露功能,支持本地 shell(cmd、PowerShell、pwsh、bash、zsh、sh)与远程 SSH,最多可同时管理 50 个并发控制台会话,并可在 Windows、macOS、Linux 上跨平台运行,无需原生依赖。该服务器可执行任意命令并打开远程 SSH 会话,因此需按特权终端对待:应为命令与会话变更启用 MCP 工具审批,优先使用 SSH 密钥或环境变量引用凭据而非内联密钥,使用受限部署账号,并仅在需要诊断时启用调试日志,默认关闭会话持久化。项目采用 MIT 许可证。

访问官网

工具介绍

mcp-console-automation 是一个基于 Model Context Protocol(MCP)的服务器,用于让 AI 以受控方式驱动本地控制台应用与远程 SSH 会话,并对其进行监控。它定位为“终端应用领域的 Playwright”,强调自动化、测试、监控与后台作业能力。

用途与能力

  • 完整终端控制:可创建并管理最多 50 个并发控制台会话,支持本地 shell(cmd、PowerShell、pwsh、bash、zsh、sh)及远程 SSH 连接。
  • 交互式输入:支持发送文本输入和特殊按键序列(Enter、Tab、Ctrl+C 等)。
  • 实时输出监控:可捕获、过滤和分析控制台输出,支持高级搜索与流式输出,适合长时间运行的进程和模式匹配。
  • 自动错误检测:内置跨语言错误模式,能识别错误、异常和堆栈跟踪等。
  • 跨平台:在 Windows、macOS 和 Linux 上运行,无需原生依赖。

SSH 与远程连接

  • 完整 SSH 支持:密码与基于密钥的认证,支持 passphrase。
  • SSH 选项:自定义端口、连接超时、keep-alive 设置。
  • 连接档案:保存可复用的 SSH 元数据及环境变量凭据引用。
  • 云平台支持:通过保存的档案连接 Azure、AWS、GCP、Kubernetes。
  • 容器支持:集成 Docker 与 WSL,适配容器化工作流。

测试自动化框架

  • 自动化测试用例:内置断言工具用于控制台输出验证。
  • 输出断言:校验输出包含内容、匹配正则或等于期望值。
  • 退出码校验:断言命令退出码以判断成功/失败。
  • 无错误校验:自动检查命令输出中是否出现错误。
  • 状态快照:保存并比较操作前后的会话状态。
  • 测试工作流:可链式组合断言,覆盖完整测试场景。

后台作业执行

  • 异步命令执行:在后台运行长时间命令并完整捕获输出。
  • 优先级队列:按 1-10 级设置作业优先级以优化资源利用。
  • 作业监控:跟踪后台作业的状态、进度与完成情况。
  • 作业控制:可取消、暂停或恢复后台操作。
  • 结果获取:获取已完成作业的完整输出与退出码。
  • 资源管理:自动清理已完成作业,保留策略可配置。

企业级监控与告警

  • 系统级指标:跟踪 CPU、内存、磁盘与网络使用情况。
  • 会话指标:按会话监控性能与资源消耗。
  • 实时仪表盘:提供可定制视图的实时监控数据。
  • 告警系统:支持性能、错误、安全与异常告警,并带严重级别。
  • 自定义监控:按会话配置监控间隔、指标与阈值。
  • 诊断:内置错误分析与会话健康校验。

档案管理

  • 连接档案:保存 SSH、Docker、WSL 与云平台连接。
  • 应用档案:存储常用命令配置(Node.js、Python、.NET、Java、Go、Rust)。
  • 快速连接:使用已保存档案即时连接,支持覆盖参数。
  • 环境变量:按档案存储环境配置。
  • 工作目录管理:为每个档案设置默认目录。

高级输出处理

  • 正则过滤:支持区分大小写的正则搜索输出。
  • 多模式搜索:以 AND/OR 逻辑组合多个模式。
  • 分页:获取指定行范围、头部或尾部输出。
  • 基于时间的过滤:按时间戳过滤(绝对时间或相对时间如 '5m'、'1h'、'2d')。
  • 输出流:对长时间运行的进程进行实时输出捕获。
  • 缓冲区管理:清除输出缓冲区以降低内存占用。

安装与使用 项目说明中提到可通过安装脚本进行安装。Codex 将 MCP 配置存储在 ~/.codex/config.toml,安装器使用 codex mcp add 并安全替换已有的 console-automation 注册;安装后需重启 Codex,并使用 /mcp 验证连接。对其他 MCP 客户端,可生成新的 JSON 配置而不覆盖现有文件。npm 包尚未发布,因此 npx console-automation-mcp 与 @mcp/console-automation 不是有效的安装路径。

安全注意事项 该服务器可执行任意命令并打开远程 SSH 会话,应视为特权终端而非低风险文档连接器:保持 MCP 工具审批用于命令/会话变更;优先使用 SSH 密钥或环境变量凭据引用而非内联密钥;使用受限部署账号并配合独立的生产审批步骤;除非明确需要诊断,保持 MCP_DEBUG_LOG 与 MCP_LOG_DIR 未设置;除非明确需要恢复元数据,保持会话持久化禁用;仅在需要时安装云、容器与串行集成。console_save_profile 拒绝内联密码、私钥材料与 passphrase,应改用 passwordEnvVar、privateKeyEnvVar 或 privateKeyPath 以及 passphraseEnvVar。档案列表响应不会返回凭据值,配置文件在支持 POSIX 模式的操作系统上以仅所有者权限创建。会话持久化默认禁用,因为恢复数据可能包含命令、路径与环境值;如需启用,设置 MCP_SESSION_PERSISTENCE=true,默认文件为 ~/.console-automation-mcp/sessions.json,可通过 MCP_SESSION_PERSISTENCE_PATH 覆盖;持久化的命令/环境恢复数据除非通过程序化 SessionManager 配置启用,否则保持禁用。生产安装器会移除开发与可选协议包,本地控制台与 SSH 仍可用;仅在需要 Docker、云、Kubernetes、串行等可选适配器时安装相应 peer 包。

可用工具(共 40 个) 分为 6 类,包括:会话与输入输出类(console_create_session、console_send_input、console_send_key、console_get_output、console_get_stream、console_wait_for_output、console_stop_session、console_list_sessions、console_cleanup_sessions、console_execute_command、console_detect_errors、console_get_resource_usage、console_clear_output、console_get_session_state、console_get_command_history);监控类(console_get_system_metrics、console_get_session_metrics、console_get_alerts、console_get_monitoring_dashboard、console_start_monitoring、console_stop_monitoring);档案类(console_save_profile、console_list_profiles、console_remove_profile、console_use_profile);后台作业类(console_execute_async、console_get_job_status、console_get_job_output、console_cancel_job、console_list_jobs、console_get_job_progress、console_get_job_result、console_get_job_metrics、console_cleanup_jobs);断言与快照类(console_assert_output、console_assert_exit_code、console_assert_no_errors、console_save_snapshot、console_compare_snapshots、console_assert_state)。

错误检测模式 内置检测常见错误类型:通用错误(error:、ERROR:、Error:)、异常(Exception:、exception)、警告(Warning:、WARNING:)、失败操作、权限/访问被拒绝、堆栈跟踪(Python、Java、Node.js)、编译错误、连接错误。

技术栈与运行要求 使用 Node.js 子进程与 ssh2 实现本地命令执行和 SSH 会话,@modelcontextprotocol/sdk 实现 MCP 协议,TypeScript 提供类型安全,Winston 做结构化日志。核心组件包括 ConsoleManager、ErrorDetector、MCP Server 与会话管理。要求 Node.js >= 18.0.0,支持 Windows、macOS、Linux;可选串口集成可能需要平台构建工具。

适用场景 适合需要在 AI 驱动下自动化控制台操作、执行交互式 CLI 工具的自动化、验证命令输出与退出码的测试、运行长时间后台命令并监控、以及跨本地与远程 SSH 的运维监控等场景。

限制与说明

  • 该服务器具备执行任意命令的能力,安全风险高,需要严格的审批与凭据管理。
  • 部分应用可能直接写入终端而绕过 stdout,导致输出未被捕获;某些命令需要 TTY 交互。
  • 需要确保服务器有权限启动子进程,否则可能遇到权限拒绝错误。
  • 关于具体安装脚本名称、更多运行细节与示例,资料中未完整提供,可参考项目文档目录。
  • 项目采用 MIT 许可证。