本 MCP 服务器提供实用工具,可用于列出并检索不同知识库中的内容,为知识管理和查询提供便利。
此 MCP 服务器能帮助您高效管理和检索知识库内容。使用前,请确保已完成安装和配置。
这些说明假设您已经在系统中安装了 Node.js 和 npm。
git clone
cd knowledge-base-mcp-server
npm install
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"。.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"
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"
}
}
感谢您对本项目的贡献!