使用说明
项目简介
Gossiphs 是一个快速、零配置的代码文件关系分析工具,基于 Tree-Sitter 和 Git 提交历史构建代码依赖和符号关联图。此模块是 Gossiphs 的 MCP (Model Context Protocol) 服务器实现,旨在通过标准化接口将代码分析能力暴露给大型语言模型 (LLM) 客户端,帮助LLM理解代码上下文。
主要功能点
该MCP服务器主要提供以下功能:
- 文件影响分析工具: 允许LLM客户端调用工具,分析指定文件的潜在影响范围,查找与该文件相关的其他文件及其关联符号。
- 代码上下文提供: 作为LLM获取代码仓库结构、文件关系和符号定义的桥梁。
安装步骤
- 确保您的系统已安装 Rust 环境 (Gossiphs 核心库使用 Rust 编写)。
- 使用 pip 安装 gossiphs Python 包,其中包含了 MCP 服务器实现:
pip install gossiphs
服务器配置
MCP客户端需要配置 Gossiphs MCP 服务器的启动信息以建立连接。典型的配置参数包括:
- Server Name: 服务器名称,例如 "Gossiphs Code Analysis"。
- Command: 启动服务器的可执行命令路径。如果通过 pip 安装,通常是 'gossiphs_mcp'。
- Args: 传递给命令的参数列表。启动MCP服务器通常需要指定 'server' 子命令和传输协议。可能还需要指定项目路径。
- 'server': 启动服务器模式。
- '--transport <protocol>': 指定与客户端通信的传输协议,例如 'stdio' (标准输入输出,常用于本地或容器内通信)。
- '--project-path <path>': 指定要分析的代码仓库根目录路径(这是Gossiphs进行分析必需的)。
- 可能还有其他配置参数用于控制代码分析深度、过滤等,具体请参考 Gossiphs 的命令行帮助或文档。
例如,一个使用 stdio 协议并指定项目路径的配置示意(非实际JSON配置,仅说明参数):
{ "server name": "Gossiphs Code Analysis", "command": "gossiphs_mcp", "args": ["server", "--transport", "stdio", "--project-path", "/path/to/your/code/repo"] }
MCP客户端会根据这些信息启动并连接到 Gossiphs MCP 服务器。
基本使用方法
服务器启动后,MCP客户端即可通过 JSON-RPC 协议与服务器通信。客户端可以发现并调用服务器注册的工具。
例如,调用“文件影响分析”工具: 客户端会发送一个 JSON-RPC 请求,指定方法名为工具名称 (例如 'analyze_file_impact'),并在 'params' 中提供参数 ('project_path', 'target_file')。服务器执行分析并将结果通过 JSON-RPC 响应返回给客户端。
具体的工具名称和参数列表,客户端可以通过 MCP 的能力发现机制获取。
信息
分类
开发者工具