项目简介
该项目是一个基于 Model Context Protocol (MCP) 的服务器实现,专门用于代码片段的管理。它集成了 Qdrant 向量数据库,能够高效地存储和检索代码片段,并支持基于自然语言的语义搜索,帮助开发者快速找到所需代码。服务器使用 Server-Sent Events (SSE) 协议与客户端通信。
主要功能点
- 代码片段存储与管理:允许用户存储和组织代码片段,方便代码复用和知识管理。
- 自然语言代码搜索:支持使用自然语言查询代码,降低搜索门槛。
- 语义搜索:利用向量数据库的语义搜索能力,根据代码含义查找相关代码片段,提高搜索准确率。
- MCP 协议支持:遵循 MCP 协议,提供标准的上下文服务接口,易于与支持 MCP 协议的客户端集成。
- 工具集成:内置 'qdrant-store' 和 'qdrant-find' 工具,分别用于存储和检索代码片段。
安装步骤
- 安装 Docker 和 Docker Compose:确保你的系统已安装 Docker 和 Docker Compose。
- 克隆仓库:
git clone https://github.com/ChangJunPark/mcp-qdrant-server-with-qdrant-db cd mcp-qdrant-server-with-qdrant-db - 启动服务:
docker-compose up -d - 查看服务状态 (可选):
确认 qdrant 和 mcp-server 服务都已正常运行。docker-compose ps
服务器配置
对于 MCP 客户端,你需要配置服务器连接信息。以下是一个 JSON 格式的配置示例,客户端需要能够识别并使用 "qdrant" 这个服务器名称,并通过提供的 URL 与 MCP 服务器建立连接。
{ "servers": [ { "server_name": "qdrant", "url": "http://localhost:8000/sse" } ] }
配置参数说明:
- 'server_name': 服务器名称,客户端使用此名称来引用该服务器,例如 "qdrant"。
- 'url': MCP 服务器的 SSE 接口地址,客户端通过此 URL 与服务器建立连接。在本例中,服务器运行在本地的 8000 端口,并使用 SSE 协议。
基本使用方法
- 连接 MCP 客户端:在支持 MCP 协议的客户端(如 Cursor 等 AI IDE)中,配置上述服务器连接信息。
- 使用 'qdrant-store' 工具存储代码片段:客户端可以通过调用 'qdrant-store' 工具,并提供 'information' (代码片段内容) 和可选的 'metadata' (元数据) 来存储代码片段。
- 使用 'qdrant-find' 工具检索代码片段:客户端可以通过调用 'qdrant-find' 工具,并提供 'query' (查询语句) 来检索相关的代码片段。服务器将返回与查询相关的代码片段。
示例场景:
假设你需要在 Cursor 编辑器中使用代码片段管理功能:
- 在 Cursor 的 MCP 服务器配置中,添加上述 JSON 配置。
- 在 Cursor 中,你可以使用集成的 MCP 功能,例如通过自然语言描述你的需求 "存储一段用于快速排序的 Python 代码" 或 "查找关于深度学习模型优化的代码片段"。
- Cursor 会调用 'qdrant-store' 工具将代码片段存储到 Qdrant 数据库,或调用 'qdrant-find' 工具检索相关代码片段并返回结果。
信息
分类
开发者工具