KnowFlow MCP 是一个基于 Model Context Protocol (MCP) 构建的知识检索工具。它允许兼容 MCP 的大型语言模型 (LLM) 通过调用标准化的工具接口,从外部知识库中获取上下文信息和领域知识,以生成更精确、更具上下文感知的回答。该项目模拟了简化的检索增强生成 (RAG) 流程,为 LLM 提供了访问外部数据的能力。

主要功能点

  • 响应 LLM 的知识检索请求,遵循 MCP 协议标准。
  • 根据 LLM 提供的查询,在配置的知识源中执行高效搜索。
  • 返回包含内容片段和结构化元数据(如原始文件名、修改日期、相关性评分)的搜索结果,方便 LLM 使用和引用。
  • 提供灵活的插件系统,允许轻松集成不同的知识来源(例如:文档文件、任务管理系统、Confluence 等)。
  • 通过 Stdio 协议与 MCP 客户端进行通信。

安装步骤

  1. 准备环境: 确保您的系统已安装 Node.js (版本 16.x 或更高) 和 npm 或 yarn 包管理器。
  2. 克隆仓库: 打开终端,执行以下命令克隆项目仓库:
    git clone https://github.com/esurovtsev/know-flow-mcp.git
  3. 进入项目目录: 切换到克隆下来的仓库目录:
    cd know-flow-mcp
  4. 安装依赖: 使用 npm 或 yarn 安装项目所需的依赖库:
    npm install
    # 或者使用 yarn
    yarn install
  5. 配置知识目录: 在项目根目录创建 '.env' 文件,并指定知识文件的存放路径(目前支持 '.txt' 和 '.md' 文件)。
    KNOWLEDGE_DIR=./knowledge
    请确保 './knowledge' 目录存在,并在其中放入您的知识文件。

服务器配置 (供 MCP 客户端参考)

要将 KnowFlow MCP 服务器与兼容 MCP 的 LLM 客户端(如 Claude, GPT-4, Gemini 等)集成,客户端需要知道如何启动和连接到此服务器。这通常通过一个 JSON 格式的 MCP 配置来指定。

以下是一个典型的 JSON 配置示例,您可以将其提供给您的 MCP 客户端:

{
  "mcpServers": {
    "knowflow": { // 服务器的唯一标识符
      "command": "node", // 启动服务器的命令
      "args": ["dist/index.js"] // 命令的参数,指向服务器的入口文件
    }
  }
}

这个配置指示 MCP 客户端通过执行 'node dist/index.js' 命令来启动 KnowFlow 服务器,并使用默认的 Stdio 协议进行通信。具体的配置方式请参考您使用的 MCP 客户端(LLM 应用)的文档。

基本使用方法

  1. 构建项目: 在项目根目录执行构建命令,将 TypeScript 代码编译为 JavaScript:
    npm run build
    # 或者使用 yarn
    yarn build
  2. 启动服务器: 编译完成后,执行以下命令启动 KnowFlow MCP 服务器:
    npm start
    # 或者使用 yarn
    yarn start
  3. 服务器启动后,会监听标准输入 (Stdio),等待 MCP 客户端(如配置好的 LLM 应用或 MCP Inspector 工具)发送的请求。当收到请求(例如调用 'search_knowledge' 工具)时,服务器会执行相应的逻辑并返回响应。
  4. (可选) 使用 MCP Inspector 测试: 您可以使用官方的 MCP Inspector 工具来独立测试服务器功能:
    npx @modelcontextprotocol/inspector node dist/index.js
    这将在本地启动一个网页界面,允许您查看服务器暴露的工具并手动发送请求进行测试。

信息

分类

AI与计算