Knowledge Base Mcp Server

Knowledge Base Mcp Server

🚀 知识库 MCP 服务器

本 MCP 服务器提供实用工具,可用于列出并检索不同知识库中的内容,为知识管理和查询提供便利。

🚀 快速开始

此 MCP 服务器能帮助您高效管理和检索知识库内容。使用前,请确保已完成安装和配置。

✨ 主要特性

  • 提供知识库管理工具,可创建和更新知识库。
  • 具备检索工具,能从知识库中检索信息。
  • 支持多参数设置,如指定知识库、控制结果数量和相似度阈值。
  • 输出结果为 Markdown 格式,包含相关段落内容、源文件路径等信息。

📦 安装指南

这些说明假设您已经在系统中安装了 Node.js 和 npm。

先决条件

  • Node.js(版本 16 或更高)
  • npm(Node 包管理器)

安装步骤

  1. 克隆仓库
    git clone 
    cd knowledge-base-mcp-server
    
  2. 安装依赖项
    npm install
    
  3. 配置环境变量
    • 服务器需要设置 HUGGINGFACE_API_KEY 环境变量,这是用于生成知识库内容嵌入的 Hugging Face 推理 API 密钥。您可以在 Hugging Face 网站 (https://huggingface.co/) 上免费获取一个 API 密钥。
    • 服务器需要设置 KNOWLEDGE_BASES_ROOT_DIR 环境变量,此变量指定知识库子目录所在的目录。如果您未设置此变量,它将默认为 $HOME/knowledge_bases,其中 $HOME 是当前用户的主目录。
    • 服务器支持 FAISS_INDEX_PATH 环境变量来指定 FAISS 索引的路径。如果未设置,默认值为 $HOME/knowledge_bases/.faiss
    • 服务器支持 HUGGINGFACE_MODEL_NAME 环境变量来指定用于生成嵌入的 Hugging Face 模型。如果未设置,默认值为 "sentence-transformers/all-mpnet-base-v2"
    • 请将以下环境变量添加到您的 shell 配置文件(如 .bashrc.zshrc)中:
      export HUGGINGFACE_API_KEY="your_api_key"
      export KNOWLEDGE_BASES_ROOT_DIR="/path/to/knowledge_bases"
      export FAISS_INDEX_PATH="/path/to/faiss_index"
      
  4. 运行服务器
    npm run dev
    

💻 使用示例

基础用法

知识库管理工具 (manage_knowledge_base)

此工具用于创建和更新知识库。您可以通过以下命令与它交互:

npm run manage-knowledge-base
  • 创建新知识库
node manage_knowledge_base.js create 
  • 更新现有知识库
node manage_knowledge_base.js update  --add  [--recursive]

检索工具 (retrieve_knowledge)

此工具用于从知识库中检索信息。您可以通过以下命令与它交互:

npm run retrieve-knowledge
  • 搜索所有知识库
node retrieve_knowledge.js search "您的查询问题"
  • 指定特定知识库
node retrieve_knowledge.js search --knowledge_base  "您的查询问题"
  • 设置结果数量和阈值
node retrieve_knowledge.js search --top_n 5 --threshold 1.5 "您的查询问题"

高级用法

输出格式

检索工具的输出为 Markdown 格式的字符串,结构如下:

## 同义词搜索结果

**结果 1:**

[最相关的段落内容]

**来源:**
```json
{
"source": "[包含该段落的文件路径]"
}

结果 2:

[第二相关段落内容]

来源:

{
"source": "[包含该段落的文件路径]"
}

免责声明: 提供的结果可能并非全部都相关。请交叉验证信息的相关性。

每个结果包括最相关的段落内容、源文件路径和相似度分数。

## 📚 详细文档
### 知识库管理工具 (`manage_knowledge_base`)
#### 创建新知识库
```bash
node manage_knowledge_base.js create 

此命令将在 $KNOWLEDGE_BASES_ROOT_DIR 目录下创建一个名为 的新知识库目录,并初始化必要的配置文件。

更新现有知识库

node manage_knowledge_base.js update  --add  [--recursive]

此命令允许您将文件添加到指定的知识库中。如果启用 --recursive 标志,它将在给定路径及其子目录中递归查找所有文件。

检索工具 (retrieve_knowledge)

基本检索

node retrieve_knowledge.js search "您的查询问题"

此命令将搜索所有注册的知识库,并返回与查询最相关的段落。

指定知识库

node retrieve_knowledge.js search --knowledge_base  "您的查询问题"

此命令允许您指定要搜索的特定知识库。

控制结果数量和相似度阈值

node retrieve_knowledge.js search --top_n 5 --threshold 1.5 "您的查询问题"

通过 --top_n 参数,您可以控制返回的最大结果数量。通过 --threshold 参数,您可以设置相似度分数的最低阈值。

后台运行

要以后台服务的形式运行服务器,请参考项目中的服务启动脚本和配置文件。

🔧 技术细节

项目结构

knowledge-base-mcp-server/
├── package.json           # 项目的 npm 包配置
├── src/                  # 源代码目录
│   ├── manage_knowledge_base.js  # 知识库管理工具
│   └── retrieve_knowledge.js     # 检索工具
└── README.md             # 项目说明文档

依赖项

{
"dependencies": {
"@sentence-transformers/all-mpnet-base-v2": "^1.14.0",
"faiss-js": "^0.5.3",
"fs-extra": "^9.1.0",
"node-yaml": "^5.1.0"
}
}

📄 许可证

贡献者

  • [您的姓名或 GitHub 用户名]

致谢

感谢您对本项目的贡献!

  • 0 关注
  • 0 收藏,9 浏览
  • system 提出于 2025-09-20 09:54

相似服务问题

相关AI产品