Tools & MCP
在之前的与API交互教程中,我们探讨了如何使大型语言模型(LLM)能够调用外部API。为了提升用户体验,Flowise提供了一系列预构建工具。有关可用集成的完整列表,请参阅工具部分。
若您所需的工具尚未提供,您可以根据自身需求创建自定义工具。
自定义工具
我们将使用相同的事件管理服务器,并创建一个自定义工具,该工具可以调用/events的HTTP POST请求。

工具名称:
create_event工具描述:
当您想要创建新事件时,请使用此工具。输入模式(Input Schema):API请求体的JSON模式,使大型语言模型(LLM)能够了解如何自动生成正确的JSON请求体。例如:
Javascript 函数:调用此工具时要执行的实际函数
/// 译文内容:
---
根据上面的信息,执行如下指令:
缺失译文,请检查输入
const fetch = require('node-fetch');;
const url = 'http://localhost:5566/events';;
const options = {
方法:'POST',
头部:{
'Content-Type': 'application/json'
},
body: JSON.stringify({
名称:$name,
位置:$location,
日期:$date
})
};
尝试 {
const response = await fetch(url, options);;
const text = await response.text();;
返回文本;
} catch (error) {
console.error(error);;
返回“”;
}如何使用函数:
您可以使用在Flowise中导入的任何库。
您可以将输入模式中指定的属性作为带有前缀
$的变量来使用:输入模式中的属性 =
name函数中要使用的变量 =
$name
您可以获取默认流配置:
$flow.sessionId$flow.chatId$flow.chatflowId$flow.input$flow.state
您可以获取自定义变量:
$vars.<variable-name>函数结束时必须返回一个字符串值
在代理上使用自定义工具
自定义工具创建完成后,您可以在代理节点上使用它。

从“工具”下拉菜单中选择自定义工具。如果您想直接返回自定义工具的输出结果,也可以启用直接返回功能。

在工具上使用自定义工具
在特定的工作流程场景中,它也可以被用作工具节点 在这种情况下,必须明确定义工具输入参数并为其填充值,因为没有大型语言模型(LLM)来自动确定这些值。

MCP
MCP(模型上下文协议)提供了一种标准化方式,用于将人工智能模型连接到不同的数据源和工具。换言之,无需依赖Flowise内置工具或创建自定义工具,人们可以使用由其他人创建的MCP服务器。MCP被广泛认为是行业标准,通常由官方提供商提供支持和维护。例如,GitHub MCP由GitHub团队开发和维护,Atlassian Jira、Brave Search等也提供了类似的支持。您可以在这里找到受支持服务器的列表。

自定义MCP
除了预构建的MCP工具外,最强大的功能是自定义MCP,它允许用户连接到他们选择的任何MCP服务器。
MCP采用客户端-服务器架构,其中:
主机是发起连接的LLM应用程序(如Flowise)
客户端在宿主应用程序(如Custom MCP)内部与服务器保持1:1连接
服务器为客户端提供上下文、工具和提示(示例服务器)
为了处理客户端与服务器之间的实际通信,MCP支持多种传输机制:
标准输入输出传输
使用标准输入/输出进行通信
非常适合本地流程
可流式处理的HTTP传输
使用HTTP协议,并可选择使用服务器发送事件(Server-Sent Events)进行流式传输
用于客户端向服务器发送消息的HTTP POST
Stdio
Stdio传输通过标准输入和输出流实现通信。这对于本地集成和命令行工具尤其有用。
仅在本地使用Flowise时使用此方法,部署到云服务时则不要使用。这是因为运行像npx这样的命令会在本地安装MCP服务器包(例如:@modelcontextprotocol/server-sequential-thinking),这通常需要很长时间。
它更适合像Claude Desktop、VS Code这样的桌面应用程序。
NPX 命令
/// 译文内容:
---
根据上面的信息,执行如下指令:
您想翻译的文本可能是:
```json
{
"query": "SELECT * FROM users WHERE username = 'admin'",
"result": [
{
"id": 1,
"username": "admin",
"password": "admin"
}
]
}{ "命令":"npx", "args": [ y “@modelcontextprotocol/server-sequential-thinking” ] }
<figure><img src="../.gitbook/assets/image (16) (1) (1).png" alt="" width="419"><figcaption></figcaption></figure>
对于Windows系统,请参阅此[指南](https://gist.github.com/feveromo/7a340d7795fca1ccd535a5802b976e1f)。
#### **Docker 命令**
当运行Flowise的机器也能访问Docker时,使用Docker命令是合适的。然而,在Docker访问受限或不可用的云服务上进行部署时,使用Docker命令则不合适。
```json
/// 译文内容:
---
根据上面的信息,执行如下指令:
缺失译文,请检查输入
{
"命令":"docker",
"args": [
“跑”,
“-i”,
“--rm”,
“mcp/sequentialthinking”
]
}
Docker 提供了一系列 MCP 服务器,可以在 这里 找到。其工作原理如下:
确保Docker正在运行。
找到MCP服务器配置并将其添加到自定义MCP中。例如:https://hub.docker.com/r/mcp/sequentialthinking
刷新可用操作。如果本地未找到镜像,Docker将自动拉取最新镜像。镜像拉取成功后,您将看到可用操作的列表。
无法在本地找到镜像“mcp/sequentialthinking:latest”
最新:从mcp/sequentialthinking拉取
f18232174bc9:已存在
cb2bde55f71f:拉取完成
9d0e0719fbe0:拉取完成
6f063dbd7a5d:拉取完成
93a0fbe48c24:拉取完成
e2e59f8d7891:拉取完成
96ec0bda7033:拉取完成
4f4fb700ef54:拉取完成
d0900e07408c:拉取完成
摘要:sha256:cd3174b2ecf37738654cf7671fb1b719a225c40a78274817da00c4241f465e5f
状态:已为 mcp/sequentialthinking:latest 下载了较新的镜像
运行在stdio上的Sequential Thinking MCP服务器使用时机
构建命令行工具
实施本地集成
需要简单的进程通信
使用Shell脚本
可流式处理的HTTP(推荐)
我们将以Github Remote MCP为例。Remote GitHub MCP server的优点在于,你无需在本地安装或运行它,新的更新会自动应用。
步骤1:为Github个人访问令牌(PAT)创建一个变量
为了访问MCP服务器,我们需要从Github创建一个个人访问令牌。请参阅指南。创建个人访问令牌(PAT)后,请创建一个变量来存储该令牌。此变量将在自定义MCP中使用。

步骤2:创建自定义MCP
创建一个代理节点,并添加一个新的自定义MCP工具。对于可流式处理的HTTP,我们只需输入URL和其他必要的头部信息。在MCP服务器配置中,您可以使用双花括号{{ }}和前缀$vars.<variableName>来引用变量。
/// 译文内容:
---
根据上面的信息,执行如下指令:
缺失译文,请检查输入
{
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"授权":"持有者 {{$vars.githubPAT}}",
}
}
步骤3:选择操作
如果MCP服务器配置正确,您可以刷新“可用操作”列表,Flowise将自动从MCP服务器中提取所有可用操作。

交互示例:
给我最新一期

该代理能够从MCP中识别出适当的操作,并使用这些操作来回答用户的查询。
使用时机
在以下情况下使用可流式处理的HTTP:
构建基于网络的集成
需要通过HTTP进行客户端-服务器通信
需要有状态会话
支持多个并发客户端
实现可恢复连接
视频教程
Last updated