返回 MCP 目录
public公开dns本地运行

kb-mcp-server

基于txtai的MCP服务器实现,提供语义搜索、知识图谱和AI文本处理功能。

article

README

🚀 嵌入式服务器

MCP(Magic Content Processor)服务器借助txtai工具包,提供了一系列强大功能,涵盖知识库构建、内容检索以及问答系统。下面将为你介绍其核心特性和配置指南。

🚀 快速开始

📦 安装依赖

pip install txtai faiss-cpu

💻 初始化知识库

from txtai import AI
import os

# 初始化AI模型,默认使用本地设备
ai = AI()
os.environ["TOKENIZERS_PARALLELISM"] = "false"

# 加载或创建知识库(需根据具体需求调整参数)
knowledge_base = ai.build(
    path="/root/.txtai/embeddings",  # 知识库存储路径
    content_path="sqlite:///~/.txtai/content.db",  # 内容存储数据库路径
    embeddings={
        "path": "sentence-transformers/nli-mpnet-base-v2",
        "backend": "faiss",
        "gpu": False,
        "batch": 32,
        "normalize": True
    },
    scoring="hybrid",  # 混合搜索策略
    hybridalpha=0.75,  # 混合搜索的平衡系数
    graph={
        "backend": "sqlite",
        "path": "~/.txtai/graph.db",
        "similarity": 0.75,
        "limit": 10
    },
    extractor="distilbert-base-cased-distilled-squad"  # 提取模型
)

📚 知识库构建配置

YAML 配置示例

# 知识库存储路径及持久化设置
path: ~/.txtai/embeddings
writable: true

# 内容存储数据库配置
content:
  path: sqlite:///~/.txtai/content.db

# 嵌入模型参数
embeddings:
  # 模型选择与设备配置
  path: sentence-transformers/nli-mpnet-base-v2
  backend: faiss
  gpu: false  # 根据硬件情况调整是否使用GPU加速
  batch: 32    # 批处理大小,影响性能和内存占用
  normalize: true  # 是否对嵌入向量进行归一化处理

  # 搜索策略配置
  scoring: hybrid  # 支持混合(文本+语义)搜索模式
  hybridalpha: 0.75  # 混合权重,值越大越依赖语义相似度

# 管理进程参数
pipeline:
  workers: 2   # 并发处理线程数
  queue: 100   # 请求队列大小
  timeout: 300  # 处理超时时间(秒)

# 提取模型配置
extractor:
  path: distilbert-base-cased-distilled-squad
  maxlength: 512  # 最大上下文长度限制
  minscore: 0.3   # 最小匹配分数阈值

# 知识图谱构建参数
graph:
  backend: sqlite  # 使用SQLite存储图数据
  path: ~/.txtai/graph.db
  similarity: 0.75  # 图节点间连接相似度阈值
  limit: 10   # 每个节点的最大连接数

🔨 知识库构建流程

步骤一:安装必要的软件包

pip install txtai faiss-cpu transformers

步骤二:选择合适的配置文件

根据具体需求,从以下示例中选择或自定义YAML配置:

  • memory.yml:内存模式(适合快速测试)
  • sqlite-faiss.yml:使用SQLite和FAISS进行持久化存储
  • postgres-pgvector.yml:集成PostgreSQL和pg_vector扩展

步骤三:执行构建命令

txtai build --config config.yml

🔍 系统架构概览

MCP服务器采用模块化设计,主要组件如下:

  1. 知识库管理器:负责内容的存储、索引和检索。
  2. 嵌入式模型:用于将文本转化为向量表示,支持多种预训练模型。
  3. 问答系统:基于嵌入技术和规则引擎提供智能回答。
  4. 扩展机制:允许通过插件形式添加新的处理模块。

⚙️ 系统性能调优

💡 参数调整建议

  • 内存使用:根据服务器资源调整batch大小和workers数量,以平衡内存占用与处理效率。
  • 搜索策略:根据具体需求选择合适的scoring方法,并优化hybridalpha值以达到最佳检索效果。
  • 硬件加速:如果具备GPU资源,建议启用gpu参数以获得更快的嵌入计算速度。

📈 日志监控

通过集成日志系统(如ELK)实时监控服务器运行状态和性能指标,及时发现和解决问题。

🛠️ 扩展与维护

插件开发

开发者可以按照文档定义接口,创建自定义插件来扩展MCP的功能。现有插件示例包括文本清洗、格式转换等。

定期更新

建议定期检查txtai库的更新,并根据新版本调整配置和代码,以保持系统的高效性和安全性。

📖 教程与支持

学习资源

  • 官方文档:详细介绍了MCP服务器的各项功能和使用方法。
  • 社区论坛:提供用户交流和技术支持的平台。

问题反馈

如遇任何问题,可通过Issues页面提交bug报告或在社区寻求帮助。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端