使用说明
项目简介
Ummon 是一个代码知识图谱构建和查询工具,它可以分析多种编程语言的代码库,构建代码实体和关系构成的知识图谱,并提供强大的查询能力。通过集成的 Model Context Protocol (MCP) 服务器,Ummon 能够作为后端服务为 AI 助手提供代码上下文信息和工具调用能力,从而增强 AI 在代码理解和辅助编程方面的表现。
主要功能点
- 代码知识图谱构建: 索引代码库,创建代码的语义表示,识别代码实体(函数、类、模块等)及其相互关系。
- 高级查询系统: 支持结构化查询语言和自然语言查询,可以灵活检索代码实体和关系。
- 领域模型提取: 利用 LLM 识别代码库中的业务实体和概念,桥接技术实现和业务理解。
- MCP 服务器: 内置 MCP 服务器,为 AI 助手提供标准化的代码知识图谱访问接口,支持工具调用和上下文信息检索。
- 多种语言支持: 支持 Rust, Python, JavaScript, Java 等多种编程语言。
安装步骤
- 安装 Ummon:
确保已安装 Rust 和 Cargo 环境。在终端中运行以下命令安装 Ummon:
cargo install ummon
服务器配置
MCP 服务器配置('server_config.json' 示例,无需用户手动创建,仅为 MCP 客户端配置参考):
{ "serverName": "Ummon MCP Server", "command": "ummon", "args": ["serve"], "transport": "stdio", "description": "Ummon MCP 服务器,通过标准输入/输出进行通信。" }
配置说明:
- 'serverName': MCP 服务器的名称,可以自定义。
- 'command': 启动 MCP 服务器的命令,这里是 'ummon'。
- 'args': 启动命令的参数,使用 'serve' 参数启动 MCP 服务器。
- 'transport': 指定通信协议为 'stdio' (标准输入/输出),Ummon MCP 服务器支持 stdio, SSE, WebSocket 等多种协议,这里使用 stdio。
- 'description': 对该服务器配置的描述信息。
MCP 客户端配置:
MCP 客户端需要配置上述 'server_config.json' 文件,以连接到 Ummon MCP 服务器。具体的配置方法请参考 MCP 客户端(如 MCP Inspector)的文档。客户端通常需要指定服务器的启动命令 ('command' 和 'args') 以及通信协议 ('transport')。
基本使用方法
-
索引代码库: 使用 'ummon index' 命令索引您的代码库,例如:
ummon index /path/to/your/codebase这将分析指定路径下的代码,并构建知识图谱存储在本地数据库 'ummon.db' 中。
-
启动 MCP 服务器: 运行 'ummon serve' 命令启动 MCP 服务器:
ummon serve服务器默认使用标准输入/输出 (stdio) 进行通信,可以与 MCP 客户端(如 MCP Inspector)连接。
-
使用 MCP 客户端连接: 使用 MCP 客户端工具(例如 MCP Inspector)连接到 Ummon MCP 服务器。在 MCP Inspector 中,配置服务器启动命令为 'ummon serve',并选择 'stdio' 传输协议。
-
AI 助手交互: 连接成功后,AI 助手可以通过 MCP 协议与 Ummon 服务器交互,利用 'search_code', 'get_entity', 'debug_graph' 等工具查询代码知识图谱,从而理解代码结构和功能。
注意事项
- Ummon 项目尚处于早期开发阶段,API 和功能可能不稳定。
- 首次使用 'ummon index' 命令会创建 'ummon.db' 数据库文件。
- 运行 'ummon serve' 后,服务器在前台运行,需要保持终端窗口开启。
信息
分类
开发者工具