今天的文章主要step by step地分享n8n工作流的两种免费部署方式,一种是命令行直接部署,轻量极客式,另一种docker部署方式,简单懒人式。
并且会详细介绍如何在这两种方式下分别搭建Ai Agent和MCP的注意点和区别。
相信通过这篇文章,你会完全掌握免费使用n8n服务的技巧,并且可以感受到ai agent和mcp联合使用的强大效果。
环境安装
免费使用n8n有两种方式,只要现在跟着n8n github上的教程,我们就能免费使用n8n。
可能你会对npx或者docker这样的名词感到陌生,不用担心,我会一步步解释这些是什么概念,如何使用,你会像我一样把n8n在本地跑起来。
第一种:通过命令行方式来安装n8n
点击进入npx安装教程,来n8n的官方文档页面,官方说明需要提前安装nodejs,并且规定了nodejs的版本是20.19到24.x之间。
在我们开始之前,不妨可以稍微了解下npx,npm,nodejs这些名词的概念
用ai来搜索下:
所以nodejs是一个javascript运行环境,这这就是为什么 n8n需要 Node.js——因为nodejs它提供了n8n实际执行的环境。因此,在安装任何其他东西之前,您必须安装 Node.js,安装完nodejs,就可以用npm和npx工具了。
而npx其实是npm 5.2版本后附带一个工具包,唯一的区别是:npx是立即运行 n8n,无需全局安装,适用于测试或一次性运行。而npm是全局安装 n8n。您可以以后随时运行n8n。
了解清楚后,我们就可以安装了:
先来安装nodejs:
按照刚才说过的,nodejs版本我们需要选择20.19到24.x之间的,系统根据自己的电脑选择合适的,
按照刚才说过的,nodejs版本我们需要选择20.19到24.x之间的,系统根据自己的电脑选择合适的。
下载后安装即可。
然后打开命令行界面,输入命令,检查安装的版本:
版本无误后,可以直接通过npx n8n命令来启动本地n8n服务。
运行成功后,会出现一个本地的访问网址:http://localhost:5678/,根据提示,按o就可以在浏览器打开页面了,然后进入注册流程,填写一些基本信息后,进入n8n的编辑界面。
或者运行npm install n8n -g ,可以全局安装n8n。
安装完成后,再通过命令n8n start启动本地n8n服务。
安装完成后,再通过命令n8n start启动本地n8n服务
跟上面一样,运行成功后,会出现一个本地的访问网址:http://localhost:5678/,根据提示,按o就可以在浏览器打开页面了。
第二种:通过docker的方式来安装n8n
点击进入Docker安装教程:
还是一样,先来解释下什么是docker? 我们一样用ai来搜索下:
所以docker其实就像是一个轻量级的虚拟机,它是一款自带运行环境的应用程序,因此不受操作系统的影响,当把一个基于docker的应用迁移到其他机器上时,这个应用一样可以跑起来,不需要重新安装环境了,听起来是不是感觉很方便。
所以我们现在是要把n8n安装在docker里面,这样n8n就可以迁移到任何一台机器上运行了。
安装Docker之前,我们先看一下先决条件:
Docker Desktop版本支持Mac、Windows、Linux,所以我们可以选择这个版本:
根据自己的电脑系统选择相应的版本即可:
下载好后就可以安装。
安装好后就可以启动docker desktop。
然后搜索n8n, 点击PULL,把n8n的docker镜像拉取到本地。
大概不到2G大小的镜像,等待10分钟左右即可拉取成功:
然后启动n8n。
填写container name,ports,默认可以填写5678,其他暂时可以不设置,点击Run。
启动成功后,可以看到跟刚才一样的本地网址。
在浏览器中打开网址进入n8n初始化页面,开始注册流程。
填写基本信息。
进入n8n编辑环境:
MCP启动
环境安装好后,我们用n8n来搭建一个Ai Agent + MCP的工作流,来感受下n8n是如何给我们提效加速的。
ai agent的概念相信大家都表熟悉了,n8n中也集成了ai agent的节点:
可以看到ai agent包含了三部分内容,分别是Chat Model , Memory ,Tool 。
Chat model就是ai大模型,像openai , claude ,groq ,deepseek ,gemini等。
Memory是ai大模型的记忆能力,能够记住用户交互中的关键内容,帮助理解用户前后的逻辑。
Tool指的是外部工具,Ai大模型可以根据用户指令调用外部工具,使功能更加强大,而这部分也是接下来要讲的MCP的功能。
那么什么是MCP呢?
简单来说,MCP就是连接大模型和外部工具的协议,通过MCP,可以让用户指令不仅操纵大模型,还可以通过大模型更加精准地调用外部工具来完成任务。
下面我们就来尝试下Ai agent + MCP效果:
先增加一个Chat Tigger的节点,这个节点主要用来做用户指令输入
当输入一些用户指令,然后回车,就会触发这个节点的执行:
然后添加核心节点:ai agent
然后我们来配置Chat Modal,Memory和Tool,
先来配置Chat Modal,跟之前的文章一样,需要配置大模型的apikey,我还是用openai来举例 ,将openai的apikey加到n8n节点的credential中:
然后来配置Memory, 可以用最简单的simple memory节点,
配置项保持默认值即可:
在进入mcp前,我们可以来尝试下目前的效果:
可以看到用户输入指令,得到了大模型的正常回复,并且我们注意到大模型是由记忆的,因为有了Memory,如果去掉Memory,大模型就只能提供单次对话功能,可以尝试下:
看到了吧,去掉了memory功能后,大模型第二次回答的时候就已经不认识我了,哈哈哈。
我们现在开始设置Ai Agent的Tool的部分,我们先回到modelcontextprotocol这个开源项目中来,
我们来查找servers这个项目库,看看目前有哪些mcp server可以用,可能这里还需要补充一个概念,刚才说到mcp是llm(大模型)和外部工具连接的协议,那么这时候llm(大模型)其实就是客户端,而外部工具就是服务端。
我们点进servers去看下,可以看到像AWS、Brave Search、Github、Google Driver、PostgreSQL、Slack、SQLite等都是支持MCP模式等,提供了专门的MCP Server,所以这些我们都是可以让大模型去连接的,而据我所知,目前MCP Server其实不仅仅是目前这里看到的这些了,有非常多的MCP Server,全世界的开发团队、个人开发者都在这块做了很多贡献。
我们今天就以Brave Search这个MCP Server来做例子,来感受下大模型连接MCP Server的实际效,
点击进入Brave Search 这个MCP Server项目,
Brave其实类似一个搜索引擎的功能,支持网页搜索、本地商家搜索、搜索、视频搜索、新闻搜索以及 AI 驱动的摘要。
我们回到n8n去查询mcp相关的节点功能,搜索mcp,添加MCP Client Tool节点,
然后配置Mcp Client Tool节点,发现目前n8n中的mcp client支持两种连接方式,一种是Http Streamable,另一种是Server Sent Events,但过期了。
我们回到Brave Search的github项目中查看,发现目前Brave Search已经迁移到2.0了,2.0默认支持的协议是STDIO。
于是通过不断查询调研,找到一个github上的可用的项目n8n-nodes-mcp:https://github.com/nerding-io/n8n-nodes-mcp
这个项目可以支持向n8n中增加宿舍区节点的的方式,来增加MCP Client的支持,并且是支持STDIO连接方式的,太好了,我们可以用这种方式集成了。
回到n8n服务,打开左下角的Settings,
点击左侧的Community nodes,然后点击install a community node ,
输入刚那个项目n8n-nodes-mcp, 勾选, 点击Install。
安装完成:
然后回到workflow,重新添加MCP Client节点,搜索mcp,点击右侧新增的这个节点,内容描述是Use MCP client。
配置MCP Client,先来配置Credential。
配置Credential一共有三个选项,分别是Command, Arguments 和 Environments,
我们再回到Brave Search这个github项目,不管n8n服务是docker安装的还是命令行npx安装,统一都用下面的配置来Credential。
将配置command和args的值分别填入n8n节点的Command和Arguments中,
BRAVE_API_KEY需要去https://api-dashboard.search.brave.com/ 进行注册账号,然后申请apikey
将申请到的apikey填入这里的xxxx部分即可。
Credential配置好后,然后配置Tool Description,这个可以自动配置,也可以手动配置,都可以。
最后配置Operation,这里有多种操作,我们可以选择List Tools来尝试看看MCP Server支持多少种操作。
这个设置完成后,就差最后一步了,我们再回到n8n-nodes-mcp的github官网,需要将
这个环境变量的值设置为TRUE:
同样,提供了Docker和命令行(npx或npm安装)两种方式,
如果是命令行安装的方式,先在命令行下执行export操作,再重启n8n。
如果是docker安装的方式,
在运行容器的配置项里加入环境变量,设置环境变量的值为True,保存即可。
然后再回到n8n MCP Client节点点击Execute Step 执行,就能看到MCP Server的返回结果了,可以看到Brave Search 支持brave_web_search , brave_local_search, brave_video_search和brave_image_search,brave_news_search,brave_summarizer这6种seach操作。
就快大功告成了,我们回到n8n的workflow, 点击AI Agent ,加入system提示词。
system提示词的作用保障大模型在需要的时候可以调用Tool的功能,如果没有system提示词的保障,很可能大模型就会随便回答我们的问题,而最终不会调用到MCP Server中的功能了。
具体的调用规范如果有时间深入研究,也可以看这里:https://modelcontextprotocol.io/specification/2025-06-18/server/tools
我们用Ai来给我们生成一段针对brave search 这个MCP server的system 提示词 。
You are an AI agent connected to an external tool environment.
This environment provides dynamic capabilities through one or more tools.
You do not need to know the tool names in advance — you can discover and invoke them automatically.
YOUR BEHAVIOR
- Whenever the user’s request requires data retrieval, reasoning with external knowledge, or actions beyond your internal memory, explore and use the available tools.
- Determine when external information is required (for example: current events, factual lookups, location-specific data, online content, images, videos, summaries, or lists).
- When a suitable tool is available, invoke it instead of fabricating an answer.
- When no tool can satisfy the query, clearly explain your limitation.
INTERACTION PRINCIPLES
- Do not mention tool names, endpoints, APIs, or implementation details in your reply.
- Present answers naturally as if you directly know or found the information, without referencing any backend process.
- Use concise, factual, and human-readable language.
- When a tool returns structured results (lists, items, summaries), convert them into natural sentences or bullet points.
- If tool output is insufficient, state that results were limited and suggest a better query.
FAIL-SAFE
- If a tool invocation fails or no tool exists, gracefully explain that live results are unavailable right now and suggest how the user could refine the question.
Your goal is to provide grounded, up-to-date, and accurate responses by intelligently discovering and invoking external tools when necessary — without ever exposing the tool layer itself.
将提示词复制到system message中,
再加入一个MCP Client节点,用来执行具体的功能,
配置节点:
然后执行整个workflow,尝试让ai给我找出10个最火的ai视频生成工具,执行成功。
结尾
今天的内容就到这里,下一期将分享如何将n8n和我们的产品思维相结合,不仅打造我们生活的自动化,还能实现我们商业自动化(尤其是我们的跨境电商),记得保持关注阿灏。
声明:来自程序员阿灏,仅代表创作者观点。链接:http://eyangzhen.com/4797.html