使用说明
项目简介
mcp仓库维护了一系列Model Context Protocol (MCP) 服务器的实现,旨在帮助开发者快速构建和部署基于MCP协议的后端服务,以增强大型语言模型 (LLM) 应用的功能。 本仓库目前提供了一个语义搜索服务器示例,该服务器能够利用向量数据库和LLM技术,根据用户查询和上下文进行文档的语义搜索,并返回相关结果和摘要。
主要功能点
- 语义搜索: 基于用户查询和上下文,在预先索引的文档库中进行语义相似性搜索。
- 查询扩展: 利用LLM扩展用户查询,提高搜索覆盖率和准确性。
- 结果过滤: 使用LLM对搜索结果进行相关性过滤,确保返回结果的质量。
- 摘要生成: 利用LLM对搜索结果进行摘要生成,快速提炼关键信息。
- MCP协议支持: 完全兼容Model Context Protocol,可以通过标准的JSON-RPC接口与MCP客户端进行通信。
安装步骤
- 克隆 mcp 仓库到本地:
git clone https://github.com/catalystneuro/mcp.git cd mcp - 进入 'servers/semantic_search' 目录:
cd servers/semantic_search - 创建并激活 Python 虚拟环境:
python -m venv .venv source .venv/bin/activate # 或 .venv\Scripts\activate for Windows - 安装服务器依赖:
pip install -e .
服务器配置
要将语义搜索服务器配置到 MCP 客户端 (如 'cline'),您需要在客户端的配置文件 'cline_mcp_settings.json' 中添加以下配置信息。请注意,您需要根据实际情况配置环境变量,例如 'QDRANT_URL' 和 'QDRANT_COLLECTION_NAME',以及可选的 'QDRANT_API_KEY'。
{ "mcpServers": { "semantic_search": { "command": "/path/to/mcp/servers/semantic_search/.venv/bin/python", "args": [ "/path/to/mcp/servers/semantic_search/src/main.py" ], "env": { "QDRANT_URL": "http://localhost:6333", // Qdrant 数据库的 URL,默认为本地 "QDRANT_COLLECTION_NAME": "neuroconv", // Qdrant 中用于搜索的 Collection 名称,默认为 neuroconv "QDRANT_API_KEY": null, // (可选) Qdrant API Key,如果需要身份验证 "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY" // OpenAI API Key,用于LLM功能,**请替换为您的API Key** }, "disabled": false, "autoApprove": [] } } }
请根据您的实际 mcp 仓库路径,修改 'command' 和 'args' 字段中的路径。 'env' 字段中可以设置服务器运行所需的环境变量,例如 'QDRANT_URL' 和 'QDRANT_COLLECTION_NAME' 用于配置 Qdrant 数据库连接信息,'OPENAI_API_KEY' 用于配置 OpenAI API 密钥,务必替换 'YOUR_OPENAI_API_KEY' 为您自己的 OpenAI API 密钥。
基本使用方法
配置完成后,MCP 客户端可以通过调用 'semantic_search' 服务器提供的 'search_about_neuroconv' 工具来进行语义搜索。 例如,在 'cline' 客户端中,您可以这样调用:
# 假设您已经配置并连接了 MCP 服务器 response = client.call_tool( "semantic_search", # 服务器名称,与 cline_mcp_settings.json 中配置的 server name 一致 "search_about_neuroconv", # 工具名称 { "query": "What is NeuroConv?", "context": "Basic introduction" } ) print(response)
这将向 'semantic_search' 服务器发送一个调用 'search_about_neuroconv' 工具的请求,查询关于 NeuroConv 的信息,服务器将返回搜索结果。
请注意: 确保您已经安装并运行了 Qdrant 向量数据库,并且已经将需要搜索的文档索引到名为 'neuroconv' (或您配置的 'QDRANT_COLLECTION_NAME') 的 Collection 中。
信息
分类
AI与计算