ANT MCP 服务端实现(a-nice-terminal)

使用说明

  • 项目简介
    • 该仓库在 a-nice-terminal 中实现了一个 MCP 服务器,允许 LLM 客户端通过 MCP 规范访问 ANT 应用的会话、消息和终端相关功能,并可通过工具注册的形式调用外部 API 与实现逻辑。
  • 主要功能点
    • 提供 9 个 MCP 工具,用以列出会话、创建会话、读取/发送/流式消息、以及对终端会话进行输入、重设尺寸与读取终端输出等操作。
    • 通过 REST API 封装 ANT 的底层数据与操作,MCP 服务器只负责将请求映射到相应的 REST API 调用,并将结果以 MCP 内容格式返回。
    • 集成 @modelcontextprotocol/sdk 的 MCP 服务器实现,支持通过标准的工具注册、调用、以及输出内容的文本化表示。
    • 支持标准的 MCP 服务器启动与 stdio/Socket transport 的扩展能力,便于与不同的 LLM 客户端建立连接。
    • 与现有 ANT 后端的会话、消息与 PTY(伪终端)逻辑耦合,确保工具调用时能够触达实际数据与状态。
  • 安装步骤
    • 依赖安装:在仓库根目录执行安装命令(如 pnpm install,若使用 npm/ Bun 也可行),确保 Node.js 环境可用。
    • 构建与运行:通过 MCP 客户端配置,将 MCP 服务器指向本仓库中的 MCP 服务入口(具体命令见下方服务器配置)。
  • 服务器配置(MCP 客户端需要的配置信息) 下述配置用于 MCP 客户端连接并启动 ANT 的 MCP 服务器。注意该配置仅用于 MCP 客户端连接,实际的服务端运行由仓库内的入口脚本实现。 { "mcpServers": { "ant": { "command": "npx", "args": ["tsx", "packages/mcp/src/index.ts"], "env": { "ANT_PORT": "3000" } } } } 说明:
    • server name: ant
    • command/args: 指定通过 npx 和 tsx 直接执行 TypeScript 实现的 MCP 服务入口
    • env: ANT_PORT 指定 MCP 服务监听端口,若需要可改为环境变量定义的端口
  • 基本使用方法
    • 启动方式:使用 MCP 客户端配置文件,启动后客户端与 MCP 服务器通过 JSON-RPC 进行请求与响应。
    • 常用工具:ant_list_sessions、ant_create_session、ant_read_messages、ant_send_message、ant_stream_message、ant_complete_stream、ant_terminal_input、ant_terminal_resize、ant_read_terminal_output。
    • 运行后,LLM 客户端即可通过这些工具读取 ANT 的会话与消息数据,创建会话或发送命令到终端会话等。

服务器信息