项目简介

RagCode MCP是一款基于Model Context Protocol (MCP) 的本地AI服务器,旨在增强GitHub Copilot、Cursor、Claude等AI助手对您代码库的理解能力。它通过在本地运行大型语言模型和向量数据库,实现代码的语义搜索、智能导航和上下文检索,确保您的专有代码始终保持私密,不上传至云端。RagCode提供9项强大的工具,让AI能够快速准确地访问和理解代码,显著提升开发效率。

主要功能点

  • 语义代码搜索: 依据代码的含义而非关键词进行智能搜索,快速定位相关代码片段。
  • 混合搜索: 结合语义搜索与关键词搜索,提供更精准的查找结果。
  • 获取函数详情: 立即获取函数、方法或类型定义(包括签名、参数、返回值和代码体)。
  • 查找类型定义: 快速定位类、结构体、接口等类型定义及其成员。
  • 查找实现/引用: 发现特定符号(如函数、接口)的所有使用或实现之处。
  • 列出包导出符号: 浏览任何包或模块导出的所有函数、类型和常量。
  • 搜索项目文档: 在项目Markdown文档中进行语义搜索,获取相关信息。
  • 获取代码上下文: 读取指定文件特定行范围的代码,并包含上下文行。
  • 工作区自动索引: 自动检测您的项目工作区,并在后台增量索引代码,无需手动干预。
  • 隐私优先: 所有AI模型和数据均在本地运行,您的代码永不离开本地机器。
  • 多语言支持: 目前支持Go、PHP (Laravel)、Python (即将推出) 和 JavaScript/TypeScript (计划中)。
  • 多工作区支持: 可同时管理和索引多个项目。

安装步骤

RagCode MCP的安装非常简单,只需一条命令即可完成:

  1. 安装Docker Desktop: 如果您尚未安装Docker,请先访问 Docker官网 下载并安装Docker Desktop,确保其正在运行。RagCode使用Docker来运行Qdrant向量数据库和可选的Ollama模型。
  2. 运行一键安装器: 根据您的操作系统选择并执行以下命令:
    • Linux (amd64):
      curl -fsSL https://github.com/doITmagic/rag-code-mcp/releases/latest/download/rag-code-mcp_linux_amd64.tar.gz | tar xz && ./ragcode-installer -ollama=docker -qdrant=docker
    • macOS (Apple Silicon):
      curl -fsSL https://github.com/doITmagic/rag-code-mcp/releases/latest/download/rag-code-mcp_darwin_arm64.tar.gz | tar xz && ./ragcode-installer -ollama=docker -qdrant=docker
    • macOS (Intel):
      curl -fsSL https://github.com/doITmagic/rag-code-mcp/releases/latest/download/rag-code-mcp_darwin_amd64.tar.gz | tar xz && ./ragcode-installer -ollama=docker -qdrant=docker
    • Windows (PowerShell):
      Invoke-WebRequest -Uri "https://github.com/doITmagic/rag-code-mcp/releases/latest/download/rag-code-mcp_windows_amd64.zip" -OutFile "ragcode.zip"
      Expand-Archive ragcode.zip -DestinationPath . -Force
      .\ragcode-installer.exe -ollama=docker -qdrant=docker
    安装器将自动下载并安装RagCode二进制文件、设置Ollama和Qdrant服务(默认通过Docker运行)、下载所需的AI模型,并为您的IDE(如VS Code)进行配置。

服务器配置

RagCode MCP服务器安装后通常不需要手动配置。它会自动检测您的项目并开始工作。 对于MCP客户端(如VS Code的GitHub Copilot),您可能需要在其MCP服务器配置中添加RagCode服务器信息。以下是通用配置示例:

// 文件路径示例 (取决于您的操作系统和IDE):
// Linux: ~/.config/Code/User/globalStorage/mcp-servers.json
// Windows: %APPDATA%\Code\User\globalStorage\mcp-servers.json
// macOS: ~/Library/Application Support/Code/User/globalStorage/mcp-servers.json
{
  "mcpServers": {
    "ragcode": {
      // 指定RagCode MCP服务器的可执行文件路径。
      // 示例: "/home/YOUR_USERNAME/.local/share/ragcode/bin/rag-code-mcp"
      // 请将YOUR_USERNAME替换为您的实际系统用户名。
      "command": "PATH_TO_RAGCODE_BINARY", 
      "args": [], // 启动参数,通常为空
      "env": {
        // Ollama服务器的基础URL,用于本地LLM和嵌入模型。默认已配置。
        "OLLAMA_BASE_URL": "http://localhost:11434",
        // 用于代码分析的LLM模型。默认已配置为phi3:medium。
        "OLLAMA_MODEL": "phi3:medium",
        // 用于生成嵌入向量的模型。默认已配置为nomic-embed-text。
        "OLLAMA_EMBED": "nomic-embed-text",
        // Qdrant向量数据库的URL。默认已配置。
        "QDRANT_URL": "http://localhost:6333"
      }
    }
  }
}

请注意:'PATH_TO_RAGCODE_BINARY' 通常是 '~/.local/share/ragcode/bin/rag-code-mcp' (Linux/macOS)或 'C:\Users\YOUR_USERNAME.local\share\ragcode\bin\rag-code-mcp.exe' (Windows),具体路径在安装后会提示。

基本使用方法

  1. 打开项目: 在您支持MCP的IDE(如VS Code)中打开一个代码项目。
  2. 向AI助手提问: 直接向您的AI助手(如GitHub Copilot Chat)提问关于代码的问题,例如:"这段代码的认证逻辑是如何工作的?" 或 "查找所有处理用户数据的函数。"
  3. 自动工作: RagCode MCP会在后台自动检测您的工作区,创建索引(首次查询可能需要一些时间,之后会立即响应),并由AI助手调用相应的工具来回答您的问题。文件更改也会被自动检测并增量重新索引。

信息

分类

开发者工具