项目简介
本项目是 AI Command Line Tool 的一部分,它不仅作为一个强大的命令行AI工具存在,也实现了 Model Context Protocol (MCP) 服务器的功能。MCP 服务器旨在为语言模型(LLM)客户端提供标准化的上下文服务框架,使得客户端能够安全、可扩展地访问资源、调用工具和使用Prompt模板。
主要功能点
- 资源 (Resources) 管理: 虽然仓库信息中没有明确提及资源管理的具体实现,但MCP服务器的核心职责之一是托管和管理资源,为数据访问提供能力。
- 工具 (Tools) 注册与执行: 仓库通过 'cmd/mcp/serve.go' 实现了 MCP 服务器,并能够注册和执行工具。'internal/agent' 目录下的代码表明,该项目支持多种类型的工具,包括系统命令、Agent工具和MCP工具。
- Prompt 模板 (Prompts) 支持: 仓库中 'internal/agent/resource/prompts' 目录包含了多种Prompt模板,虽然没有明确说明MCP服务器如何直接管理和渲染Prompt模板,但作为MCP服务器,它应当具备支持 Prompt 模板定义和使用的能力(尽管可能需要通过工具或客户端逻辑间接实现)。
- 基于 SSE 的传输协议: MCP 服务器通过 SSE (Server-Sent Events) 协议与客户端通信,符合 MCP 服务器规范,并提供了基于HTTP的长连接能力。
- 会话管理与能力声明: 作为 MCP 服务器,它应该负责会话管理和能力声明,尽管具体实现细节需要进一步代码分析,但从其作为 MCP 服务器的定位来看,这些功能是预期具备的。
安装步骤
-
克隆仓库
git clone https://github.com/qiangli/ai.git cd ai -
编译
make build -
安装 (可选)
make install这将把 'ai' 可执行文件安装到 '/usr/local/bin' (或您系统的 'GOBIN' 路径)。
服务器配置
MCP 客户端需要配置 MCP 服务器的连接信息。对于 'ai mcp serve' 启动的 MCP 服务器,典型的配置信息(JSON 格式)如下:
{ "serverName": "ai-mcp-server", "command": "ai", "args": ["mcp", "serve", "--port", "58888", "--host", "localhost"] }
配置参数说明:
- '"serverName"': MCP 服务器的名称,可以自定义。
- '"command"': 启动 MCP 服务器的命令,这里是 'ai' (假设 'ai' 可执行文件已在 PATH 环境变量中,或者您需要提供可执行文件的完整路径)。
- '"args"': 启动命令的参数列表:
- '"mcp"': 指定运行 MCP 服务器子命令。
- '"serve"': 启动服务器的动作。
- '"--port"': 指定服务器监听的端口,默认为 '58888'。您可以根据需要修改端口号。
- '"--host"': 指定服务器绑定的主机地址,默认为 'localhost',即只允许本地连接。如果需要允许远程连接,可以设置为 '"0.0.0.0"'。
注意: MCP 客户端需要根据实际情况配置 'command' 和 'args',确保能够正确启动并连接到 MCP 服务器。
基本使用方法
-
启动 MCP 服务器
在安装 'ai' 工具后,可以通过以下命令启动 MCP 服务器:
ai mcp serve或者,您可以自定义端口和主机地址:
ai mcp serve --port 8080 --host 0.0.0.0服务器成功启动后,将会在终端输出监听地址信息,例如 'SSE server listening on :58888'。
-
配置 MCP 客户端
MCP 客户端 (例如,某个支持 MCP 协议的 LLM 应用或工具) 需要配置连接到该 MCP 服务器的 URL。默认情况下,SSE 服务器的 URL 为 'http://localhost:58888/sse' (如果使用默认端口 '58888' 和主机 'localhost' 启动服务器)。
-
使用 MCP 客户端与服务器交互
配置完成后,MCP 客户端即可通过 MCP 协议与服务器进行通信,请求资源、调用工具或获取 Prompt 模板,从而利用 MCP 服务器提供的上下文服务能力。 具体操作方式取决于 MCP 客户端的功能和用户界面。
重要提示:
- 本仓库主要侧重于 AI 命令行工具的实现,MCP 服务器功能是其附加能力。如果您需要一个功能完备、独立部署的 MCP 服务器,可能需要进一步评估其功能完整性和扩展性。
- 详细的 MCP 客户端配置和使用方法,请参考您使用的 MCP 客户端的文档。本仓库的 'README.md' 主要介绍了 'ai' 命令行工具作为客户端的使用方式,并没有详细描述如何配置和使用独立的 MCP 客户端连接到 'ai mcp serve' 提供的服务器。
信息
分类
开发者工具