如何使用 MCP 集成外部工具 Mendix 聊天机器人 | Mendix

跳到主要内容

如何使用 MCP 集成外部工具 Mendix 聊天机器人

关键要点

  • MCP 不仅仅用于展示工具,也用于使用它们。 新的 MCP 客户端可让您的 Mendix 应用程序访问其他应用程序的工具,使 LLM 能够决定如何以及何时在对话中使用它们。
  • 无需重新发明轮子。 您可以重复使用现有的工具和提示(本地或来自开源 MCP 服务器,如 GitHub、Slack 或 Google Drive),并将它们插入您的聊天体验中,而无需自定义集成。
  • 低代码使 AI 编排变得毫不费力。 借助 GenAI Commons、Conversational UI 和 MCP Client 等模块,只需几个微流即可将外部工具连接到您的聊天机器人。

在我的上一篇博客中,我展示了如何暴露你的 Mendix 微流作为 Claude 等大型语言模型 (LLM) 的工具,可以通过 模型上下文协议 (MCP)。这为人工智能助手打开了直接利用你的 Mendix 逻辑。现在,我们要把事情反过来。

用新的 MCP 客户端模块,你的 Mendix 应用可以充当外部 MCP 服务器的消费者,这意味着您的应用可以发现并调用在其他地方运行的提示和工具。这让您可以轻松地将强大的外部逻辑或 AI 服务插入到您的 Mendix 应用程序,无需创建任何自定义集成。

什么是 MCP 客户端模块?

MCP 客户端模块允许您的 Mendix 应用程序连接到任何符合 MCP 的服务器,无论是另一个 Mendix app、基于高代码的工具服务或者托管在云端的代理。

这意味着:

  • 跨应用程序重用逻辑 Mendix 应用程序提供工具,另一个应用程序使用它们
  • 连接到第三方 AI 服务——无需 REST 或 SDK 争论
  • 将工具和提示链接到完整的 GenAI 工作流程中——全部通过低代码实现

总之, Mendix 现在可以使用 MCP 服务器和客户端,使其成为构建强大的 AI 增强应用程序的工具。就像插入你的 Mendix 应用程序成为人工智能功能的共享工具箱。

在我们的示例中,它的工作原理如下:

请注意,虽然这些工具处理数据检索,但 MCP 工具可以轻松触发操作、更新记录或执行您的应用程序或外部系统支持的任何其他操作。

这显示了一个 Mendix 应用程序充当 MCP 客户端,连接到外部 MCP 服务器(可能是另一个 Mendix 应用程序)。当用户与聊天机器人 UI 交互时,客户端会动态地从服务器发现工具,并将其包含在对 LLM 的请求中。如果模型选择调用某个工具,客户端会将调用传递给服务器,获取结果并继续对话。

一切都通过标准 MCP HTTPS 调用运行,不需要自定义集成。

注意:最新版本 GenAI 展示应用程序 显示如何将 MCP 客户端连接到您的 Mendix 应用程序到外部服务器来使用工具,然后在你的 Mendix 聊天机器人。

从您的 Mendix 应用

硬件需求

您可以选择从头开始,还是扩展现有应用程序。如果您希望从头开始, 空白 GenAI 应用程序,它已经包含了所有必要的 GenAI 模块,是最好的起点。如果您要扩展现有应用,请确保安装 MCP 客户端, GenAI 公共资源, 对话式使用者介面 以及您最喜欢的 GenAI 连接器模块(来自市场)。您还应该可以访问 MCP 服务器(在 Mendix 应用程序或外部),您也可以使用 GenAI Showcase App MCP Server 示例。

创建您的聊天机器人

如果您的应用程序中还没有聊天机器人,我将逐步指导您如何创建一个。即使您之前已经实现了一个,也最好按照以下步骤进行相应的更改。

步骤1

MCP 客户端模块中提供了一些示例微流程,可以帮助您快速上手。请前往相应模块并复制以下微流程: ChatContext_MCPClient_ActionMicroflow 到您自己的模块中。

第二步

由于微流默认被排除,因此您需要先将其包括在内。

第三步

向页面添加一个数据视图,并使用微流作为数据源。创建一个名为 DS_ChatContext_创建:

    • 在微流内部首先检索一个 部署模型 从数据库中(或进行自定义检索以选择正确的 LLM)。
    • 然后添加 新聊天 从工具箱中选择操作。选择检索到的模型,对于操作微流,请选择之前包含的操作微流。您可以将系统提示和提供商名称输入留空,因为它们是可选的。
    • 最后返回 聊天上下文 微流末尾的对象。

第四步

添加 按键 里面的 数据视图 打开页面 对话式UI_全屏聊天 (或不同的 ConversationalUI 页面)来自 ConversationalUI 模块。

确保您的用户具有模块角色 用户 由 ConversationalUI 分配。您的聊天功能现已可用。

但是等等: Mendix 知道要使用哪个 MCP 服务器吗?

从技术上来说这如何实现?

随请求注册工具

