项目简介

该项目是一个基于 Model Context Protocol (MCP) 的服务器实现,专门用于代码片段的管理。它集成了 Qdrant 向量数据库,能够高效地存储和检索代码片段,并支持基于自然语言的语义搜索,帮助开发者快速找到所需代码。服务器使用 Server-Sent Events (SSE) 协议与客户端通信。

主要功能点

  • 代码片段存储与管理:允许用户存储和组织代码片段,方便代码复用和知识管理。
  • 自然语言代码搜索:支持使用自然语言查询代码,降低搜索门槛。
  • 语义搜索:利用向量数据库的语义搜索能力,根据代码含义查找相关代码片段,提高搜索准确率。
  • MCP 协议支持:遵循 MCP 协议,提供标准的上下文服务接口,易于与支持 MCP 协议的客户端集成。
  • 工具集成:内置 'qdrant-store' 和 'qdrant-find' 工具,分别用于存储和检索代码片段。

安装步骤

  1. 安装 Docker 和 Docker Compose:确保你的系统已安装 Docker 和 Docker Compose。
  2. 克隆仓库
    git clone https://github.com/ChangJunPark/mcp-qdrant-server-with-qdrant-db
    cd mcp-qdrant-server-with-qdrant-db
  3. 启动服务
    docker-compose up -d
  4. 查看服务状态 (可选):
    docker-compose ps
    确认 qdrant 和 mcp-server 服务都已正常运行。

服务器配置

对于 MCP 客户端,你需要配置服务器连接信息。以下是一个 JSON 格式的配置示例,客户端需要能够识别并使用 "qdrant" 这个服务器名称,并通过提供的 URL 与 MCP 服务器建立连接。

{
  "servers": [
    {
      "server_name": "qdrant",
      "url": "http://localhost:8000/sse"
    }
  ]
}

配置参数说明:

  • 'server_name': 服务器名称,客户端使用此名称来引用该服务器,例如 "qdrant"。
  • 'url': MCP 服务器的 SSE 接口地址,客户端通过此 URL 与服务器建立连接。在本例中,服务器运行在本地的 8000 端口,并使用 SSE 协议。

基本使用方法

  1. 连接 MCP 客户端:在支持 MCP 协议的客户端(如 Cursor 等 AI IDE)中,配置上述服务器连接信息。
  2. 使用 'qdrant-store' 工具存储代码片段:客户端可以通过调用 'qdrant-store' 工具,并提供 'information' (代码片段内容) 和可选的 'metadata' (元数据) 来存储代码片段。
  3. 使用 'qdrant-find' 工具检索代码片段:客户端可以通过调用 'qdrant-find' 工具,并提供 'query' (查询语句) 来检索相关的代码片段。服务器将返回与查询相关的代码片段。

示例场景:

假设你需要在 Cursor 编辑器中使用代码片段管理功能:

  1. 在 Cursor 的 MCP 服务器配置中,添加上述 JSON 配置。
  2. 在 Cursor 中,你可以使用集成的 MCP 功能,例如通过自然语言描述你的需求 "存储一段用于快速排序的 Python 代码" 或 "查找关于深度学习模型优化的代码片段"。
  3. Cursor 会调用 'qdrant-store' 工具将代码片段存储到 Qdrant 数据库,或调用 'qdrant-find' 工具检索相关代码片段并返回结果。

信息

分类

开发者工具