Token导航 LogoToken导航TokenDH.com
RAG MCP CODe SEARCH logo
搜索检索stdio官方级别未说明来源级核验

RAG MCP CODe SEARCH

MCP Server

一个基于RAG(检索增强生成)和MCP(模型上下文协议)的AI驱动代码检索与修改系统,支持代码搜索、草稿生成和本地工作区与向量数据库的自动同步。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude向量数据库Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

rohitmukati

提供方

rohitmukati

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 -m venv venv

详细介绍

与CodeBase Rag Mcp聊天

与CodeBase Rag Mcp聊天 是个聪明人 人工智能驱动的代码检索和修改系统 利用 RAG(检索增强生成) 随着 MCP(模型上下文协议)。它实现了无缝连接 代码搜索、草稿生成和自动同步 你之间 本地工作空间向量数据库.

______________________________________________________________________

🧠 概述

该系统使用模型上下文协议为智能代码管理提供了端到端的解决方案:

  • 📦 上传和索引 将代码项目压缩到矢量数据库中(一次性设置)
  • 🔍 查询相关代码片段 使用RAG支持的自然语言
  • ✍️ 生成代码修改 通过MCP工具自动
  • 审查和批准 在将更改应用于本地文件夹和Vector DB之前
  • 🔌 MCP服务器:可流式HTTP服务器公开了两个自定义MCP工具
  • 🤖 拟人客户:与MCP工具通信以进行智能代码操作
  • ⚙️ FastAPI+Streamlit架构 用于强大的后端前端集成

🎥 演示视频: 在织机上观看

______________________________________________________________________

✨ 主要特点

  • 🔗 MCP集成:为基于工具的AI交互实现模型上下文协议
  • 🧠 语义搜索:由矢量数据库(Zilliz)提供支持,用于精确的代码检索
  • 💬 自然语言接口:使用简明英语查询您的代码库
  • 🧾 申请前起草:在提交更改之前审查生成的修改
  • 🔄 自动同步:保持本地文件夹和Vector DB完全同步
  • 🛠️ 两个自定义MCP工具:

- RAG搜索工具:语义代码搜索和检索 - 代码更新工具:批准后更新本地文件夹和矢量嵌入中的代码

  • 🌐 MCP流式HTTP服务器:通过HTTP公开工具以实现灵活集成
  • 🤖 拟人客户:内置客户端,可与MCP工具无缝通信
  • ⚙️ 模块化架构:可扩展和生产就绪的设计

______________________________________________________________________

🏗️ 项目结构

RAG_MCP_CODE_SEARCH/
│
├── src/
│   ├── uploads/              # Folder for uploaded code zips & extracted files
│   ├── files.py              # File handling utilities
│   └── uploads.py            # Upload processing logic
│
├── server.py                 # FastAPI backend (API endpoints, VectorDB handling)
├── client.py                 # Anthropic Client
├── streamlit.py              # Streamlit frontend for user interaction
├── requirements.txt          # Project dependencies
├── .env                      # Environment variables (see configuration below)
└── README.md                 # Project documentation

______________________________________________________________________

🔧 MCP架构

模型上下文协议实现

该项目实现了 模型上下文协议(MCP),这使得AI模型和外部工具之间能够进行结构化通信。

┌─────────────────┐
│  Anthropic      │
│  Claude Client  │
└────────┬────────┘
         │ MCP Protocol
         ↓
┌─────────────────────┐
│  MCP HTTP Server    │
│  (Streamable)       │
└────────┬────────────┘
         │
    ┌────┴────┐
    ↓         ↓
┌────────┐ ┌────────────┐
│  RAG   │ │   Code     │
│ Search │ │   Update   │
│  Tool  │ │    Tool    │
└────┬───┘ └─────┬──────┘
     │           │
     ↓           ↓
┌─────────────────────┐
│   Vector Database   │
│   Local File System │
└─────────────────────┘

MCP工具

1. RAG搜索工具 (rag_search)

  • 目的:通过代码库进行语义搜索
  • 输入:自然语言查询
  • 输出:带有上下文的相关代码片段
  • 过程:

- 将查询转换为嵌入 - 在Vector DB中搜索类似代码 - 返回带有文件路径的排名结果

2. 代码更新工具 (code_update)

  • 目的:用户批准后更新代码
  • 输入:文件路径、新代码内容、审批状态
  • 输出:更新确认
  • 过程:

- 更新本地文件系统 - 重新生成嵌入 - 更新矢量数据库 - 保持两家商店之间的同步

______________________________________________________________________

🔐 环境配置

创建一个 .env 根目录中的文件,配置如下:

# OpenAI API Configuration
OPENAI_API_KEY="your-openai-api-key"

# Zilliz Cloud Configuration
CLUSTER_ENDPOINT="your-zilliz-cluster-endpoint"
TOKEN="your-zilliz-token"
COLLECTION_NAME="CodeBase"

