使用说明

项目简介

Weaviate MCP Server 是一个 MCP (Model Context Protocol) 服务器的实现,旨在为大型语言模型 (LLM) 客户端提供结构化的上下文信息服务。它集成了 Weaviate 向量数据库,允许 LLM 客户端通过标准化的 MCP 协议,利用 Weaviate 的能力进行知识库检索和记忆管理。该服务器主要提供工具 (Tools) 功能,使 LLM 能够调用预定义的功能来与 Weaviate 数据库交互,从而扩展 LLM 的能力边界。

主要功能点

  • 知识库搜索: LLM 可以使用 'weaviate-search-knowledge' 工具在预先配置的 Weaviate 知识库中检索相关信息,获取外部知识。
  • 记忆存储与检索: LLM 可以使用 'weaviate-store-memory' 工具存储对话过程中的重要信息作为记忆,并使用 'weaviate-find-memories' 工具检索这些记忆,实现上下文记忆功能。
  • 工具化接口: 通过 MCP 协议提供的工具 (Tools) 机制,以标准化的方式暴露 Weaviate 的功能,方便 LLM 客户端集成和调用。
  • 易于配置: 通过命令行参数和环境变量进行配置,方便用户根据自身 Weaviate 环境进行部署。

安装步骤

  1. 前提条件: 确保已安装 uv
  2. 克隆仓库:
    git clone https://github.com/weaviate/mcp-server-weaviate
    cd mcp-server-weaviate
  3. 安装依赖: 建议使用 'uv' 安装依赖,虽然仓库中没有 'requirements.txt' 文件,但根据代码依赖,您可能需要安装 'mcp-server-sdk', 'weaviate-client', 'click' 等库。可以尝试使用 'uv pip install mcp-server-sdk weaviate-client click' 命令安装,或根据错误提示安装缺少的库。 也可以参考仓库 README 中提到的 Smithery 安装方式。

服务器配置

MCP 服务器需要配置在 MCP 客户端中才能使用。以 Claude Desktop 为例,您需要在 'claude_desktop_config.json' 文件中添加服务器配置信息。以下是一个配置示例,请根据您的实际情况修改参数值:

{
  "mcpServers": {
    "weaviate-mcp": {  //  服务器名称,在客户端中用于标识和选择
      "command": "python",  //  启动服务器的命令,假设使用 Python 运行 server.py
      "args": [  //  启动命令的参数列表
        "-m",
        "src.server",  //  运行 src 目录下的 server.py 模块
        "--weaviate-url",
        "YOUR_WEAVIATE_URL",  //  您的 Weaviate 服务器 URL,例如:http://localhost:8080
        "--weaviate-api-key",
        "YOUR_WEAVIATE_API_KEY",  //  您的 Weaviate API 密钥
        "--search-collection-name",
        "YOUR_SEARCH_COLLECTION_NAME",  //  用于知识库搜索的 Weaviate 集合名称,例如:knowledge_base
        "--store-collection-name",
        "YOUR_STORE_COLLECTION_NAME",  //  用于记忆存储的 Weaviate 集合名称,例如:user_memories
        "--openai-api-key",
        "YOUR_OPENAI_API_KEY"  //  OpenAI API 密钥 (用于向量化,如果使用 OpenAI 向量化)
      ],
      "env": {
        "PYTHONPATH": "PATH_TO_MCP_SERVER_WEAVIATE_DIRECTORY"  //  指向仓库根目录的路径,确保 Python 可以找到 src 模块
      }
    }
  }
}

配置参数说明:

  • '"weaviate-mcp"': 服务器的名称,可以自定义,客户端会使用此名称来引用该服务器。
  • '"command": "python"': 指定用于启动服务器的命令,这里假设您使用 Python 运行 'src/server.py'。
  • '"args"': 启动命令的参数列表,包括:
    • '"-m", "src.server"': 以模块方式运行 'src/server.py' 文件。
    • '--weaviate-url': Weaviate 服务器的 URL。
    • '--weaviate-api-key': 用于连接 Weaviate 服务器的 API 密钥。
    • '--search-collection-name': 用于知识库搜索的 Weaviate 集合名称。
    • '--store-collection-name': 用于记忆存储的 Weaviate 集合名称。
    • '--openai-api-key': OpenAI API 密钥,用于文本向量化 (embeddings)。如果使用 Cohere 进行向量化,请使用 '--cohere-api-key' 参数。
  • '"env"': 环境变量设置。
    • '"PYTHONPATH"': 需要设置为仓库的根目录,确保 Python 可以找到 'src' 目录下的模块。'PATH_TO_MCP_SERVER_WEAVIATE_DIRECTORY' 需要替换为实际的仓库路径。

请务必将示例配置中的占位符 (例如 'YOUR_WEAVIATE_URL', 'YOUR_WEAVIATE_API_KEY' 等) 替换为您的实际配置信息。

基本使用方法

配置完成后,在支持 MCP 协议的 LLM 客户端中选择您配置的服务器名称 ("weaviate-mcp" 或您自定义的名称)。客户端将可以通过以下工具与 Weaviate MCP Server 交互:

  • 'weaviate-store-memory': 用于指示 LLM 存储信息到 Weaviate 记忆库。
  • 'weaviate-find-memories': 用于指示 LLM 从 Weaviate 记忆库中检索相关记忆。
  • 'weaviate-search-knowledge': 用于指示 LLM 在 Weaviate 知识库中搜索信息。

具体工具的调用和使用方式取决于 LLM 客户端的实现和用户交互方式。

信息

分类

数据库与文件