Token导航 LogoToken导航TokenDH.com
Alacritty MCP logo
开发工具未说明官方级别未说明来源级核验

Alacritty MCP

MCP Server

Alacritty MCP Server 是一个用于控制 Alacritty 终端实例的模型上下文协议服务器,支持终端应用交互、开发测试自动化和系统监控等功能。

工具数

0

提示词数

0

GitHub Stars

4

资源数

0
开发工具RustClaude系统监控Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Feel-ix-343

提供方

Feel-ix-343

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Alacritty MCP 服务器

用于控制Alacrity终端实例的模型上下文协议(MCP)服务器。

用例

此MCP服务器使Claude能够以强大的方式与终端应用程序交互:

🔍 上下文阅读和应用程序监控

  • 阅读Neovim上下文 -提取当前文件、光标位置、LSP诊断、打开缓冲区和vim模式
  • LSP集成 -从语言服务器访问错误消息、警告和代码智能
  • 监控构建过程 -实时查看编译输出和测试结果
  • 调试应用程序状态 -检查运行过程和系统信息
  • 跟踪日志文件 -监控应用程序日志和系统事件

🧪 交互式测试与开发

  • 测试TUI应用程序 -验证Claude构建的交互式终端界面
  • 运行开发工作流 -执行构建脚本、测试和部署命令
  • 交互式调试 -逐步执行代码并检查变量
  • 原型验证 -快速测试CLI工具和基于终端的应用程序

🚀 自动化与编排

  • 多终端工作流程 -协调复杂的开发环境
  • 并行任务执行 -跨终端同时运行多个进程
  • 环境设置 -自动化开发环境配置
  • CI/CD集成 -执行和监控构建管道

📊 系统管理

  • 服务器监控 -跟踪系统资源和流程运行状况
  • 远程任务执行 -跨多个会话运行管理命令
  • 日志聚合 -收集和分析各种系统组件的输出

特性

  • 列出实例:发现所有正在运行的Alacritty终端实例
  • 生成实例:使用自定义配置创建新的Alacritty终端
  • 发送密钥:向特定终端实例发送键盘命令
  • 截图:以文本或视觉截图的形式捕获终端内容
  • Neovim上下文:从Neovim实例中提取全面的编辑上下文

需求

  • 锈蚀1.70+
  • 敏捷终端仿真器
  • X11环境(Linux)
  • 系统实用程序: xdotool, xclip, imagemagick (截图)

安装

cargo build --release

用法

服务器通过JSON-RPC在stdin/stdout上进行通信:

./target/release/alacritty-mcp

MCP工具

list_instances

列出所有正在运行的Alacrity实例。

参数:

退货: AlacrittyInstance对象数组,包含PID、窗口ID、标题和命令等详细信息。

spawn_instance

创建新的Alacritty终端实例。

参数:

  • command (可选):在终端中运行的命令
  • args (可选):命令的参数
  • working_directory (可选):终端的工作目录
  • title (可选):终端窗口的标题

退货: 新创建实例的详细信息。

send_keys

将键盘输入发送到特定的Alacritty实例。

参数:

  • instance_id (必填):目标实例的ID
  • keys (必填):要发送的密钥(xdotool格式,例如“ctrl+c”、“Return”、“Hello”)

退货: 确认已发送密钥。

屏幕截图_立场

从Alacritty实例中捕获内容。

参数:

  • instance_id (必填):目标实例的ID
  • format (可选):'text'表示终端文本内容,'image'表示视觉截图(默认值:'text\])

退货: 所请求格式的屏幕截图内容。

get_neovim_text

从Alacritty终端中运行的Neovim实例中提取全面的上下文。

参数:

  • instance_id (必填):运行Neovim的Alacritty实例的ID
  • include_diagnostics (可选):包括LSP诊断(默认值:true)
  • include_buffers (可选):包括打开的缓冲区列表(默认值:true)
  • context_lines (可选):光标周围要包含的行数(默认值:5)

退货: 结构化的Neovim上下文包括:

  • 当前文件和光标位置
  • LSP诊断(错误、警告、提示)
  • 打开缓冲区及其状态
  • Vim模式和工作目录
  • 活动LSP客户端及其状态
  • 周围的代码上下文

JSON-RPC调用示例

初始化

{
  "jsonrpc": "2.0",
  "method": "initialize",
  "params": {
    "protocolVersion": "2024-11-05",
    "capabilities": {},
    "clientInfo": {
      "name": "claude",
      "version": "1.0.0"
    }
  },
  "id": 1
}

生成实例

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "spawn_instance",
    "arguments": {
      "title": "Development Terminal",
      "working_directory": "/home/user/project",
      "command": "bash"
    }
  },
  "id": 2
}