让我首先解释一下你刚刚盲目复制到你自己的模块中的内容:

  • 这个 ChatContext_MCPClient_ActionMicroflow 确保用户输入的消息正确发送到正确的模型,包括其所有重要配置和上下文(例如对话历史记录)。
  • 在 action-microflow 内部, MCP服务器配置 对象已从数据库中检索。您可以随意调整此设置并检索任何其他 MCP服务器配置 对象并将其传递给请求: 从 MCP 服务器操作添加所有工具。此操作连接到您的 MCP 服务器,发现所有公开的工具并将其添加到发送到 LLM 的请求中。
  • 对于发送给模型的每条消息,MCP 工具都是已知的,并且可以选择调用它们。

工具调用和代理

你怎么能 Mendix 应用程序会调用另一个应用程序中的工具吗?首先,MCP 工具会通过请求注册,并附带其输入参数。当模型返回 MCP 工具的工具调用时, MCPClient_ToolMicroflow 执行。使用 MCP 客户端的 呼叫工具 微流将请求转发到 MCP 服务器,充当中间人的角色。服务器的响应随后被发送回 LLM,LLM 可以处理用户的请求——可以直接回复,也可以根据需要使用其他工具。

如您所见,无需自定义集成或更改即可使其适用于每个 MCP 服务器。只需即插即用,即可使用无需在同一应用程序中管理的强大工具来丰富您的聊天体验。

建立 MCP 连接

现在让我们开始连接。你的应用需要知道 MCP 服务器的位置。

首先,我们需要允许管理员设置和管理 MCP 服务器配置。因此,请将 MCP 客户端管理员模块角色分配给您的管理员角色。其次,添加 MCP服务器配置_概述 将 MCP 客户端模块中的页面添加到您的导航栏。然后运行应用程序,以管理员身份登录并导航到此页面。从这里,您可以创建您的第一个 MCP 服务器配置并将其保存到数据库。

如果您需要通过传递自定义 HTTP 标头进行身份验证,可以创建一个获取凭据微流。此微流不能包含任何输入输出参数,并且需要返回以下列表: 系统.HttpHeader。 您可以使用 配置:创建 Http 头 并将其添加到列表工具箱操作中以执行此操作。然后,您可以在运行时以管理员身份创建 MCP 服务器配置时,选择此微流作为“获取凭据”微流。请查看 获取凭证示例 microflow 是关于如何创建获取凭证微流的简化示例。

手边没有 MCP 服务器?或许是时候重新访问了 最新博客文章 关于揭露你的逻辑 Mendix 通过 MCP 访问应用。您可以构建自己的 MCP 服务器,也可以在 GenAI Showcase 应用中复用示例。如果要在 Showcase 应用中本地使用,端点可能如下所示: https://localhost:8080/mcp-ticketsystem

重新运行你的应用程序,并提出一个可以通过现有工具回答的问题。如果你使用的是展示版 MCP 服务器,可以提出类似这样的问题: “还有多少张票?” 可能会触发两次工具调用来检查有多少个错误和功能票处于打开状态,模型可以使用此信息来计算打开票的总数。

下一步是什么?

现在你的 Mendix 应用程序可以通过 MCP 公开和使用工具,您已准备好构建更高级的代理工作流——将应用程序链接在一起、将任务转移给 AI,或与跨团队的内部微服务集成。现在真的没有借口了:您可以使用低代码在整个企业中创建无缝的 AI 驱动环境。

更棒的是,开源 MCP 服务器生态系统正在不断发展,可用于 GitHub、Slack 或 Google Drive 等第三方服务。您可以自行托管这些服务器,并让您的 Mendix 应用程序插件。那么,你的应用程序将使用什么外部服务 Mendix 应用程序首先连接吗?

常见问题 (FAQ)

  • 什么是模型上下文协议(MCP)?

    一种开放协议,用于标准化 LLM 如何自主连接到应用程序。正如 USB-C 为外设提供通用端口一样,MCP 也为 LLM 提供了一个通用接口,可将其“插入”到工具和其他资源。

  • MCP 为何重要?

    MCP 允许在设计时无需预先配置所有内容即可发现工具。您的代理可以轻松连接到各种 MCP 服务器,而无需实现自定义 API 集成。如此一来,所有通过 MCP 提供的服务都可以集成到您的代理应用中。

  • 为什么使用 Mendix 有 MCP 吗?

    两者的结合是天作之合:你可以轻松地在 Mendix 并从你的应用程序内部启动一个 MCP 服务器,使这些微流可供代理 AI 系统使用,例如另一个 Mendix 使用 MCP 客户端模块。这可以轻松支持代理工作流程,连接您的 Mendix 逻辑到外部AI代理。

  • 我应该何时使用 MCP 客户端与服务器模块?

    当您的 LLM 课程 Mendix 应用需要与应用程序外部的工具集成。例如,连接到通过 MCP 公开工具的其他服务或应用。如果您想要公开自己的工具,请使用 MCP 服务器模块 Mendix 微流作为可以被外部 MCP 客户端发现和调用的工具(例如另一个 Mendix 应用程序或 Claude Desktop)。 

选择你的语言