首页
学习
活动
专区
圈层
工具
发布
MCP广场 >详情页
MCP知识库服务器2026-10-23934分享添加福利群:解决AI开发者的「MCP实战痛点」
提供了使用语义搜索功能从不同知识库中列出和检索内容的工具。
By jeanibarz
2026-10-23934
github
详情内容

知识库MCP服务器

smithery徽章 该MCP服务器提供从不同知识库中列出和检索内容的工具。

知识库服务器MCP服务器

安装指南

这些说明假设您的系统已安装Node.js和npm。

通过Smithery安装

要通过Smithery自动为Claude Desktop安装知识库服务器:

npx -y @smithery/cli install @jeanibarz/knowledge-base-mcp-server --client claude

手动安装

前提条件

  • Node.js(版本16或更高)
  • npm(Node包管理器)
  1. 克隆仓库:

    git clone <repository_url>
    cd knowledge-base-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 配置环境变量:

    • 服务器需要设置HUGGINGFACE_API_KEY环境变量。这是用于生成知识库内容嵌入向量的Hugging Face推理API的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-MiniLM-L6-v2。
    • 您可以在.bashrc或.zshrc文件中设置这些环境变量,也可以直接在MCP设置中进行设置。
  4. 构建服务器:

    npm run build
    
  5. 将服务器添加到MCP设置中:

    • 编辑位于/home/jean/.vscode-server/data/User/globalStorage/saoudrizwan.claude-dev/settings/的cline_mcp_settings.json文件。
    • 在mcpServers对象中添加以下配置:
    "knowledge-base-mcp": {
      "command": "node",
      "args": [
        "/path/to/knowledge-base-mcp-server/build/index.js"
      ],
      "disabled": false,
      "autoApprove": [],
      "env": {
        "KNOWLEDGE_BASES_ROOT_DIR": "/path/to/knowledge_bases",
        "HUGGINGFACE_API_KEY": "YOUR_HUGGINGFACE_API_KEY",
      },
      "description": "基于查询从知识库中检索相似内容块。"
    },
    
    • 将/path/to/knowledge-base-mcp-server替换为服务器目录的实际路径。
    • 将/path/to/knowledge_bases替换为知识库目录的实际路径。
  6. 创建知识库目录:

    • 在KNOWLEDGE_BASES_ROOT_DIR内为每个知识库创建子目录(例如,company、it_support、onboarding)。
    • 在这些子目录中放置包含知识库内容的文本文件(例如,.txt、.md)。
  • 服务器递归读取指定知识库子目录中的所有文本文件(例如,.txt、.md)。
  • 服务器跳过隐藏文件和目录(以.开头的文件和目录)。
  • 对于每个文件,服务器计算SHA256哈希值,并将其存储在与文件同名的隐藏.index子目录中的文件中。该哈希值用于确定文件自上次索引以来是否已被修改。
  • 文件内容使用langchain/text_splitter中的MarkdownTextSplitter分割成块。
  • 每个块的内容随后被添加到FAISS索引中,用于相似性搜索。
  • FAISS索引在服务器启动时自动初始化。它会检查知识库文件的变化并相应地更新索引。

使用方法

该服务器提供两个工具:

  • list_knowledge_bases:列出可用的知识库。
  • retrieve_knowledge:基于查询从知识库中检索相似内容块。如果指定了知识库,则仅搜索该知识库;否则,考虑所有可用的知识库。默认情况下,最多返回10个得分低于2的文档块。可以使用threshold参数提供不同的阈值。

您可以通过MCP界面使用这些工具。

retrieve_knowledge工具使用FAISS索引执行语义搜索。当服务器启动或知识库中的文件被修改时,索引会自动更新。

retrieve_knowledge工具的输出是一个具有以下结构的markdown格式字符串:

## 语义搜索结果

**结果1:**

[最相似块的内容]

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

---

**结果2:**

[第二相似块的内容]

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

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

每个结果包括最相似块的内容、源文件和相似度得分。

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档