项目简介
CodeBank 是一个用于分析多种编程语言源代码并生成结构化文档(Markdown格式)的工具。它提供深入的代码结构洞察,帮助用户理解和维护大型项目。除了命令行接口,CodeBank 还实现了 MCP (Model Context Protocol) 服务器,允许兼容的 LLM 客户端通过标准化的方式访问其代码分析能力。
主要功能点
- 多语言支持: 支持解析 Rust, Python, TypeScript/JavaScript 和 Go 语言。
- 代码结构分析: 能够解析函数、模块、类、结构体、接口等代码元素,提取文档和注释,分析可见性等。
- 灵活的输出策略: 支持生成包含完整代码、排除测试代码或仅包含公共接口的文档。
- 通过MCP提供服务: 作为 MCP 服务器,通过 JSON-RPC 协议对外提供代码分析和文档生成功能。
安装步骤
您可以使用 Cargo 包管理器安装 CodeBank:
cargo install codebank
安装完成后,会得到 'cb' (命令行工具) 和 'cb-mcp' (MCP 服务器) 两个可执行文件。
服务器配置(供MCP客户端使用)
MCP 客户端需要配置服务器的启动信息才能连接。对于 CodeBank MCP 服务器 ('cb-mcp'),您可以配置以下信息:
- name: MCP 服务器的标识名称,例如 "CodeBank MCP Server"。
- command: 服务器的可执行文件路径,通常是 'cb-mcp' (如果已在系统 PATH 中)。
- args: 传递给 'cb-mcp' 可执行文件的参数。'cb-mcp' 支持以下模式:
- stdio: 通过标准输入输出进行通信。参数为 '["stdio"]'。
- sse: 启动一个 SSE (Server-Sent Events) 服务器。需要指定端口,例如参数为 '["sse", "--port", "3000"]'。
MCP 客户端根据这些信息启动 CodeBank MCP 服务器并建立连接。
基本使用方法(通过MCP客户端)
MCP 客户端连接 CodeBank MCP 服务器后,可以调用服务器提供的工具 (Tools) 来执行代码分析任务。CodeBank MCP 服务器提供了以下主要工具:
- 'generate': 生成指定路径下源代码的代码银行文档,并将结果直接返回给 MCP 客户端。您可以指定源代码路径 ('path') 和生成策略 ('strategy',可选值包括 'default', 'summary', 'no-tests')。客户端(如 LLM)可以使用此工具获取代码上下文信息,以便更好地理解代码库。
- 'generate_file': 生成指定路径下源代码的代码银行文档,并将结果保存到指定的文件 ('output') 中。除了 'path' 和 'strategy' 参数外,还需要提供 'output' 文件路径。这适用于需要将生成的文档持久化到文件的情况。
LLM 客户端可以根据用户的需求(例如“总结一下这个代码库的主要功能”或“生成不包含测试代码的文档”)调用这些工具,并利用返回的代码银行信息来回答问题或执行其他任务。
信息
分类
开发者工具