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 的会话与消息数据,创建会话或发送命令到终端会话等。