This is based off this idea:
The idea here being we create a new n8n Community Node that represents a Meta-MCP server that has 2 functions:
- “search for tools” (which takes a users “intent” from the Agent as a parameter), and returns a list of exactly the tools and schemas the Agent needs to execute the users intent.
- “Execute tool”, where it executes one of the returned tools from the search.
The secret sauce here being that this MetaMCP server node would have as children nodes any number of other MCP server nodes.
So our agent only has 2 tools it needs to balance, and the choosing of which sub MCP servers to hit is offloaded to the MetaMCP server node, which would be coded to do intelligent things like a single caching of all the “list tools” calls for the plugged in MCP servers up front, and use an efficient searching mechanism across all tools (since that sub AI agent would likely just need the users intent and the union of all of the tool call names and descriptions in context to determine the right tools for the job, and since that’s it’s _only_ job, it’d be good at it).
At that point you basically can just have a single workflow that wraps your AI Agent connected to your MetaMCP servers and call it your “ToolsAgent” that you can continue to build up and use as the one Tool to rule them all in any other agent workflow.
Thoughts?