代码库语义搜索服务

该服务提供基于嵌入技术的代码库语义搜索和文件检索功能,支持代码片段搜索、文件列表查看和文件内容获取。

  • by allentcm
  • Python
  • 本地部署
  • 14 星标
  • 更新于
在 GitHub 查看 allentcm/mcp-codebase-rag

使用说明

代码库RAG MCP服务器

此MCP服务器使用嵌入和PostgreSQL数据库提供语义代码库搜索和文件检索。它公开了用于搜索代码、列出文件和检索文件内容的工具。

特性

  • 语义代码搜索:使用Voyage嵌入模型将查询转换为向量,并按相似性搜索代码片段。
  • 文件列表:列出代码库中所有跟踪的文件。
  • 文件内容检索:按文件名获取文件的全部内容。

工具

  • 搜索_降级

    • 返回与查询相关的代码片段。
    • 输入:
      • query (string):搜索词
  • 获取文件

    • 列出代码库中的所有文件。
  • 获取_文件_内容

    • 返回指定文件的内容。
    • 输入:
      • filename (string):文件名

配置

获取旅程API密钥

  1. 注册一个 Voyage API帐户
  2. 从仪表板生成API密钥

环境变量

  • DATABASE_URL:PostgreSQL连接字符串。
  • VOYAGE_API_KEY:用于嵌入模型的API密钥。
  • EMBEDDING_TABLE:代码嵌入的表名。
  • TRACKING_TABLE:文件跟踪的表名。

码头工人

{
  "mcpServers": {
    "codebase-rag": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "DATABASE_URL",
        "-e",
        "VOYAGE_API_KEY",
        "-e",
        "EMBEDDING_TABLE",
        "-e",
        "TRACKING_TABLE",
        "-p",
        "8080:8080",
        "allentcm/mcp-codebase-rag:1.0.0"
      ],
      "env": {
        "DATABASE_URL": "postgres://cocoindex:cocoindex@localhost/cocoindex",
        "VOYAGE_API_KEY": "voyage_api_key",
        "EMBEDDING_TABLE": "codebase__code_embeddings",
        "TRACKING_TABLE": "codebase__cocoindex_tracking"
      }
    }
  }
}

许可证

此MCP服务器根据MIT许可证获得许可。您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。