代码片段存储检索系统

一个基于Qdrant向量数据库和MCP服务器的系统,用于存储和检索代码片段,支持自然语言和语义搜索。

  • by ChangJunPark
  • Shell
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 changjunpark/mcp-qdrant-server-with-qdrant-db

使用说明

带Qdrant的MCP服务器

该项目是一个集成Qdrant矢量数据库和模型控制协议(MCP)服务器的系统,可以存储和检索代码段。

功能

  • 保存和管理代码段
  • 基于自然语言的代码搜索
  • 通过语义搜索查询相关代码
  • 支持服务器-发送事件(SSE)传输方式

系统配置

  • Qdrant:矢量数据库服务器(端口:6333,6334)
  • MCP服务器:代码段管理服务器(端口:8000)
  • 嵌入模型:(默认)句子转换/全MiniLM-L6-v2

MCP工具

QDRANT MCP服务器提供了以下工具:

1.qdrant商店

  • 功能:在Qdrant数据库中存储信息
  • 输入:
    • information (string):要保存的信息
    • metadata (JSON:可选元数据
  • 返还:保存确认消息

2.qdrant查找

  • 功能:在Qdrant数据库中搜索相关信息
  • 输入:
    • query (string):用于搜索的查询
  • 返还:将Qdrant数据库中存储的信息作为单个消息返回

开始

必备条件

  • 码头工人
  • Docker Compose

安装和运行

1.存储库克隆

git clone <repository-url>
cd <repository-name>

2.启动服务

docker-compose up -d

3.检查服务状态

docker-compose ps

服务访问

  • Qdrant用户界面:http://localhost:6333/dashboard
  • MCP服务器:http://localhost:8000
  • 在cursor等ai ide中设置时,可以以以下json格式添加
    "qdrant": {
      "url": "http://localhost:8000/sse"
    },

环境变量

Qdrant

  • RUST_LOG:日志记录级别(默认:info)

MCP服务器

  • QDRANT_URL:Qdrant服务器地址
  • COLLECTION_NAME:集合名称
  • EMBEDDING_MODEL:嵌入模型
  • TOOL_STORE_DESCRIPTION:保存工具提示
  • TOOL_FIND_DESCRIPTION:搜索工具说明

存储数据

数据 ./qdrant_storage 永久保存在目录中。

服务管理

检查日志

docker-compose logs -f

停止服务

docker-compose down

注意事项

  • 备份数据 qdrant_storage 定期备份目录。
  • 在生产环境中添加适当的安全设置。