跳到主要内容

将 Langflow 作为 MCP 服务器使用

Langflow 与 模型上下文协议 (MCP) 集成,既可以作为 MCP 服务器,也可以作为 MCP 客户端。

本页面介绍如何将 Langflow 用作 MCP 服务器,将您的工作流公开为 工具,供 MCP 客户端在生成响应时使用。

Langflow MCP 服务器支持 可流式 HTTP (streamable HTTP) 传输,并支持以 服务器发送事件 (SSE) 作为备选方案。

有关将 Langflow 用作 MCP 客户端并在工作流中管理 MCP 服务器连接的信息,请参阅 将 Langflow 用作 MCP 客户端

前提条件

将工作流作为 MCP 工具提供

当您创建 Langflow 项目时,Langflow 会自动将该项目添加到 MCP 服务器的配置中,并将项目的工作流作为 MCP 工具提供。

如果您的 Langflow 服务器启用了身份验证(AUTO_LOGIN=false),该项目的 MCP 服务器将自动配置 API 密钥验证,并生成一个专门用于访问新项目工作流的新 API 密钥。有关更多信息,请参阅 MCP 服务器身份验证

禁止对 Langflow 项目进行自动 MCP 服务器配置

要禁用新项目的自动 MCP 服务器配置,请将 LANGFLOW_ADD_PROJECTS_TO_MCP_SERVERS 环境变量设置为 false。有关更多信息,请参阅 MCP 服务器环境变量

有选择地启用和禁用 Langflow 项目的 MCP 服务器

无论是否启用了自动 MCP 服务器配置,您都可以有选择地启用或禁用作为 MCP 工具公开的项目。

  1. 点击 Projects(项目) 页面上的 MCP Server 选项卡,或者在编辑工作流时,点击 Share(分享),然后选择 MCP Server

    MCP server projects page

    Flows/Tools 部分列出了当前在该 MCP 服务器上作为工具提供的所有工作流。

  2. 要切换公开的工作流,请点击 Edit Tools,然后选择您想要公开为工具的工作流。要阻止某个工作流用作工具,请取消勾选第一列中的复选框。

  3. 关闭 MCP Server Tools 对话框以保存更改。

    MCP Server Tools

编辑工作流工具的名称和描述

工具名称和描述可以帮助 MCP 客户端确定您的工作流提供了哪些操作以及何时使用这些操作。建议为您提供给 MCP 客户端的所有工具提供清晰且具有描述性的名称和描述。

要编辑 Langflow MCP 服务器上工作流工具的名称和描述,请执行以下操作:

  1. 点击 Projects(项目) 页面上的 MCP Server 选项卡,或者在编辑工作流时,点击 Share(分享),然后选择 MCP Server

  2. 点击 点击 Edit Tools.

  3. 点击您想要编辑的 Description(描述)Tool(工具)

    • Tool name(工具名称):输入一个名称,让智能体在将其作为工具使用时能够清楚该工作流的功能。

    • Tool description(工具描述):输入一段描述,完整且准确地描述该工作流执行的具体操作。

  4. 关闭 MCP Server Tools 对话框以保存更改。

工具名称和描述的重要性

MCP 客户端使用工具名称和描述来确定在生成响应时使用哪些操作。

由于 MCP 客户端会将您的 Langflow 项目视为一个包含所有已启用工作流工具的单一 MCP 服务器,不清晰的名称和描述可能导致智能体错误地或不一致地选择工具。

例如,工作流的默认工具名称是其工作流 ID,例如 adbbf8c7-0a34-493b-90ea-5e8b42f78b66。这无法向智能体提供关于该工作流类型或用途的任何信息。

为了提供有关工作流的更多上下文,在配置 Langflow 项目的 MCP 服务器时,请务必清晰地命名和描述您的工作流。

可以将这些名称和描述视为函数名和代码注释。使用清晰的语句来描述您的工作流解决的问题。

示例:工具名称和描述的使用

例如,假设您根据 Document Q&A 模板创建了一个使用 LLM 聊简历的工作流,然后您为该工作流设置了以下名称和描述:

  • 工具名称document_qa_for_resume

  • 工具描述一个用于分析 Emily 简历的工作流。

