使用说明(Markdown 格式)

项目简介

  • Imprint MCP 服务器是一个用 Go 编写的 MCP 服务端实现。它将本地真实终端的控制能力、屏幕内容获取等功能暴露给支持 MCP 的大型语言模型客户端(如 Claude Code),通过标准的 JSON-RPC 风格的 MCP 协议进行通信。

主要功能点

  • MCP 原生服务端:实现基于 MCP 协议的工具注册与请求处理,支持通过标准输入输出(stdio)进行通信。
  • 终端管理与控制:通过 ttyd、tmux、Go-Rod 等组成,提供对真实终端的键盘输入、文本输入、重命名终端会话、调整尺寸等操作。
  • 工具集(Tools):包括发送按键、输入文本、获取屏幕截图、获取屏幕文本、获取状态、调整终端尺寸、重启终端、等待屏幕文本、等待稳定性、获取 ttyd 的浏览器访问地址等。
  • 实时交互能力:与 Claude Code 等客户端通过 MCP 实现的工具调用,支持在同一个 tmux 会话中进行 AI 控制与可视化查看。

安装步骤

  • 依赖与构建
    1. 获取源码并进入项目根目录。
    2. 使用 Go 构建可执行文件,例如运行 go build 或 go install 来生成 imprint 二进制。
    3. 运行 imprint(二进制名)以启动 MCP 服务器,默认通过标准输入输出进行通信。
  • 运行方式 运行命令示例(请按实际环境执行):
    • imprint
    • imprint --shell /bin/bash --rows 24 --cols 80 以上参数会把终端配置为指定的外观与行为,服务器端会监听并通过 MCP 提供工具接口。

服务器配置(MCP 客户端需要的最小信息)

  • MCP 客户端在连接服务器前需要提供一个配置,包含服务器名称、启动命令和参数。以下为示例配置的字段与含义(非代码格式,仅供理解): { "server_name": "imprint", "command": "/path/to/imprint", // 实际可执行文件路径(如 /usr/local/bin/imprint) "args": ["--rows", "30", "--cols", "120"] // 运行时的可选参数,如终端行列数 }
  • 说明
    • server_name: MCP 客户端用来标识服务器的名称,应与实际启动的可执行文件名称一致。
    • command: 启动 MCP 服务器的可执行命令路径。该路径应指向已经编译好的 imprint 二进制。
    • args: 运行时参数,按需指定。示例中设置了终端的行列数,实际使用可根据需要调整。

基本使用方法

  • 在 Claude Code 等 MCP 客户端中将 imprint 注册为 MCP 服务器后,客户端即可通过工具调用与该服务器交互,执行诸如发送按键、输入文本、获取屏幕文本、获取截屏等操作。
  • 常见使用流程:添加服务器 -> 调用工具执行操作 -> 根据返回结果进行后续操作(如等待文本、截图分析等) -> 根据需要重新启动或调整终端设置。

关键词 终端自动化, AI后端, 屏幕截图, 命令输入, tmux 会话

分类ID 6

信息

分类

AI与计算