Use Langflow as an MCP server
Langflow 与 Model Context Protocol (MCP) 集成,既可以作为 MCP 服务器,也可以作为 MCP 客户端。
本文介绍如何使用 Langflow 作为 MCP 服务器,将您的流程暴露为 工具,供 MCP 客户端 在生成响应时使用。
有关使用 Langflow 作为 MCP 客户端以及在流程中管理 MCP 服务器连接的信息,请参阅 使用 Langflow 作为 MCP 客户端。
前提条件
-
一个包含至少一个流程的 Langflow 项目,该流程具有 Chat Output 组件。
使用流程作为 MCP 工具需要 Chat Output 组件。
-
如果您想 部署公共 Langflow 服务器,需要安装 ngrok 并拥有 ngrok authtoken。
将流程 作为 MCP 工具提供服务
流程必须包含 Chat Output 组件 才能被 MCP 客户端用作工具。
每个 Langflow 项目 都有一个 MCP 服务器,将项目的流程暴露为供 MCP 客户端使用的工具。
默认情况下,项目中的所有流程都会作为工具暴露在项目的 MCP 服务器上。 您可以通过管理 MCP 服务器设置来更改暴露的流程和工具元数据:
-
在 项目页面 上点击 MCP Server 选项卡,或者在编辑流程时,点击 Share,然后选择 MCP Server。
Flows/Tools 部分列出了当前在此 MCP 服务器上作为工具提供的流程。
-
要切换暴露的流程,点击 Edit Tools,然后选择您希望作为工具暴露的流程。 要防止流程被用作工具,请清除第一列中的复选框。
-
关闭 MCP Server Tools 对话框以保存您的更改。
编辑流程工具名称和描述
工具名称和描述帮助 MCP 客户端确定您的流程提供哪些操作以及何时使用这些操作。 建议为所有提供给 MCP 客户端的工具提供清晰、描述性的名称和描述。
要编辑 Langflow MCP 服务器上流程工具的名称和描述,请执行以下操作:
-
在 项目页面 上点击 MCP Server 选项卡,或者在编辑流程时,点击 Share,然后选择 MCP Server。
-
点击 Edit Tools。
-
点击您要编辑的 Description 或 Tool:
-
工具名称:输入一个名称,使代理在使用该流程作为工具时能够清楚地了解流程的功能。
-
工具描述:输入一个完整、准确地描述流程执行的具体操作的描述。
-
-
关闭 MCP Server Tools 对话框以保存您的更改。
工具名称和描述的重要性
MCP 客户端使用工具名称和描述来确定在生成响应时使用哪些操作。
因为 MCP 客户端将您的 Langflow 项目视为一个单一的 MCP 服务器,其中所有启用的流程都列为工具,所以不清晰的名称和描述可能导致代理错误或不一致地选择工具。
例如,流程的默认工具名称是流程 ID,例如 adbbf8c7-0a34-493b-90ea-5e8b42f78b66
。
这不会向代理提供有关流程类型或其用途的任何信息。
为了提供有关您流程的更多上下文,请在配置 Langflow 项目的 MCP 服务器时,确保清晰地命名和描述您的流程。
将这些名称和描述视为函数名称和代码注释。 使用清晰的语句来描述您的流程解决的问题。
示例:工具名称和描述的使用
例如,假设您基于 Document Q&A 模板创建了一个流程,该流程使用 LLM 来聊天讨论简历,然后您给该流程以下名称和描述:
-
工具名称:
document_qa_for_resume
-
工具描述:
A flow for analyzing Emily's resume.
将您的 Langflow MCP 服务器连接到 Cursor 后,您可 以询问 Cursor 关于简历的信息,例如 What job experience does Emily have?
。
使用您的工具名称和描述提供的上下文,代理可以决定使用 document_qa_for_resume
MCP 工具来创建关于 Emily 简历的响应。
如有必要,代理会在生成响应之前请求使用流程工具的权限。
如果您询问不同的简历,例如 What job experience does Alex have?
,代理可以确定 document_qa_for_resume
与此请求无关,因为工具描述指定该流程适用于 Emily 的简历。
在这种情况下,代理可能会使用另一个可用的工具,或者它可以通知您它没有访问 Alex 信息权限。
例如:
_10I notice you're asking about Alex's job experience._10Based on the available tools, I can see there is a Document QA for Resume flow that's designed for analyzing resumes._10However, the description mentions it's for "Emily's resume" not Alex's. I don't have access to Alex's resume or job experience information.