跳到主要内容

将 Langflow 用作 MCP 服务器

Langflow 与 Model Context Protocol (MCP) 集成,既可以作为 MCP 服务器,也可以作为 MCP 客户端。

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

Langflow MCP 服务器支持 streamable HTTP 传输和 Server-Sent Events (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 服务器项目页面

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

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

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

    MCP 服务器工具

编辑流工具的名称和描述

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

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

  1. Projects 页面 上点击 MCP Server 选项卡,或者在编辑流时点击 Share,然后选择 MCP Server

  2. 点击 Edit Tools

  3. 点击您想要编辑的 DescriptionTool

    • 工具名称 (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 服务器地址是 http://localhost: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 代码片段和 Auto install 配置会自动包含 --headersx-api-key 参数。

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

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。 默认地址为 http://localhost: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