ikuncode-aimcp

使用说明内容(Markdown格式)

  • 项目简介
    • ikuncode-aimcp 是一个用 Rust 编写的统一 MCP 服务器,实现了 Model Context Protocol(MCP)的后端服务能力。它将 Gemini CLI、Codex CLI 以及 Grok 搜索整合到同一个进程中,向 MCP 客户端提供资源、工具和提示模板等能力,并通过 JSON-RPC 形式与客户端通信,支持多种传输协议(如 标准 I/O、SSE 以及自适应的 JSON-RPC 帧格式)。
  • 主要功能点
    • 资源与数据访问:统一管理与暴露资源(Resources),用于数据访问与上下文提供。
    • 工具注册与执行:暴露 gemini、gemini_image、codex、web_search、web_fetch、get_config_info 等工具,LLM 客户端可按需调用。
    • 提示模板与渲染:内置与外部协作的 Prompt 处理能力,支持自定义交互模式。
    • 会话管理与能力声明:能够维持对话会话状态(SESSION_ID),并声明服务能力(Gemini、Codex、Grok 等可用性)。
    • 自适应传输:AdaptiveStdio 传输层可在 Stdio、SSE、WebSocket 等客户端间自动对齐帧格式,提升兼容性与鲁棒性。
    • 运行时检测与环境变量驱动:启动时检测可用工具并通过环境变量进行灵活配置(如 GEMINI_API_KEY、GROK_API_URL 等)。
  • 安装步骤
    • 方式一:下载预编译二进制(推荐)
      • 访问 GitHub Release 下载对应平台的二进制文件(如 ikuncode-aimcp-x86_64-pc-windows-msvc.exe、ikuncode-aimcp-linux-x86_64 等),放在 PATH 中直接执行。
    • 方式二:npm 安装
      • 全局安装 ikuncode-aimcp,安装时会自动从 GitHub Releases 下载二进制;若下载失败则回退到 cargo 安装。
    • 方式三:cargo 安装
      • 使用命令 cargo install --git https://github.com/xuxu777xu/ikuncode-aimcp.git 安装。
    • 方式四:从源码编译
      • 克隆仓库并执行
        • git clone https://github.com/xuxu777xu/ikuncode-aimcp.git
        • cd ikuncode-aimcp
        • cargo build --release
        • 二进制文件位于 target/release/ikuncode-aimcp
  • 服务器配置(MCP 客户端需要的配置说明,以下为结构化描述,不给出具体代码块)
    • server name:ikuncode-aimcp
    • command:ikuncode-aimcp
    • 运行参数与环境变量(注释说明,便于 MCP 客户端理解)
      • 环境变量
        • GEMINI_API_KEY:Gemini 的 API Key(用于 gemini 和 gemini_image 工具的认证)
        • GEMINI_IMAGE_API_KEY:Gemini 图像 API 的 Key
        • GEMINI_API_URL:Gemini 服务端点 URL,若未设置将使用默认路径,请确保与工具要求一致
        • GEMINI_IMAGE_MODEL:gemini_image 的默认模型
        • GROK_API_URL:Grok API 的端点
        • GROK_API_KEY:Grok API 的访问 Key
      • 说明
        • 这些环境变量用于工具的运行时行为、认证与 API 目标。服务器启动后会自主检测工具的可用性,并将检测结果输出到启动日志中。
  • 基本使用方法
    • 启动与连通
      • 启动 ikuncode-aimcp 二进制后,服务会输出检测信息,显示 Gemini、Codex、Grok 的可用性以及配置状态。
    • 与 MCP 客户端对接
      • MCP 客户端通过配置文件中的 server 名称、command 与参数与本服务器建立连接,后续请求将通过 JSON-RPC 调用对应的工具并返回响应。
    • 常用操作示例(客户端侧行为,服务端实现细节在本仓库)
      • 调用 gemini 工具:提交 PROMPT,获取 SESSION_ID 与辅助消息。
      • 调用 gemini_image:提交 PROMPT 与图片参数,获取图像数据及文本回复。
      • 调用 codex:提交 PROMPT 与工作区等设置,获取代码生成结果与会话历史。
      • 调用 web_search / web_fetch:进行网络搜索与网页抓取,获取结构化结果。
  • 运行后期维护
    • 服务启动后可通过日志查看工具检测与运行状态,遇到依赖工具缺失时会在输出中给出清晰的错误信息。

服务器信息