使用说明

项目简介

mcp仓库维护了一系列Model Context Protocol (MCP) 服务器的实现,旨在帮助开发者快速构建和部署基于MCP协议的后端服务,以增强大型语言模型 (LLM) 应用的功能。 本仓库目前提供了一个语义搜索服务器示例,该服务器能够利用向量数据库和LLM技术,根据用户查询和上下文进行文档的语义搜索,并返回相关结果和摘要。

主要功能点

  • 语义搜索: 基于用户查询和上下文,在预先索引的文档库中进行语义相似性搜索。
  • 查询扩展: 利用LLM扩展用户查询,提高搜索覆盖率和准确性。
  • 结果过滤: 使用LLM对搜索结果进行相关性过滤,确保返回结果的质量。
  • 摘要生成: 利用LLM对搜索结果进行摘要生成,快速提炼关键信息。
  • MCP协议支持: 完全兼容Model Context Protocol,可以通过标准的JSON-RPC接口与MCP客户端进行通信。

安装步骤

  1. 克隆 mcp 仓库到本地:
    git clone https://github.com/catalystneuro/mcp.git
    cd mcp
  2. 进入 'servers/semantic_search' 目录:
    cd servers/semantic_search
  3. 创建并激活 Python 虚拟环境:
    python -m venv .venv
    source .venv/bin/activate  # 或 .venv\Scripts\activate for Windows
  4. 安装服务器依赖:
    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与计算