代码库文本转换MCP服务器

一个强大的MCP服务器,将代码库转换为LLM友好的文本格式,支持AI分析和任务生成,适用于Gemini 2.5 Pro等大型语言模型。

  • by bacoco
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 bacoco/repo-to-text-mcp-server

使用说明

带有AI任务生成的Repo-to-Text MCP服务器(Shotgun模式)

代码库、LLM和实现之间的终极桥梁

一个强大的MCP(模型上下文协议)服务器,通过人工智能分析、智能过滤和 Gemini驱动的实施任务生成。与Shotgun类似,但更好——它为Cursor、Windsurf和Claude Desktop生成完整的实现指令。

🚀 为什么这比其他一切都好

功能 Shotgun 文本仓库 此MCP服务器
整合 手动复制粘贴 命令行 ✅ 直接克劳德集成
格式 杂乱的分隔符 基本XML ✅ 干净、优化的XML
智能 无 无 ✅ 人工智能驱动的分析
多格式 仅限霰弹枪 数量有限 ✅ XML、Shotgun、Markdown
代币估算 无 无 ✅ 多提供商支持
任务生成 手动 无 ✅ Gemini驱动指令
实施计划 无 无 ✅ 完整的工作流程自动化
IDE集成 基本 无 ✅ 光标/风帆/克劳德优化

✨ 主要特点

  • 🧠 AI驱动的分析 -Claude分析你的项目并提出最佳排除方案
  • 🎯 多种输出格式 -XML(最适合LLM)、Shotgun(兼容游标)、Markdown
  • 📊 令牌估计 -确切地知道你在不同LLM中使用了多少上下文
  • 🔄 智能分块 -自动拆分大型仓库以适应不同的模型限制
  • 🛠 补丁应用程序 -将LLM响应应用于您的代码库,并确保其安全运行
  • 🎨 项目类型感知 -检测语言/框架并相应地进行优化
  • ⚡ 快速燃烧 -高效的文件处理和智能过滤

🎯 非常适合Gemini 2.5 Pro

此MCP服务器针对Gemini 2.5 Pro进行了优化 200万令牌上下文:

  • Gemini喜欢的干净XML格式
  • 智能预处理,最大限度地利用上下文
  • 令牌估计,知道您使用的上下文小于可用上下文的5%
  • 处理其他工具无法处理的大量代码库

📦 安装

先决条件

  • Python 3.7+
  • Claude Desktop(用于MCP集成)
  • Gemini 2.5 Pro访问权限(用于任务生成功能)

快速安装

# Clone the repository
git clone https://github.com/YOUR_USERNAME/repo-to-text-mcp-server.git
cd repo-to-text-mcp-server

# Install dependencies
pip install -r requirements.txt

# Run installation script
chmod +x install.sh
./install.sh

手动安装

  1. 安装Python依赖项:

    pip install pyyaml pathspec mcp
    
  2. 配置Claude桌面: 添加到您的Claude Desktop配置文件(~/.claude/config.json):

    {
      "mcpServers": {
        "repo-to-text": {
          "command": "python",
          "args": ["/path/to/repo_to_text_mcp_server.py"]
        }
      }
    }
    
  3. 重新启动克劳德桌面

🚀 快速开始

1.分析你的项目

Analyze my project at /path/to/my/code

通过人工智能建议获得有关代码库的全面见解。

2.生成LLM就绪上下文

Generate repo context for /path/to/my/code in XML format

创建干净、结构化的文本,非常适合任何LLM。

3.生成实施计划(新增!)

Generate implementation plan for /path/to/my/code with requirements: "Add user authentication"

获取完整的Gemini提示以生成实现指令。

4.解析AI响应

Parse this Gemini response for Cursor: [paste response]

将AI输出转换为IDE特定的实现步骤。

🛠 可用工具

工具 描述 非常适合
analyze_project 全面的项目分析 了解您的代码库
generate_repo_context 使用智能过滤进行主转换 创建LLM提示
estimate_tokens 多提供商令牌计数 上下文规划
preview_selection 查看将包含哪些文件 大型项目优化
suggest_exclusions AI驱动的排除建议 降噪
chunk_for_llm 针对模型限制的智能分块 处理巨大的回购
apply_patch 将LLM响应应用于代码库 完成工作流
generate_implementation_tasks 生成Gemini实施提示 制定实施计划
parse_gemini_response 将Gemini的响应解析为IDE指令 将AI输出转换为任务
generate_implementation_plan 完成Shotgun风格的工作流程 端到端实施

🎯 新增:Shotgun样式实现生成

此MCP服务器现在包括受Shotgun启发的强大任务生成功能,但更好:

完整的工作流程

  1. 描述您的要求

    "I need to add user authentication with JWT tokens to my Express app"
    
  2. 制定实施计划

    Use generate_implementation_plan for /path/to/project with requirements: "Add JWT authentication..."
    
  3. 获取Gemini优化提示

    • 自动分析整个代码库
    • 为Gemini 2.5 Pro创建全面提示
    • 包括项目背景、结构和要求
  4. 解析双子座的反应

    Parse this Gemini response for Cursor IDE...
    
  5. 获取IDE特定指令

    • 光标/风帆:分步实施指南
    • 克劳德桌面:按优先事项对任务进行细分
    • 通用的:任何工具的结构化JSON

示例:向Express应用程序添加身份验证

重要提示:此工具为Gemini 2.5 Pro生成提示。您需要:

  1. 从该工具复制生成的提示
  2. 将其粘贴到Gemini 2.5 Pro中(通过web界面或API)
  3. 复制Gemini的回复
  4. 使用 parse_gemini_response 将其转换为IDE指令的工具
