项目简介

本项目是 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 服务器的定位来看,这些功能是预期具备的。

安装步骤

  1. 克隆仓库

    git clone https://github.com/qiangli/ai.git
    cd ai
  2. 编译

    make build
  3. 安装 (可选)

    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 服务器。

基本使用方法

  1. 启动 MCP 服务器

    在安装 'ai' 工具后,可以通过以下命令启动 MCP 服务器:

    ai mcp serve

    或者,您可以自定义端口和主机地址:

    ai mcp serve --port 8080 --host 0.0.0.0

    服务器成功启动后,将会在终端输出监听地址信息,例如 'SSE server listening on :58888'。

  2. 配置 MCP 客户端

    MCP 客户端 (例如,某个支持 MCP 协议的 LLM 应用或工具) 需要配置连接到该 MCP 服务器的 URL。默认情况下,SSE 服务器的 URL 为 'http://localhost:58888/sse' (如果使用默认端口 '58888' 和主机 'localhost' 启动服务器)。

  3. 使用 MCP 客户端与服务器交互

    配置完成后,MCP 客户端即可通过 MCP 协议与服务器进行通信,请求资源、调用工具或获取 Prompt 模板,从而利用 MCP 服务器提供的上下文服务能力。 具体操作方式取决于 MCP 客户端的功能和用户界面。

重要提示:

  • 本仓库主要侧重于 AI 命令行工具的实现,MCP 服务器功能是其附加能力。如果您需要一个功能完备、独立部署的 MCP 服务器,可能需要进一步评估其功能完整性和扩展性。
  • 详细的 MCP 客户端配置和使用方法,请参考您使用的 MCP 客户端的文档。本仓库的 'README.md' 主要介绍了 'ai' 命令行工具作为客户端的使用方式,并没有详细描述如何配置和使用独立的 MCP 客户端连接到 'ai mcp serve' 提供的服务器。

信息

分类

开发者工具