发送密钥

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "send_keys",
    "arguments": {
      "instance_id": "uuid-here",
      "keys": "ls -la Return"
    }
  },
  "id": 3
}

获取Neovim上下文

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "get_neovim_context",
    "arguments": {
      "instance_id": "uuid-here",
      "include_diagnostics": true,
      "include_buffers": true,
      "context_lines": 10
    }
  },
  "id": 4
}

示例响应:

{
  "jsonrpc": "2.0",
  "result": {
    "content": [
      {
        "text": "Neovim context for instance uuid-here:\n{\n  \"instance_info\": {\n    \"pid\": 12345,\n    \"socket_path\": \"/tmp/nvim.12345.0\",\n    \"version\": \"NVIM v0.11.2\",\n    \"config_path\": \"/home/user/.config/nvim\"\n  },\n  \"current_buffer\": {\n    \"file_path\": \"/home/user/project/src/main.rs\",\n    \"file_type\": \"rust\",\n    \"is_modified\": true,\n    \"line_count\": 150,\n    \"surrounding_context\": {\n      \"lines_before\": [\"fn main() {\", \"    let config = Config::new();\"],\n      \"current_line\": \"    let result = process_data(config);\",\n      \"lines_after\": [\"    println!(\\\"Result: {:?}\\\", result);\", \"}\"]\n    }\n  },\n  \"diagnostics\": [\n    {\n      \"file_path\": \"/home/user/project/src/main.rs\",\n      \"line\": 42,\n      \"column\": 15,\n      \"severity\": \"Error\",\n      \"message\": \"cannot find function `process_data` in this scope\",\n      \"source\": \"rust-analyzer\"\n    }\n  ],\n  \"cursor_position\": {\n    \"line\": 42,\n    \"column\": 28,\n    \"line_content\": \"    let result = process_data(config);\"\n  },\n  \"vim_mode\": \"n\",\n  \"lsp_status\": {\n    \"active_clients\": [\n      {\n        \"name\": \"rust-analyzer\",\n        \"file_types\": [\"rust\"],\n        \"status\": \"active\"\n      }\n    ],\n    \"diagnostics_count\": {\n      \"errors\": 1,\n      \"warnings\": 0,\n      \"info\": 0,\n      \"hints\": 2\n    }\n  }\n}",
        "type": "text"
      }
    ]
  },
  "error": null,
  "id": 4
}

测试

该项目包括全面的测试覆盖范围:

单元测试

测试核心功能和数据结构:

cargo test --test unit_tests

集成测试

测试MCP协议合规性和错误处理:

cargo test --test integration_tests

功能测试

测试真实的Alacrity交互(需要安装X11和Alacrity):

cargo test --test functional_tests

功能测试包括:

  • 真正的终端产卵 -实际打开Alacrity窗口
  • 生命周期管理 -生成多个终端并跟踪它们
  • 自定义命令 -使用特定命令启动终端
  • 流程清理 -正确的终端终止
  • ⚠️ 密钥发送 -需要 xdotool (如果不可用,则跳过)
  • ⚠️ 截图 -需要 xclip (如果不可用,则跳过)

Neovim集成测试

测试Neovim上下文提取(需要安装Neovim):

cargo test --test neovim_integration_tests

Neo的测试包括:

  • Neovim检测 -在终端中识别Neovim实例
  • 上下文提取 -提取编辑状态和诊断
  • 真正的Neovim产卵 -启动并与Neovim沟通
  • 模式识别 -检测Neovim UI元素
  • LSP集成 -访问语言服务器诊断

运行所有测试

cargo test

测试结果: 总共29次测试

  • 11个单元测试✅
  • 8集成测试✅
  • 5功能测试✅
  • 5 Neovim集成测试✅

注意:一些功能测试需要X11环境和系统工具,在无头CI环境中可能会被跳过。

建筑

  • AlacrittyManager:管理终端实例的核心逻辑
  • McpServer:JSON-RPC服务器实现
  • NeovimContextExtractor:Neovim特定上下文提取和LSP集成
  • types:数据结构和类型定义

局限性

  • 目前仅支持X11(不支持Wayland)
  • 高级功能需要外部系统实用程序
  • 终端文本提取依赖于剪贴板操作

目录标签

目录标签

开发工具RustClaude系统监控终端控制本地部署自动化测试Neovim集成

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP