项目简介
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)。
手动安装:
- 克隆仓库:'git clone https://github.com/cyrup-ai/kodegen && cd kodegen'
- 运行安装脚本:'./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 能够直接与您的开发环境互动,执行复杂的编程和开发任务,从而实现更高效和自主的软件开发流程。
信息
分类
开发者工具