kb-mcp-server 使用说明

项目简介

kb-mcp-server 是一个基于 txtai 构建的 MCP 服务器实现,它利用 txtai 强大的嵌入数据库功能,为大型语言模型(LLM)客户端提供语义搜索、知识图谱和AI文本处理能力。该服务器遵循模型上下文协议(MCP),通过标准化的 JSON-RPC 接口与客户端通信,旨在简化 LLM 应用的上下文管理和功能扩展。

主要功能点

  • 语义搜索: 基于文本含义而非关键词进行高效的信息检索。
  • 知识图谱: 支持知识图谱的构建和查询,挖掘数据间的深层关联。
  • 文本处理管道: 提供文本摘要、抽取等多种AI文本处理功能。
  • 资源管理: 作为 MCP 服务器,托管和管理基于 txtai 构建的知识库资源。
  • 工具注册与执行: 支持注册和执行工具,例如 'semantic_search'、'answer_question' 和 'retrieve_context',允许 LLM 客户端调用这些功能。
  • Prompt 模板: 虽然文档中没有明确提及 Prompt 模板,但作为 MCP 服务器,理论上具备支持 Prompt 模板的能力,以定制 LLM 交互模式 (仓库文档未明确提及prompt功能,此处根据MCP定义推断,实际功能需代码分析确认)。
  • 标准化接口: 完全兼容模型上下文协议,通过 JSON-RPC 协议与客户端进行通信。
  • 多种传输协议: 支持 Stdio 和 SSE 传输协议,满足不同应用场景的需求。

安装步骤

kb-mcp-server 支持多种安装方式,推荐使用 pip 从 PyPI 安装,或者从源代码安装。

方法一:使用 pip 安装 (推荐)

  1. 确保已安装 Python 3.10 或更高版本。建议使用 conda 或 virtualenv 创建虚拟环境。
  2. 激活虚拟环境(如果使用)。
  3. 运行以下命令安装 kb-mcp-server:
    pip install kb-mcp-server

方法二:从源代码安装

  1. 确保已安装 Python 3.10 或更高版本,并创建和激活虚拟环境(如果需要)。
  2. 克隆 kb-mcp-server 仓库到本地:
    git clone https://github.com/Geeksfino/kb-mcp-server.git
    cd kb-mcp-server
  3. 安装项目依赖和 kb-mcp-server:
    pip install -e .

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令 (command) 及其参数 (args) 才能建立连接。以下是一个 'mcp_config.json' 示例,用于配置 kb-mcp-server。请根据实际情况修改 'command' 和 'args' 中的路径。

示例 'mcp_config.json' 配置 (使用 pip 安装的版本)

{
  "mcpServers": {
    "kb-server": {
      "command": "kb-mcp-server",
      "args": [
        "--embeddings",
        "/path/to/knowledge_base.tar.gz"  // 知识库路径,可以是文件夹或压缩包
      ],
      "cwd": "/path/to/working/directory" // 工作目录,可选
    }
  }
}

参数说明:

  • 'command': 启动 MCP 服务器的命令。如果使用 pip 安装,可以直接使用 'kb-mcp-server'。如果从源代码启动,可能需要指定 Python 解释器路径和模块名,例如 '"command": "python3"', '"args": ["-m", "txtai_mcp_server", "--embeddings", "/path/to/knowledge_base.tar.gz"]'。
  • 'args': 传递给服务器启动命令的参数,以列表形式提供。
    • '--embeddings': 必需参数,指定知识库的路径。可以是预先构建好的知识库文件夹路径,也可以是导出的 '.tar.gz' 压缩包路径。
  • 'cwd': 可选参数,指定服务器进程的工作目录。

注意:

  • 请将 '/path/to/knowledge_base.tar.gz' 替换为实际的知识库路径。
  • MCP 客户端 (如 Claude) 需要读取 'mcp_config.json' 文件以连接到 MCP 服务器。请将此配置文件放置在客户端可以访问的位置,并按照客户端的文档指示进行配置。

基本使用方法

  1. 构建知识库 (可选)

    • 可以使用仓库提供的 'kb_builder' 工具构建知识库,或者使用 txtai 的 Python API 自行构建。
    • 使用 'kb_builder' 工具构建知识库的命令示例:
      kb-build --input /path/to/documents --config config.yml --export my_knowledge_base.tar.gz
    • 'config.yml' 是 txtai 的配置文件,用于定义知识库构建的细节,例如分词、embedding 模型等。仓库的 'src/kb_builder/configs' 目录下提供了一些配置模板。
  2. 启动 MCP 服务器

    • 使用以下命令启动 kb-mcp-server,并指定知识库路径:
      kb-mcp-server --embeddings /path/to/knowledge_base.tar.gz
    • 或者使用 uvx 启动 (无需安装):
    uvx [email protected] --embeddings /path/to/knowledge_base.tar.gz
    • 服务器默认监听 'stdio' 传输协议。如果需要使用 SSE 协议,请参考仓库文档进行配置。
  3. 配置 MCP 客户端

    • 根据 MCP 客户端 (如 Claude) 的文档,配置客户端以连接到 kb-mcp-server。
    • 通常需要提供 'mcp_config.json' 文件的路径给客户端,客户端会读取该文件中的服务器配置信息。
  4. 使用 LLM 客户端与 MCP 服务器交互

    • 在 LLM 客户端中,可以利用 MCP 协议提供的工具 (例如 'semantic_search', 'answer_question', 'retrieve_context') 与 kb-mcp-server 交互,进行语义搜索、问答等操作,从而增强 LLM 的上下文理解和知识获取能力。
    • 具体的交互方式取决于 LLM 客户端的功能和界面。

通过以上步骤,即可搭建并使用 kb-mcp-server 为 LLM 客户端提供强大的知识库和上下文服务。

信息

分类

AI与计算