n8n-AI-agent-DVM-MCP-client

MCP.Pizza Chef: r0d8lsh0p

The n8n-AI-agent-DVM-MCP-client is an AI agent built within the n8n workflow automation platform that discovers and interacts with Model Context Protocol (MCP) server tools served as Data Vending Machines (DVM) over the decentralized Nostr network. It enables dynamic querying, requesting, and receiving responses from MCP tools not locally installed, facilitating decentralized tool discovery and usage for LLMs across distributed environments.

Use This MCP client To

Discover MCP server tools dynamically over the Nostr network Invoke MCP tools remotely without local installation Automate multi-step workflows using distributed MCP tools Integrate decentralized data vending machines into AI workflows Enable LLMs to access external MCP tools on demand Facilitate real-time tool response handling in AI agents Bridge n8n workflows with MCP tool ecosystems Query and consume MCP tool data via networked DVMs

README

n8n AI Agent for DVM MCP

These workflows create an AI Agent which is a user of Model Context Protocol (MCP) Server Tools served as Data Vending Machines (DVM) over the Nostr network –

The Agent, given a prompt which requires a tool –

  • Will query the network for available tools it can use,
  • Post requests to those tools over the network,
  • Wait as required for the tool response,
  • Read responses from those tools, and reply to the User.

Why this is interesting –

  • For an LLM to use a MCP Tool, the MCP Server typically needs to reside upon the same system as the LLM,
  • There has been no discovery methodology for an LLM to find MCP Severs and Tools which it does not yet have installed,
  • Data Vending Machines allow LLMs to discover and use Tools over the Nostr network,
  • This AI Agent Example demonstrates how an AI that can find and use MCP Tools that it does not have installed, by querying for them as DVMs over the Nostr network.

Technologies

  • MCP: The Model Context Protocol is an open protocol that allows AI agents to access data sources and tools. Read more,
  • DVM: Data Vending Machines listen for and respond to queries over the Nostr network. Read more,
  • DVMCP: Data Vending Machine Context Protocol bridges Model Context Protocol servers with Nostr's Data Vending Machine ecosystem. Any MCP server can serve any tool over the network, and any Agent client can access all tools served by any server. See DVMCP by Gzuuus and NostrDVM by BelieveTheHype,
  • n8n: A low-code platform which is very convenient for creating Langchain Tools Agents. Read more.

Prerequisites

  • n8n: Install a self-hosted n8n on your system. You can follow the instructions from the n8n website,
  • Nostrobots: Install Nostrobots Community Nodes by Ocknamo with instructions from the n8n website which adds Nostr tools to your n8n isntance,
  • Add workflows from Github to n8n: Add the five workflows to your n8n. 1. From Github copy the URL for the Raw .json (example), 2. In n8n create a new workflow, then click "..." and "Import from URL",
  • Credentials: Add the credentials for an OpenAI API (or other LLM), SerpAPI, Nostr Private Key (Nsec), Postgresql/Supabase,
  • Settings: Workflow variables set in the Set Variables Node: Assistant Name, Assistant Npub, Nostr Relays, User Localisation.

If you do not have a Nostr private key, you can generate one at NostrTool.com.

Component Workflows

Screenshot of DVMCP Agent v1.0 Workflow

The main workflow is DVMCP Agent Example v1.0.

Use this together with the four Tools Subworkflows –

  • AI Tool – Find Nostr DVMCP Servers
  • AI Tool – Post Nostr DVMCP Server Query
  • AI Tool – Wait
  • AI Tool – Read Nostr DVMCP Server Response

Initial Setup on Install

  • The DVMCP Agent must connect to its Tools Subworkflows,
  • On initial install you may need to manually reconnect these. To do so, open the DVMCP Agent Example v1.0 and click each tool's node to select the correct subworkflow from the database,
  • The Credentials must be entered in the DVMCP Agent Example v1.0 workflow, and also in the Post Nostr DVMCP Server Query subworkflow.

How it Works

The Agent is prompted to use its tools in sequence to satisfy user needs. An extract from its system prompt is illustrative:

**Tips for DVM Use**

- If your User requests something where you would need a tool, but do not have a tool, query for DVM MCP server tools on Nostr, and where you find a relevant tool, ask your User if you should use it.

- If your User requests to use a tool, follow these steps in sequence:

1) post your request to the MCP server
2) wait for 15 seconds
3) read the response from the MCP server
4) if there is no response from the MCP server and less than 45 seconds have passed –
Then go back to step 2 and repeat.
Else continue.
5) perform any final steps or required localisation (e.g. query forex and convert USD to local currency)

The system prompt and workflows can be varied to meet your use case.

Nostr Links

License

  • This project is licensed under the MIT License.

n8n-AI-agent-DVM-MCP-client FAQ

How does the n8n-AI-agent-DVM-MCP-client discover MCP tools?
It queries the Nostr network for MCP server tools served as Data Vending Machines (DVMs), enabling dynamic discovery without prior installation.
Can this client use MCP tools not installed locally?
Yes, it can find and invoke MCP tools remotely over the Nostr network, allowing flexible tool usage.
What role does the Nostr network play in this client?
Nostr acts as a decentralized network enabling discovery and communication with MCP server tools as DVMs.
How does the client handle responses from MCP tools?
It waits for tool responses asynchronously and processes them to reply back to the user or workflow.
Is this client limited to specific MCP tools?
No, it can discover and use any MCP server tools available as DVMs on the Nostr network.
What platforms or environments is this client designed for?
It is built within the n8n automation platform, leveraging its workflow capabilities for AI agent orchestration.
How does this client improve LLM tool usage?
It enables LLMs to dynamically find and use external MCP tools without needing them pre-installed locally.
Can this client be extended to other networks beyond Nostr?
While designed for Nostr, the architecture could be adapted to other decentralized networks supporting MCP tool discovery.