将 Langflow MCP 服务器连接到 Cursor 后,您可以向 Cursor 询问简历,例如 Emily 有哪些工作经验?。利用您的工具名称和描述提供的上下文,智能体可以决定使用 document_qa_for_resume MCP 工具来生成关于 Emily 简历的响应。如有必要,智能体在生成响应前会请求使用该工作流工具的权限。

如果您询问另一份简历,例如 Alex 有哪些工作经验?,智能体可能会判断 document_qa_for_resume 与此请求无关,因为工具描述指明该工作流是针对 Emily 简历的。在这种情况下,智能体可能会使用其他可用工具,或者告知您它无权访问 Alex 的信息。例如:


_10
我注意到您在询问 Alex 的工作经验。
_10
根据可用工具,我看到有一个专门用于分析简历的 Document QA for Resume 工作流。
_10
但是,描述提到它是针对“Emily 的简历”而非 Alex 的。我无权访问 Alex 的简历或工作经验信息。

将客户端连接到您的 Langflow MCP 服务器

Langflow 提供自动安装和代码片段,帮助您将 Langflow MCP 服务器部署到本地 MCP 客户端。

JSON 选项允许您将 Langflow MCP 服务器连接到任何本地或远程 MCP 客户端。您可以根据任何 兼容 MCP 的客户端 来调整此过程。

  1. 安装任何 兼容 MCP 的客户端

    这些步骤以 Cursor 为例,但对于所有客户端,该过程通常是相同的,仅在客户端特定的细节(如文件名)上略有不同。

  2. 在您的客户端中,使用其 UI 或配置文件添加一个新的 MCP 服务器。

    例如,在 Cursor 中,转到 Cursor Settings,选择 MCP,然后点击 Add New Global MCP Server 以打开 Cursor 的全局 mcp.json 配置文件。

  3. 推荐:为您的 MCP 服务器配置 身份验证

  4. 在 Langflow 中,在 Projects 页面上,点击 MCP Server 选项卡。

  5. 点击 JSON 选项卡,复制适用于您操作系统的代码片段,然后将其粘贴到客户端的 MCP 配置文件中。例如:


    _11
    {
    _11
    "mcpServers": {
    _11
    "PROJECT_NAME": {
    _11
    "command": "uvx",
    _11
    "args": [
    _11
    "mcp-proxy",
    _11
    "http://LANGFLOW_SERVER_ADDRESS/api/v1/mcp/project/PROJECT_ID/streamable"
    _11
    ]
    _11
    }
    _11
    }
    _11
    }

    MCP Server 选项卡会自动填充 LANGFLOW_SERVER_ADDRESSPROJECT_ID 的值。

    默认的 Langflow 服务器地址是 https://:7860。如果您使用的是 公开的 Langflow 服务器,该服务器地址会自动包含在内。

    如果您的 Langflow 服务器需要身份验证,您必须在配置中包含 Langflow API 密钥或 OAuth 设置。有关更多信息,请参阅 MCP 服务器身份验证

  6. 要在 MCP 服务器命令中包含其他环境变量,请添加一个包含环境变量键值对的 env 对象:


    _14
    {
    _14
    "mcpServers": {
    _14
    "PROJECT_NAME": {
    _14
    "command": "uvx",
    _14
    "args": [
    _14
    "mcp-proxy",
    _14
    "http://LANGFLOW_SERVER_ADDRESS/api/v1/mcp/project/PROJECT_ID/streamable"
    _14
    ],
    _14
    "env": {
    _14
    "KEY": "VALUE"
    _14
    }
    _14
    }
    _14
    }
    _14
    }

  7. 保存并关闭客户端的 MCP 配置文件。

  8. 确认您的 Langflow MCP 服务器已出现在客户端的 MCP 服务器列表中。如有必要,请重启客户端以应用修改后的配置文件。

一旦您的 MCP 客户端连接到 Langflow 项目的 MCP 服务器,您的工作流就会被注册为工具。Cursor 会根据您的查询决定何时使用工具,并在必要时请求权限。有关更多信息,请参阅您客户端的 MCP 文档,例如 Cursor 的 MCP 文档

