使用说明
项目简介
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)集成,提供上下文信息服务。
安装步骤
- 安装 uv: 首先确保你的系统安装了 'uv' 包管理器 (Python 环境)。如果未安装,请根据仓库 README.md 提供的命令进行安装。
curl -LsSf https://astral.sh/uv/install.sh | sh - 下载仓库代码: 克隆或下载 'mcp-source-relation' 仓库到本地。
- 安装依赖: 进入仓库目录,使用 '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 # 分析单个文件
信息
分类
开发者工具