MCP-Repo2LLM
下载地址
https://github.com/crisschan/mcp-repo2llm
概览
mcp-repo2llm 是一个 MCP 服务器,专门将代码仓库转化为适合大语言模型(LLM)处理的高效格式。它是一个强大的工具,能够无缝连接传统代码库与现代 AI 语言模型,帮助开发者更好地利用人工智能技术。这款工具是在 RepoToTextForLLMs 的基础上开发的,后者提供了将代码仓库转换为 LLM 可读格式的核心功能。
开发动机
随着人工智能和大语言模型(LLM)在软件开发中的重要性日益提升,如何让这些模型更好地理解我们的代码库成为一个迫切需求。传统的代码仓库结构并非为 LLM 优化设计,这会导致在使用 AI 工具进行代码分析或生成时效果不佳,难以充分发挥其潜力。
解决的问题
这个项目致力于解决以下几个关键难题:
-
大型代码库在 LLM 处理中的困难 -
将代码输入 AI 模型时容易丢失上下文和结构信息 -
仓库元数据和文档处理效率低下 -
不同编程语言之间格式不统一的问题
核心功能
-
智能仓库扫描:能够聪明地处理整个代码库,同时保持其结构完整性 -
上下文保留:保留代码文件之间的重要上下文信息和关联关系 -
多语言支持:支持多种编程语言,并针对不同语言进行优化处理 -
元数据增强:为代码添加相关元数据,提升 LLM 的理解能力 -
高效处理:优化设计,适合处理大型仓库,资源占用极低
安装方法
通过 uv 安装 mcp-repo2llm 的步骤如下:
"mcp-repo2llm-server": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with-editable",
"/mcp-repo2llm",
"mcp",
"run",
"/mcp-repo2llm/mcp-repo2llm-server.py"
],
"env":{
"GITHUB_TOKEN":"your-github-token",
"GITLAB_TOKEN":"your-gitlab-token"
}
}
-
GITHUB_TOKEN:你的 GitHub 访问令牌 -
GITLAB_TOKEN:你的 GitLab 访问令牌
工具介绍
get_gitlab_repo
-
功能:处理并返回 GitLab 仓库某个分支的代码内容,以文本形式输出 -
输入参数: -
repo_url
(字符串):GitLab 仓库的 URL -
branch
(字符串):分支名称,默认值为 master -
返回值(字符串):仓库中的所有项目信息和结构,以文本形式呈现
get_github_repo
-
功能:处理并返回 GitHub 仓库某个分支的代码内容,以文本形式输出 -
输入参数: -
repo_url
(字符串):GitHub 仓库的 URL -
branch
(字符串):分支名称,默认值为 master -
返回值(字符串):仓库中的所有项目信息和结构,以文本形式呈现
get_local_repo
-
功能:处理并返回本地仓库的代码内容,以文本形式输出 -
输入参数: -
repo_url
(字符串):本地仓库的路径 -
返回值(字符串):仓库中的所有项目信息和结构,以文本形式呈现