Langflow文档问答服务器

项目简介

本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在为大型语言模型 (LLM) 客户端提供文档问答功能。它利用 Langflow 作为后端,将文档问答流程封装成一个 MCP 工具,使得支持 MCP 协议的客户端(如 Claude)可以通过标准化的方式调用文档问答功能。

主要功能点

  • 文档查询工具 (query_docs): 提供一个名为 'query_docs' 的工具,允许客户端向服务器发送自然语言查询,服务器会将查询转发到配置的 Langflow 文档问答流程进行处理,并将结果返回给客户端。
  • MCP 协议支持: 完全实现了 MCP 服务器协议,可以与任何支持 MCP 协议的客户端进行通信。
  • 基于 Langflow: 后端功能由 Langflow 提供,用户可以在 Langflow 中灵活配置文档问答流程,服务器无需修改代码即可使用新的流程。
  • 易于部署: 使用 Node.js 开发,可以通过简单的命令安装和启动。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的系统中已安装 Node.js 和 npm。
  2. 下载仓库代码: 从 GitHub 仓库克隆或下载代码。
    git clone https://github.com/GongRzhe/Langflow-DOC-QA-SERVER.git
    cd Langflow-DOC-QA-SERVER
  3. 安装依赖: 在项目根目录下运行以下命令安装项目依赖。
    npm install
  4. 构建项目: 运行以下命令构建项目。
    npm run build

服务器配置

MCP 服务器需要配置在 MCP 客户端中才能使用。以 Claude 客户端为例,你需要编辑 Claude 的配置文件 ('claude_desktop_config.json'),添加如下服务器配置信息。

Claude 客户端配置文件路径:

  • macOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%/Claude/claude_desktop_config.json'

服务器配置信息 (JSON 格式):

{
  "mcpServers": {
    "langflow-doc-qa-server": {  // 服务器名称,客户端内唯一标识
      "command": "node",        // 启动服务器的命令
      "args": [                 // 启动命令的参数
        "/path/to/doc-qa-server/build/index.js" //  'index.js' 文件的绝对路径,请替换为实际路径
      ],
      "env": {                  // 环境变量
        "API_ENDPOINT": "http://127.0.0.1:7860/api/v1/run/YOUR_LANGFLOW_FLOW_ID" // Langflow API 接口地址,请替换为你的 Langflow 文档问答 Flow 的 API Endpoint
      }
    }
  }
}

配置说明:

  • '"langflow-doc-qa-server"': 服务器在客户端中显示的名称,可以自定义。
  • '"command": "node"': 指定使用 Node.js 运行时环境来启动服务器。
  • '"args"': 一个字符串数组,包含了启动服务器 'index.js' 文件所需的参数。你需要将 '/path/to/doc-qa-server/build/index.js' 替换为 'build/index.js' 文件在你电脑上的绝对路径
  • '"env"': 环境变量配置。
    • '"API_ENDPOINT"': 务必替换为你在 Langflow 中创建的文档问答 Flow 的 API Endpoint。你需要在 Langflow 中创建 "Document Q&A" Flow,并获取其 API Endpoint。

获取 Langflow API Endpoint 步骤:

  1. 在 Langflow 中打开你创建的 "Document Q&A" Flow。
  2. 点击 Langflow 界面右上角的 "API" 按钮。
  3. 复制 cURL 命令中的 API Endpoint URL,例如 'http://127.0.0.1:7860/api/v1/run/<flow-id>?stream=false'。
  4. 将复制的 URL 填写到 'API_ENDPOINT' 环境变量中。

基本使用方法

  1. 确保 MCP 服务器已成功配置并启动。
  2. 在支持 MCP 协议的客户端(如 Claude)中,客户端应该能够检测到名为 "langflow-doc-qa-server" 的 MCP 服务器。
  3. 在客户端的对话界面中,你可以指示客户端使用 'query_docs' 工具进行文档查询。例如,在 Claude 中,你可以这样指示:
    @langflow-doc-qa-server query_docs 帮我查询一下关于...
    或者更直接地:
    #query_docs { "query": "你的查询内容" } @langflow-doc-qa-server
  4. 客户端会将你的查询发送到 MCP 服务器,服务器调用 Langflow 后端进行文档问答,并将结果返回给客户端。

注意: 你需要根据你的 Langflow 文档问答 Flow 的配置,上传相应的文档到 Langflow 中,服务器本身不负责文档管理,仅负责将查询请求转发到 Langflow 并返回结果。

信息

分类

AI与计算