内容
# n8n AI Agent for DVM MCP
这些工作流创建了一个 AI Agent,它是 Model Context Protocol (MCP) Server Tools 的用户,作为通过 Nostr 网络提供的数据售卖机 (DVM) –
该 Agent 在接收到需要工具的提示时 –
- 将查询网络以获取可用的工具,
- 通过网络向这些工具发送请求,
- 根据需要等待工具的响应,
- 读取这些工具的响应,并回复用户。
为什么这很有趣 –
- 对于 LLM 来说,使用 MCP 工具通常需要 MCP Server 与 LLM 在同一系统上,
- 目前没有发现方法让 LLM 找到尚未安装的 MCP Servers 和工具,
- 数据售卖机允许 LLM 在 Nostr 网络上发现和使用工具,
- 这个 AI Agent 示例演示了一个 AI 如何通过在 Nostr 网络上查询 DVM 来找到并使用尚未安装的 MCP 工具。
## 技术
- **MCP**: Model Context Protocol 是一个开放协议,允许 AI Agent 访问数据源和工具。 [了解更多](https://github.com/modelcontextprotocol),
- **DVM**: 数据售卖机在 Nostr 网络上监听并响应查询。 [了解更多](https://github.com/nostr-protocol/nips/blob/master/90.md),
- **DVMCP**: 数据售卖机上下文协议将 Model Context Protocol 服务器与 Nostr 的数据售卖机生态系统连接起来。任何 MCP 服务器都可以通过网络提供任何工具,任何 Agent 客户端都可以访问由任何服务器提供的所有工具。请参见 [DVMCP by Gzuuus](https://github.com/gzuuus/dvmcp) 和 [NostrDVM by BelieveTheHype](https://github.com/believethehype/nostrdvm/tree/main),
- **n8n**: 一个低代码平台,非常方便创建 Langchain Tools Agents。 [了解更多](https://docs.n8n.io/advanced-ai/).
## 先决条件
- **n8n**: 在您的系统上安装自托管的 n8n。您可以按照 [n8n 网站](https://docs.n8n.io/hosting/) 的说明进行操作,
- **Nostrobots**: 安装 [Nostrobots Community Nodes](https://github.com/ocknamo/n8n-nodes-nostrobots/tree/main),由 [Ocknamo](https://njump.me/npub1y6aja0kkc4fdvuxgqjcdv4fx0v7xv2epuqnddey2eyaxquznp9vq0tp75l) 提供,按照 [n8n 网站](https://docs.n8n.io/integrations/community-nodes/installation/) 的说明将 Nostr 工具添加到您的 n8n 实例中,
- **从 Github 添加工作流到 n8n**: 将五个工作流添加到您的 n8n。1. 从 Github 复制 Raw .json 的 URL ([示例](https://github.com/r0d8lsh0p/n8n-AI-agent-DVM-MCP-client/raw/refs/heads/main/DVMCP_Agent_Example_v1_0.json)),2. 在 n8n 中创建一个新工作流,然后点击 "..." 和 "从 URL 导入",
- **凭证**: 添加 OpenAI API(或其他 LLM)、SerpAPI、Nostr 私钥 (Nsec)、Postgresql/Supabase 的凭证,
- **设置**: 在 Set Variables Node 中设置工作流变量:助手名称、助手 Npub、Nostr 中继、用户本地化。
如果您没有 Nostr 私钥,可以在 [NostrTool.com](https://nostrtool.com/) 上生成一个。
### 组件工作流

主要工作流是 DVMCP Agent 示例 v1.0。
将其与四个工具子工作流一起使用 –
- AI Tool – 查找 Nostr DVMCP 服务器
- AI Tool – 发布 Nostr DVMCP 服务器查询
- AI Tool – 等待
- AI Tool – 读取 Nostr DVMCP 服务器响应
### 安装时的初始设置
- DVMCP Agent 必须连接到其工具子工作流,
- 在初始安装时,您可能需要手动重新连接这些。为此,打开 DVMCP Agent 示例 v1.0,点击每个工具的节点,从数据库中选择正确的子工作流,
- 凭证必须在 DVMCP Agent 示例 v1.0 工作流中输入,并且在 Post Nostr DVMCP 服务器查询子工作流中也要输入。
## 工作原理
Agent 被提示按顺序使用其工具以满足用户需求。以下是其系统提示的摘录:
```text
**DVM 使用提示**
- 如果您的用户请求某些需要工具的内容,但您没有工具,请在 Nostr 上查询 DVM MCP 服务器工具,并在找到相关工具时,询问您的用户是否应该使用它。
- 如果您的用户请求使用某个工具,请按以下步骤顺序进行:
1) 向 MCP 服务器发布您的请求
2) 等待 15 秒
3) 读取 MCP 服务器的响应
4) 如果 MCP 服务器没有响应且经过的时间少于 45 秒 –
那么返回第 2 步并重复。
否则继续。
5) 执行任何最终步骤或所需的本地化(例如,查询外汇并将美元转换为当地货币)
```
系统提示和工作流可以根据您的用例进行调整。