# Step 1: Analyze the project
"Analyze my Express project at /Users/me/myapp"

# Step 2: Generate implementation tasks
"Generate implementation tasks for /Users/me/myapp with requirements: 
Add JWT-based authentication with:
- User registration and login endpoints
- Password hashing with bcrypt
- JWT token generation and validation
- Protected route middleware
- User profile endpoint"

# Step 3: Copy prompt to Gemini 2.5 Pro
# (The tool provides a complete prompt)

# Step 4: Parse Gemini's response
"Parse this Gemini response for Cursor:
[Paste Gemini's response here]"

# Result: Complete implementation directives!

光标输出示例

# 🎯 CURSOR IMPLEMENTATION DIRECTIVES

## 📋 TASK OVERVIEW
Implement JWT authentication system for Express application...

## 🏗️ ARCHITECTURE CHANGES
- Add auth middleware directory
- Create user model with Mongoose
- Add authentication routes
- Implement JWT utility functions

## 📝 IMPLEMENTATION STEPS

### Step 1: Install Dependencies
```bash
npm install jsonwebtoken bcrypt express-validator

步骤2:创建用户模型

创建 models/User.js:

const mongoose = require('mongoose');
const bcrypt = require('bcrypt');

const userSchema = new mongoose.Schema({
  email: { type: String, required: true, unique: true },
  password: { type: String, required: true },
  // ... complete implementation
});

步骤3:创建身份验证中间件

[…详细的实施步骤…]


## 📝 Output Formats

### XML Format (Recommended)
Clean, structured format that works perfectly with all modern LLMs:
```xml
<repo-to-text>
Directory: myproject
<directory_structure>
├── src/
│   └── main.py
└── README.md
</directory_structure>
<content full_path="src/main.py">
def hello():
    print("Hello World")
</content>
</repo-to-text>

Shotgun格式(光标兼容)

与Cursor、Windsurf和复制粘贴工作流兼容:

*#*#*src/main.py*#*#*begin*#*#*
def hello():
    print("Hello World")
*#*#*end*#*#*

Markdown格式

非常适合文档和人类阅读:

# Repository: myproject
## File Contents
### src/main.py
```python
def hello():
    print("Hello World")

## 🎯 Usage Examples

### Basic Workflow

1.先分析

“在/Users/my/myapp上分析我的React项目”

2.生成上下文

“生成不包括node_modules和测试文件的repo上下文”

3.与您最喜欢的LLM一起使用

→ 粘贴到Gemini 2.5 Pro,获得大量补丁

→ 应用回代码库


### Advanced Usage

自定义排除

“为/path/to/code生成repo上下文,不包括['*.test.js'、'docs/、'examples/]]”

生成前预览

“预览/path/到/my/large/project中包含的文件”

令牌优化

“为Claude 3.5 Sonnet压缩此回购上下文”

应用LLM补丁

“先用模拟运行将此补丁应用于/path/to/code”


## ⚙️ Configuration

Create `.repo-to-text-settings.yaml` in your project root for custom settings:

```yaml
gitignore-import-and-ignore: true

ignore-tree-and-content:
  - "node_modules/"
  - "__pycache__/"
  - "*.log"
  - "dist/"
  - "build/"

ignore-content-only:
  - "package-lock.json"
  - "yarn.lock"
  - "README.md"

force-include:
  - "Dockerfile"
  - "package.json"
  - "requirements.txt"

🎛 智能默认值

服务器自动排除常见噪音:

  • 依赖项: node_modules/, venv/, __pycache__/
  • 构建工件: dist/, build/, target/
  • 版本控制: .git/, .svn/
  • IDE文件: .vscode/, .idea/
  • 媒体文件: *.png, *.jpg, *.mp4
  • 档案: *.zip, *.tar.gz

包括重要文件:

  • 配置文件: package.json, requirements.txt, Dockerfile
  • 文档: README.md, LICENSE

🚀 完美的工作流程

Gemini 2.5 Pro工作流程(推荐)

  1. 分析 → 克劳德了解你的项目
  2. 生成XML → Gemini 2M上下文的完美格式
  3. 粘贴和提示 → 获取大量连贯的补丁
  4. 安全使用 → 先进行试运行,然后涂抹

光标/风帆工作流程

  1. 生成Shotgun格式 → 兼容的分隔符
  2. 粘贴到IDE → 直接积分法
  3. 获取不同的响应 → 通过IDE工具应用

多LLM工作流

  1. 估算代币 → 知道什么适合哪里
  2. 智能填充 → 拆分为较小的型号
  3. 使用最佳模型 → 通往最佳LLM的途径

🔧 故障排除

问题 解决方案
ModuleNotFoundError: mcp 安装时使用 pip install mcp
服务器未出现在Claude中 请检查配置路径并重新启动Claude Desktop
权限错误 确保脚本具有执行权限
大输出截断 使用排除或分块
包含二进制文件 它们会自动排除,请检查您的模式

🤝 贡献

欢迎投稿!请阅读我们的投稿指南:

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

📊 演出

  • 快速燃烧:在毫秒内处理1000多个文件
  • 内存效率高:流式传输大文件,不将所有文件加载到内存中
  • 智能缓存:重复使用分析结果
  • 处理大量回购:包含10k+文件的Git存储库

🌟 明星历史

📄 许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

🙏 致谢

🔗 相关项目


利用人工智能将整个代码库转换为LLM就绪的上下文。非常适合Gemini 2.5 Pro的大型上下文窗口,但适用于任何LLM。

⭐ 如果此仓库能帮助您更快地构建更好的软件,请将其标记为星号!#repo到文本mcp服务器