跳到主要内容

将 Langflow 用作 MCP 服务器

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

本页面描述如何将 Langflow 用作 MCP 服务器。

有关将 Langflow 用作 MCP 客户端的信息,请参阅 将 Langflow 用作 MCP 客户端

作为 MCP 服务器,Langflow 将您的流程暴露为 MCP 客户端 可以用来执行操作的 工具

先决条件

选择和配置要暴露为 MCP 工具的流程

MCP 流程要求

流程必须包含 聊天输出 组件才能被 MCP 客户端用作工具。

每个 Langflow 项目 都有一个 MCP 服务器,将项目的流程暴露为 MCP 客户端可以用来生成响应的工具。

默认情况下,项目中的所有流程都作为工具在项目的 MCP 服务器上暴露。

以下步骤解释如何限制暴露的流程,并可选地为代理使用重命名流程:

  1. 从 Langflow 仪表板中,选择包含您要作为工具提供的流程的项目,然后单击 MCP 服务器 选项卡。 或者,您可以通过选择 分享 > MCP 服务器 从任何流程内快速访问 MCP 服务器 选项卡。

    自动安装JSON 选项卡显示连接 MCP 客户端到项目 MCP 服务器的选项。

    流程/工具 部分列出当前作为工具提供的流程。

    MCP 服务器项目页面

  2. 单击 编辑工具

  3. MCP 服务器工具 窗口中,选择您要暴露为工具的流程。

    MCP 服务器工具

  4. 建议:编辑 工具名称工具描述,以帮助 MCP 客户端确定您的流程提供哪些操作以及何时使用这些操作:

    • 工具名称:输入一个名称,明确说明当代理将流程用作工具时流程的作用。

    • 工具描述:输入准确描述流程执行的具体操作的描述。

    为代理使用命名和描述您的流程

    MCP 客户端使用 工具名称工具描述 来确定使用哪个操作。

    Cursor 这样的 MCP 客户端将您的 Langflow 项目视为一个单一的 MCP 服务器,其中所有已启用的流程都列为工具。

    如果流程的名称或描述不清楚,这可能会让代理感到困惑。 例如,流程的默认名称是流程 ID,如 adbbf8c7-0a34-493b-90ea-5e8b42f78b66。 这没有向代理提供任何关于流程类型或其目的的信息。

    要为您的流程提供更多上下文,请确保在配置 Langflow 项目的 MCP 服务器时清楚地命名和描述您的流程。

    将名称和描述视为函数名称和代码注释是很有帮助的,使用清晰的表述来描述您的流程解决的问题。

    例如,假设您有一个 文档问答流程,使用 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
    根据可用的工具,我可以看到有一个用于分析简历的文档问答流程。
    _10
    然而,描述提到它适用于 "Emily 的简历" 而不是 Alex 的。我无法获取 Alex 的简历或工作经验信息。

  5. 关闭 MCP 服务器工具 窗口以保存您的更改。

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

以下过程描述如何将 Cursor 连接到您的 Langflow 项目的 MCP 服务器以将您的流程用作工具。 然而,您可以按照类似的步骤连接任何 MCP 兼容客户端

important

自动安装仅在您的 HTTP 客户端和 Langflow 服务器在同一本地机器上时才有效。 如果不是这种情况,请使用 JSON 选项卡中的代码配置客户端。

  1. 安装 Cursor
  2. 在 Langflow 仪表板中,选择包含您要提供的流程的项目,然后单击 MCP 服务器 选项卡。
  3. 要自动安装您当前的 Langflow 项目作为 MCP 服务器,请单击 添加

安装程序将服务器的配置文件添加到 Cursor 的 mcp.json 配置文件中。

Cursor 现在已连接到您项目的 MCP 服务器,您的流程已注册为工具。 Cursor 根据您的查询确定何时使用工具,并在必要时请求权限。 有关更多信息,请参阅 Cursor 的 MCP 文档

MCP 服务器身份验证和环境变量

如果您的 Langflow 服务器 需要身份验证LANGFLOW_AUTO_LOGIN 设置为 false),那么您必须在 MCP 客户端配置中提供 Langflow API 密钥。 当是这种情况时,您项目的 MCP 服务器 选项卡中的代码模板会自动包含 --headerx-api-key 参数:


_14
{
_14
"mcpServers": {
_14
"PROJECT_NAME": {
_14
"command": "uvx",
_14
"args": [
_14
"mcp-proxy",
_14
"--headers",
_14
"x-api-key",
_14
"YOUR_API_KEY",
_14
"http://LANGFLOW_SERVER_ADDRESS/api/v1/mcp/project/PROJECT_ID/sse"
_14
]
_14
}
_14
}
_14
}

单击 生成 API 密钥 以自动将新的 Langflow API 密钥插入代码模板。 或者,您可以用现有的 Langflow API 密钥替换 YOUR_API_KEY

MCP 服务器选项卡显示生成 API 密钥按钮

要在 MCP 服务器命令中包含环境变量,请像这样包含它们:


_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/sse"
_14
],
_14
"env": {
_14
"KEY": "VALUE"
_14
}
_14
}
_14
}
_14
}

用您要包含的环境变量名称和值替换 KEYVALUE

在外部部署您的 MCP 服务器

要使用 ngrok 在外部部署您的 MCP 服务器,请参阅 部署公共 Langflow 服务器

使用 MCP Inspector 测试和调试流程

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 服务器的连接详细信息:

    • 传输类型:选择 SSE
    • URL:输入 Langflow MCP 服务器的 sse 端点。例如:http://localhost:7860/api/v1/mcp/project/d359cbd4-6fa2-4002-9d53-fa05c645319c/sse

    如果您已 为 MCP 服务器配置了身份验证,请填写以下附加字段:

    • 传输类型:选择 STDIO
    • 命令uvx
    • 参数:输入以下参数列表,用空格分隔。用您的 Langflow MCP 服务器的值替换 YOUR_API_KEYLANGFLOW_SERVER_ADDRESSPROJECT_ID 的值。例如:

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

  4. 单击 连接

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

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

MCP 服务器故障排除

如果 Claude for Desktop 没有正确使用您服务器的工具,您可能需要在 claude_desktop_config.json 配置文件中明确定义本地 uvxnpx 可执行文件的路径。

  1. 要查找您的 UVX 路径,请运行 which uvx

    要查找您的 NPX 路径,请运行 which npx

  2. 复制该路径,然后在您的 claude_desktop_config.json 文件中替换 PATH_TO_UVXPATH_TO_NPX


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

另请参阅

Search