使用说明

项目简介

Source Relation Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务器,旨在帮助大型语言模型 (LLM) 理解和分析项目源代码的依赖关系。通过解析多种编程语言的import语句,该服务器能够快速识别项目内文件之间的关联,从而辅助LLM更好地理解代码库结构和模块间的相互作用。

主要功能点

  • 多语言支持: 支持 TypeScript/JavaScript, Python, Ruby, Rust 等多种主流编程语言的依赖关系解析。
  • 路径别名解析: 能够处理 TypeScript 'tsconfig.json' 中的路径别名,例如 '@/components/...'。
  • 语言特性支持: 针对不同语言的特性进行适配,例如 Python 的 'init.py' 和相对导入,Rust 的 'mod.rs',TypeScript 的 'index.ts' 等。
  • JSON格式输出: 解析结果以清晰的 JSON 格式返回,方便 LLM 理解和利用。
  • MCP协议集成: 作为 MCP 服务器,可以方便地与支持 MCP 协议的客户端(如 Claude)集成,提供上下文信息服务。

安装步骤

  1. 安装 uv: 首先确保你的系统安装了 'uv' 包管理器 (Python 环境)。如果未安装,请根据仓库 README.md 提供的命令进行安装。
    curl -LsSf https://astral.sh/uv/install.sh | sh
  2. 下载仓库代码: 克隆或下载 'mcp-source-relation' 仓库到本地。
  3. 安装依赖: 进入仓库目录,使用 'uv sync' 命令安装项目依赖。
    cd /path/to/mcp-source-relation  # 替换为你的仓库路径
    uv sync

服务器配置

要将 Source Relation Server 集成到 MCP 客户端,您需要配置服务器的启动命令。以下是通用的配置信息,您需要将其添加到 MCP 客户端的服务器配置中。

{
    "server name": "source-relation",  // 服务器名称,客户端用于识别和调用
    "command": "uv",                   // 启动服务器的命令,这里使用 uv 包管理器
    "args": [                          // 启动命令的参数列表
        "run",                        // uv run 命令用于运行 Python 脚本
        "source_relation.py"          // 要运行的服务器脚本文件
    ]
}

请注意: '<server name>' 可以自定义,'command' 和 'args' 必须与上述配置一致。MCP客户端会使用这些信息来启动 Source Relation Server 并与之通信。

基本使用方法

配置完成后,在支持 MCP 协议的客户端中 (例如 Claude),您可以指示 LLM 使用 Source Relation Server 来分析代码依赖关系。

使用示例 (Claude): 在 Claude 中,您可以类似这样指示:

'/Users/xxx/GitHub/xxx/ 的源代码的依赖关系是什么?'

或者指定一个文件:

'/Users/xxx/GitHub/xxx/src/component/button.tsx 的依赖关系是什么?'

您也可以通过客户端的 "Attach from MCP" -> "Choose an integration" -> "source-relation" 菜单来选择并使用该集成。

服务器会将分析结果以 JSON 格式返回给客户端,客户端可以根据这些信息向 LLM 提供代码依赖的上下文。

命令行测试: 您也可以在命令行中测试服务器的功能 (仅用于测试目的,MCP 客户端不需要):

uv run source_relation.py test /path/to/project  # 分析项目目录
uv run source_relation.py test /path/to/file     # 分析单个文件

信息

分类

开发者工具