项目简介

KODEGEN.ᴀɪ (Model Context Protocol) 是一个高性能的 Rust 原生 MCP 服务器,专为 LLM(大型语言模型)自动代码生成而设计。它提供了一套全面且高度优化的工具集,以标准化方式向 LLM 客户端提供上下文信息和功能,帮助 LLM 实现专业、自主且高质量的代码生成。

主要功能点

  • 丰富多样的编程工具: 包含 75 种为代码生成工作流深度优化的工具,涵盖文件系统操作(如读写大文件、搜索代码库)、Git 版本控制(初始化、克隆、分支、提交、合并等)、终端命令执行(完全 VT100 伪终端会话)、Web 抓取与搜索,以及 GitHub API 集成(管理 issue、PR、评论等)。
  • Prompt 模板管理: 支持创建和管理可重用的 Prompt 模板,使用 Jinja2 渲染和 Schema 验证,帮助标准化 LLM 指令。
  • AI Agent 编排: 支持 N 深度 Agent 委托,允许创建分层的、协作的 Agent 结构,例如生成专门的子 Agent 进行深入研究或并行分析。
  • 上下文效率优化: 所有工具都经过优化,旨在提高执行速度和上下文效率,从而降低代码生成成本并加快开发流程。
  • LLM 可观测性: 内置工具使用跟踪和性能分析功能,支持 LLM 的自我改进。
  • 多传输协议支持: 通过守护进程 'kodegend' 支持 SSE (Server-Sent Events) 等多种传输协议,与 MCP 客户端进行高效通信。

安装步骤

KODEGEN.ᴀɪ 提供了便捷的一键安装脚本,或可手动从源代码构建。

一键安装(推荐): 在终端运行以下命令:

curl -fsSL https://kodegen.ai/install | sh

此脚本将自动安装 Rust nightly 版本、编译并安装 'kodegen' 二进制文件,并自动配置已检测到的 MCP 客户端(如 Claude Desktop, Windsurf, Cursor, Zed, Roo Code)。

手动安装:

  1. 克隆仓库:'git clone https://github.com/cyrup-ai/kodegen && cd kodegen'
  2. 运行安装脚本:'./install.sh' 此脚本将编译并安装 'kodegen' MCP 服务器和 'kodegend' 守护进程,并自动配置已检测到的 MCP 客户端。

服务器配置

KODEGEN.ᴀɪ 服务器通过 JSON-RPC 协议与 MCP 客户端通信。以下是如何配置流行的 MCP 客户端(如 Claude Desktop)以连接到 KODEGEN.ᴀɪ 服务器的示例。

Claude Desktop 配置示例 ('~/Library/Application Support/Claude/claude_desktop_config.json'): 请在 'mcpServers' 部分添加以下配置:

{
  "mcpServers": {
    "kodegen": {
      "command": "kodegen",
      "args": ["--tools", "filesystem,terminal,citescrape"]
    }
  }
}

配置说明:

  • '"kodegen"': 这是您在 MCP 客户端中为此服务器指定的名称。
  • '"command": "kodegen"': 指定启动 KODEGEN.ᴀɪ 服务器的可执行文件路径。如果 'kodegen' 已在系统 PATH 中,可以直接使用 'kodegen'。
  • '"args": [...]': 传递给 'kodegen' 服务器的启动参数列表。
    • '"--tools", "filesystem,terminal,citescrape"': 这是一个可选参数,用于指定您希望启用的工具类别。您可以根据项目需求选择性地启用工具,以优化服务器性能和资源使用。
    • 可用的工具类别包括:
      • 'filesystem': 文件系统操作工具(例如 'read_file', 'write_file')
      • 'terminal': 终端和进程管理工具(例如 'start_terminal_command')
      • 'process': 进程管理工具
      • 'sequential_thinking': 用于推理链的工具
      • 'claude_agent': 用于编排子 AI Agent 的工具
      • 'citescrape': 网页抓取和搜索工具
      • 'prompt': Prompt 模板管理工具
      • 'introspection': 可观测性和诊断工具
      • 'git': Git 仓库操作工具(例如 'git_commit', 'git_branch_create')
      • 'github': GitHub API 集成工具
      • 'config': 服务器配置管理工具
    • 注意: 如果您不提供 '--tools' 或 '--tool' 参数,所有已编译的工具类别将默认启用。

基本使用方法

一旦 KODEGEN.ᴀɪ 服务器安装并配置到您的 MCP 客户端中,您的 LLM 客户端就可以通过发送 JSON-RPC 请求来调用其提供的工具。

示例:读取文件内容 LLM 客户端可以发送类似以下的 JSON-RPC 请求:

{
  "jsonrpc": "2.0",
  "method": "tools/call_tool",
  "params": {
    "tool_name": "read_file",
    "tool_args": {
      "file_path": "src/main.rs",
      "offset": 0,
      "limit": 100
    }
  },
  "id": 1
}

服务器将执行 'read_file' 工具,并向客户端返回文件中指定部分的内容。

示例:在终端中执行命令 LLM 客户端可以发送类似以下的 JSON-RPC 请求:

{
  "jsonrpc": "2.0",
  "method": "tools/call_tool",
  "params": {
    "tool_name": "start_terminal_command",
    "tool_args": {
      "command": "cargo build --release",
      "working_directory": "."
    }
  },
  "id": 2
}

服务器将在后台启动终端命令。LLM 客户端随后可以调用 'read_terminal_output' 等工具来获取该命令的输出结果。

通过这些工具,LLM 能够直接与您的开发环境互动,执行复杂的编程和开发任务,从而实现更高效和自主的软件开发流程。

信息

分类

开发者工具