crisschan
服务介绍
MCP-Repo2LLM
概述
mcp-repo2llm 是一个 MCP 服务器,可将代码仓库转换为适合 LLM(大型语言模型)的格式。
这是一个强大的工具,可以将代码仓库转换为适合 LLM 的格式,从而在传统代码库和现代 AI 语言模型之间架起桥梁。
此仓库基于 RepoToTextForLLMs,后者提供了将仓库转换为 LLM 可读格式的核心功能。
动机
随着 AI 和大型语言模型 (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
- 处理并返回来自本地 Git 仓库的代码作为文本
- 输入:
- repo_url (字符串): 仓库路径
- 返回 (字符串): 从仓库中获取的所有项目信息和结构作为文本