MCP 服务器身份验证

每个 Langflow 项目 都有自己的 MCP 服务器,并具有各自的 MCP 服务器身份验证设置。

当您创建一个新项目时,Langflow 会根据您的 Langflow 服务器身份验证设置自动为该项目的 MCP 服务器配置身份验证。如果启用了身份验证 (AUTO_LOGIN=false),该项目将自动配置 API 密钥验证,并生成一个新的 API 密钥用于访问该项目的工作流。

要配置 Langflow MCP 服务器的身份验证,请前往 Langflow 中的 Projects 页面,点击 MCP Server 选项卡,然后点击 Edit Auth,并选择您首选的身份验证方法:

当使用 Langflow API 密钥验证您的 MCP 服务器时,项目的 MCP 服务器 JSON 代码片段和 自动安装 配置将自动包含 --headersx-api-key 参数。

点击 点击 Generate API key 可自动将新的 Langflow API 密钥插入代码模板。或者,您可以将 YOUR_API_KEY 替换为现有的 Langflow API 密钥。

MCP 服务器环境变量

以下环境变量设置与 Langflow 项目 MCP 服务器相关的行为:

变量格式默认值描述
LANGFLOW_MCP_SERVER_ENABLED布尔型True (真)是否为每个 Langflow 项目初始化一个 MCP 服务器。如果为 false,Langflow 将不初始化 MCP 服务器。
LANGFLOW_MCP_SERVER_ENABLE_PROGRESS_NOTIFICATIONS布尔型False (假)如果为 true,Langflow MCP 服务器将发送进度通知。
LANGFLOW_MCP_SERVER_TIMEOUT整数20由于连接不良或请求运行时间过长而导致 MCP 服务器操作过期的等待秒数。
LANGFLOW_MCP_MAX_SESSIONS_PER_SERVER整数10每个唯一服务器保留的最大 MCP 会话数。
LANGFLOW_ADD_PROJECTS_TO_MCP_SERVERS布尔型True (真)是否自动将新创建的项目添加到用户的 MCP 服务器配置中。如果为 false,则必须手动将项目添加到 MCP 服务器。

在外部部署您的 Langflow MCP 服务器

要外部部署您的 Langflow MCP 服务器,请参阅 部署公开的 Langflow 服务器

使用 MCP Inspector 测试和调试工作流

Node 环境要求

MCP Inspector 要求您的计算机上安装有任意 LTS 版本的 Node.js

MCP Inspector 是用于测试和调试 MCP 服务器的常用工具。您可以使用 MCP Inspector 监控工作流,并深入了解工作流是如何被 MCP 服务器调用的。

  1. 安装 MCP Inspector:


    _10
    npx @modelcontextprotocol/inspector

    有关配置 MCP Inspector 的更多信息(包括指定代理端口),请参阅 MCP Inspector GitHub 项目

  2. 打开 Web 浏览器并导航至 MCP Inspector UI。默认地址为 https://:6274

  3. 在 MCP Inspector UI 中,输入 Langflow 项目 MCP 服务器的连接详情。字段值取决于您服务器的 身份验证 方法。

    • Transport Type (传输类型):选择 STDIO
    • Command (命令)uvx
    • Arguments (参数):输入以下参数列表,用空格分隔。将 YOUR_API_KEYLANGFLOW_SERVER_ADDRESSPROJECT_ID 替换为您 Langflow MCP 服务器的实际值。例如:

      _10
      mcp-proxy --headers x-api-key YOUR_API_KEY http://LANGFLOW_SERVER_ADDRESS/api/v1/mcp/project/PROJECT_ID/streamable

  4. 点击 Connect(连接)

    如果连接成功,您应该会在 Tools 选项卡中看到项目的工作流。在此选项卡中,您可以监控工作流是如何被 MCP 注册为工具的,并可以使用自定义输入值测试这些工具。

  5. 要退出 MCP Inspector,请在启动它的终端窗口中按 Control+C

排除 Langflow MCP 服务器故障

有关 MCP 服务器和客户端的故障排除建议,请参阅 排除 Langflow 故障:MCP 问题

另请参阅

Search