使用说明

项目简介

Gossiphs 是一个快速、零配置的代码文件关系分析工具,基于 Tree-Sitter 和 Git 提交历史构建代码依赖和符号关联图。此模块是 Gossiphs 的 MCP (Model Context Protocol) 服务器实现,旨在通过标准化接口将代码分析能力暴露给大型语言模型 (LLM) 客户端,帮助LLM理解代码上下文。

主要功能点

该MCP服务器主要提供以下功能:

  • 文件影响分析工具: 允许LLM客户端调用工具,分析指定文件的潜在影响范围,查找与该文件相关的其他文件及其关联符号。
  • 代码上下文提供: 作为LLM获取代码仓库结构、文件关系和符号定义的桥梁。

安装步骤

  1. 确保您的系统已安装 Rust 环境 (Gossiphs 核心库使用 Rust 编写)。
  2. 使用 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 的能力发现机制获取。

信息

分类

开发者工具