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 安装 (推荐)
- 确保已安装 Python 3.10 或更高版本。建议使用 conda 或 virtualenv 创建虚拟环境。
- 激活虚拟环境(如果使用)。
- 运行以下命令安装 kb-mcp-server:
pip install kb-mcp-server
方法二:从源代码安装
- 确保已安装 Python 3.10 或更高版本,并创建和激活虚拟环境(如果需要)。
- 克隆 kb-mcp-server 仓库到本地:
git clone https://github.com/Geeksfino/kb-mcp-server.git cd kb-mcp-server - 安装项目依赖和 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 服务器。请将此配置文件放置在客户端可以访问的位置,并按照客户端的文档指示进行配置。
基本使用方法
-
构建知识库 (可选):
- 可以使用仓库提供的 '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' 目录下提供了一些配置模板。
-
启动 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 协议,请参考仓库文档进行配置。
- 使用以下命令启动 kb-mcp-server,并指定知识库路径:
-
配置 MCP 客户端:
- 根据 MCP 客户端 (如 Claude) 的文档,配置客户端以连接到 kb-mcp-server。
- 通常需要提供 'mcp_config.json' 文件的路径给客户端,客户端会读取该文件中的服务器配置信息。
-
使用 LLM 客户端与 MCP 服务器交互:
- 在 LLM 客户端中,可以利用 MCP 协议提供的工具 (例如 'semantic_search', 'answer_question', 'retrieve_context') 与 kb-mcp-server 交互,进行语义搜索、问答等操作,从而增强 LLM 的上下文理解和知识获取能力。
- 具体的交互方式取决于 LLM 客户端的功能和界面。
通过以上步骤,即可搭建并使用 kb-mcp-server 为 LLM 客户端提供强大的知识库和上下文服务。
信息
分类
AI与计算