# Anthropic API Configuration
ANTHROPIC_API_KEY="your-anthropic-api-key"

# Folder Paths
FOLDER_TO_UPDATE="" ## keep it blank
FOLDER_TO_UPLOAD="src/uploads"

# MCP Server Configuration
MCP_SERVER_HOST="localhost"
MCP_SERVER_PORT="8001"

配置参数

参数说明
OPENAI_API_KEY用于嵌入和LLM操作的OpenAI API密钥
CLUSTER_ENDPOINTZilliz Cloud集群端点URL
TOKENZilliz Cloud的身份验证令牌
COLLECTION_NAMEZilliz中集合的名称(默认值:“CodeBase”)
ANTHROPIC_API_KEYClaude集成的Anthropic API密钥
FOLDER_TO_UPDATE
FOLDER_TO_UPLOAD用于存储上传的ZIP文件和提取代码的文件夹

______________________________________________________________________

⚙️ 安装说明

1.️⃣ 克隆存储库

git clone https://github.com/rohitmukati/RAG_MCP_CODe_SEARCH.git
cd RAG_MCP_CODE_SEARCH

2.️⃣ 创建和激活虚拟环境

Linux/macOS:

python3 -m venv venv
source venv/bin/activate

窗户:

python -m venv venv
venv\Scripts\activate

3.️⃣ 再进行

pip install -r requirements.txt

4.️⃣ 配置环境变量

创建一个 .env 文件,并添加API密钥和配置,如 环境配置 上面的部分。

______________________________________________________________________

▶️ 运行项目

步骤1:启动FastAPI后端

在新终端中:

uvicorn server:app --reload

API服务器将在 http://localhost:8000

步骤2:启动Streamlit界面

打开另一个终端并运行:

streamlit run streamlit.py

MCP通信流程

User Query → Streamlit UI → Anthropic Client → MCP HTTP Server
                                                      ↓
                                              [Tool Selection]
                                                      ↓
                                    ┌─────────────────┴─────────────────┐
                                    ↓                                   ↓
                            RAG Search Tool                     Code Update Tool
                                    ↓                                   ↓
                            Vector DB Query                   Local FS + Vector DB
                                    ↓                                   ↓
                            Return Results              Return Confirmation
                                    ↓                                   ↓
                                    └─────────────────┬─────────────────┘
                                                      ↓
                                          MCP HTTP Server Response
                                                      ↓
                                            Anthropic Client
                                                      ↓
                                              User Interface

______________________________________________________________________

🧠 技术栈

组件技术
前端流光灯
后端FastAPI
向量存储Zilliz云
模型APIOpenAI,人类学
协议模型上下文协议(MCP)
MCP服务器自定义流式HTTP服务器
语言模型Claude(通过Anthropic API)
RAG 流程自定义实现
部署Uvicorn快速API

______________________________________________________________________

📋 需求

  • Python 3.8+
  • OpenAI API访问
  • 人类API访问(Claude)
  • Zilliz云账号
  • 足够的存储空间用于代码索引
  • MCP服务器通信的网络接入

______________________________________________________________________

🔍 MCP协议优势

为什么选择模型上下文协议?

  1. 🔌 标准化工具通信:AI工具交互的一致界面
  2. 🔄 无状态操作:每个工具调用都是独立且可重复的
  3. 📡 HTTP流式传输:大型操作的实时流式响应
  4. 🧩 模块化设计:无需更改核心架构即可轻松添加新工具
  5. 🤖 人工智能原生:专为LLM工具交互而设计
  6. 🔒 安全:对文件系统和数据库操作的受控访问

______________________________________________________________________

🤝 贡献

欢迎投稿!请随时提交拉取请求。对于重大更改,请先打开一个问题来讨论您想要更改的内容。

添加新的MCP工具

  1. 在中创建新工具 mcp/tools/
  2. 实现工具界面
  3. 在中注册该工具 mcp/server.py
  4. 如果需要,更新Anthropic客户端

______________________________________________________________________

📄 许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

______________________________________________________________________

🐛 故障排除

常见问题

问题:MCP服务器连接失败

  • 解决方案:确保MCP服务器在正确的端口上运行,并检查防火墙设置

问题:矢量数据库连接失败

  • 解决方案:验证您的 CLUSTER_ENDPOINTTOKEN.env 文件

问题:索引需要太长时间

  • 解决方案:对于大型代码库来说,这是正常的。索引只需要做一次。

问题:超过API费率限制

  • 解决方案:检查您的OpenAI/Anthropic API使用限制,并在必要时升级

问题:MCP工具没有响应

  • 解决方案:检查MCP服务器日志,确保所有依赖项都已正确安装

______________________________________________________________________

📚 资源

______________________________________________________________________

\**内置❤️ 使用RAG、MCP和Claude AI*

目录标签

目录标签

PythonClaude向量数据库代码检索本地部署代码修改RAGMCP自然语言查询

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP