Anthropic published a new spec for AI to discover available tools via their model context protocol.
Model Context Protocol (MCP) is an open protocol that enables seamless integration between LLM applications and external data sources and tools. Whether you’re building an AI-powered IDE, enhancing a chat interface, or creating custom AI workflows, MCP provides a standardized way to connect LLMs with the context they need.
Let n8n:
consume MCP servers via JSON-RCP
act as a MCP server for other workflows or other consumers
My use case:
I think it would be beneficial to add this because:
Instead of tools needing to be known at the time of building workflows, the amount of tools available to a consumer is contingent to a context provider evolving.
This means, if n8n AI nodes could leverage MCP, the efficiency and ways to solve problems with AI could progressively be enhanced.
In the future, I imagine that instead of building all the “tools” by itself, n8n will interact with “tools” by using MCP. That way it can leverage the existing works of others
Let me share another idea related to MCP server, aside from MCP servers as tools.
If a n8n workflow acts as a MCP server, we can integrate our own custom AI-powered tools with n8n. Sometimes, it would be great to implement a custom AI-powered app for internal use of companies. If we leverage n8n outside of the platform in custom AI tools, that would be awesome.
The other benefit to n8n is that this opens up the entire world of existing MCP servers to be AI plugins into n8n, without having to write any code other than the MCP client integration. Check out directories of MCP servers like https://mcp.so/ and Open-Source MCP servers | Glama
You need to add the env variable described at the end of the repo docs, to the docker compose file in Elest.io and then restart the server - had the same issue today and got it working
thanks Daniel!! I literally just came back here to respond to my own message. For anyone facing the same issue – it’s this environment variable: # Enable community nodes as tools
- N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
One more - are you able to use multiple tools/mcp servers from a single MCP tool?
As in, have a single listTools which collectively lists all tools and parameters of those tools that you have access to (i.e. have installed mcp servers for), then AI node determines which tool to use given the user query, it then inputs that into the executeTool with the appropriate parameters and executes it?
@Simon_Coton for the “many many tools” I dont fully understand.
It sounds like you want a proxy MCP server that connects to many different MCP servers. So you could like list all the tools you have and execute.
Would it be easier to break that up into multiple agents? Like have an agent list your tools, send that to another agent to execute based with a expression.
Something like this? (might need structured output)
Thanks for the response! I think what you are showing is along the right lines.
So I’m looking for
One tool to list all tools (i.e. tells me all mcp servers I’m connected to and the appropriate tools available) -e.g. shows me brave_search, weather Api, Airtable etc methods all in one response. Can I do that through the non SSE method? Can I do that with hosting on elest.io & if so, how?
my agent can then pass to the next agent which has a tool connected (just one) that is executeTool but the parameters + tool credentials + tool is selected dynamically - I see that it looks like you’re doing that by connecting to an SSE mcp account, is that correct? How can I do this on elest.io as that’d be awesome?
Perhaps it’s my limited understanding of the SSE method as well as MCPs, but right now I’m connecting an executeTool directly with credentials used to install a specific tool e.g. Brave, so I therefore would have to create a second tool for the weather API, another for Airtable MCP etc, have I misunderstood that?
Thanks so much! Excited to get this working, I’ll publish a video about it once I do
@Simon_Coton yea I understand what you are asking. There’s a couple different asks in the request so I think this will take a tiered approach. I dont know if it can all be done directly in n8n.
Let me dig into it and hit you up.
I’ll have an intro video coming out tomorrow. As for any feature updates if you wanna collab or socialize that would be awesome.