模块五:n8n自动化工作流 + Ollama + Health-MCP

本文是系列博文的第五篇,将带你完成两条AI链路中的编排层搭建------在WSL中部署n8n,并将其与本地Ollama和health-mcp服务集成,构建可编排的AI自动化工作流。


一、n8n的安装架构决策

本系列延续之前的 Windows 宿主 + WSL子系统 混合架构。n8n的部署方案经过以下评估:

1.1 推荐方案:WSL + Docker部署

将n8n部署在WSL的Docker容器中,理由如下:

  • 环境隔离:n8n及其依赖(数据库、缓存)与宿主机隔离,便于维护
  • 官方支持 :n8n官方推荐Docker部署方式,文档完善-1
  • 资源可控:容器化便于限制CPU/内存资源

1.2 网络配置:打通n8n容器到Windows Ollama

关键问题:n8n容器内部无法直接访问Windows宿主机的127.0.0.1:11434------每个Docker容器都有自己的localhost,指向容器自身而非宿主机。

解决方案

在docker-compose.yml中添加extra_hosts配置,将host.docker.internal映射到宿主网关:

services:

n8n:

image: docker.n8n.io/n8nio/n8n

container_name: n8n

ports:

  • "5678:5678"

extra_hosts:

  • "host.docker.internal:host-gateway"

volumes:

  • n8n_data:/home/node/.n8n

environment:

  • N8N_SECURE_COOKIE=false # 本地开发可关闭

volumes:

n8n_data:

在Docker Desktop(Windows/macOS)上,host.docker.internal是默认可用的;Linux服务器需通过--add-host或extra_hosts手动配置。


二、配置n8n连接Ollama

2.1 创建Ollama凭证

  1. 在n8n界面右上角,点击下拉菜单选择 Create Credential
  2. Add new credential 中选择 Ollama
  3. 设置Base URL为 http://host.docker.internal:11434(因为Ollama运行在Windows宿主机上)-5
  4. 点击 Save

配置完成后,应看到 Connection tested successfully 提示-5

踩坑提示 :如果遇到connect ECONNREFUSED ::1:11434错误,说明系统启用了IPv6但Ollama只监听IPv4。将Base URL改为http://127.0.0.1:11434可解决-1

2.2 验证连接

在n8n中创建一个新工作流,添加 Ollama Chat Model 节点,选择deepseek-r1:7b模型,发送测试消息验证连通性。

n8n容器(WSL)

↓ host.docker.internal:11434

Windows Ollama(:11434)

deepseek-r1:7b


三、构建第一个AI工作流

3.1 基础Agent结构

使用 Manual Trigger + AI Agent 节点搭建基础对话Agent:

Manual Trigger(手动触发)

AI Agent

├── Ollama Chat Model(绑定deepseek-r1:7b)

├── Window Buffer Memory(对话记忆)

└── 输出结果

3.2 注意事项:Ollama Model节点 vs AI Agent

需要注意的是,n8n中的 Ollama Model 节点本身不支持工具调用 ,无法直接与AI Agent节点配合使用-8。如需在AI Agent中使用Ollama模型,应通过 Ollama Chat Model 节点(位于AI分类下)或LangChain Chain节点连接。

正确的连接方式:

Manual Trigger

Basic LLM Chain(或AI Agent)

├── Ollama Chat Model(选择deepseek-r1:7b)

└── Prompt模板


四、集成Health-MCP工具

4.1 方案A:HTTP Request节点(推荐先尝试)

如果health-mcp提供了HTTP API接口(如模块四中分析的路由),使用HTTP Request节点是最直接的集成方式:

Webhook触发 → AI Agent规划 → HTTP Request调用health-mcp API → 返回结果

优势:调试简单,返回结果结构化,易于排查问题。

4.2 方案B:MCP Client节点(标准方式)

n8n原生支持MCP协议,可通过 MCP Client 节点MCP Client Tool 节点 连接外部MCP Server。

MCP Client节点:将MCP工具作为工作流中的独立步骤使用

MCP Client节点

├── Server Transport: Streamable-HTTP / stdio

├── MCP Endpoint URL: http://127.0.0.1:7777/mcp

├── 自动获取工具列表

└── 选择具体工具调用

MCP Client Tool节点:将MCP工具暴露给AI Agent作为可用工具

AI Agent

├── Ollama Chat Model

└── MCP Client Tool(连接health-mcp Server,自动加载Tools)

MCP Client节点支持Bearer Token、多Header等认证方式,可通过HEALTH_MCP_TOKEN环境变量配置认证。

4.3 完整工作流示例

┌─────────────────────────────────────────────────────────┐

│ Webhook节点(接收用户指令) │

│ ↓ │

│ AI Agent节点 │

│ ├── 模型: ollama-bridge/deepseek-r1:7b │

│ ├── 内存: Window Buffer Memory │

│ └── 工具: MCP Client Tool → health-mcp Server │

│ ↓ │

│ health-mcp工具调用 │

│ ├── get_current_statusA: 获取今日健康状态 │

│ ├── log_meal: 记录餐食 │

│ └── query_records: 查询历史数据 │

│ ↓ │

│ 返回结构化结果给用户 │

└─────────────────────────────────────────────────────────┘

health-mcp提供的工具集包括get_current_statusA(健康状态快照)、get_score_historyA(评分时间序列)、query_recordsA(原始记录查询)、list_sourcesA(数据源列表)等,可根据场景灵活选用。


五、模块小结与实战产出

本文核心要点回顾

  1. n8n部署:在WSL中使用Docker部署n8n,通过extra_hosts配置打通容器到Windows Ollama的网络
  2. Ollama凭证 :Base URL使用http://host.docker.internal:11434连接宿主机服务-5
  3. AI Agent构建 :使用AI Agent节点绑定Ollama Chat Model,注意Ollama Model节点不支持工具调用-8
  4. Health-MCP集成 :优先尝试HTTP API方式,再考虑MCP Client节点的标准方式-2-6

实战产出

产出 说明
n8n容器环境 WSL Docker中运行,监听:5678
Ollama凭证 已测试通过,可调用deepseek-r1:7b
AI Agent工作流 手动触发或Webhook触发的对话Agent
Health-MCP集成 通过HTTP Request或MCP Client调用健康数据工具

核心配置文件清单

  • docker-compose.yml(含extra_hosts: host.docker.internal:host-gateway)
  • n8n Ollama凭证(Base URL: http://host.docker.internal:11434
  • MCP Client节点配置(Endpoint指向health-mcp的/mcp路径)

参考资源

相关推荐
jonyleek1 小时前
工业物联网边缘计算架构设计:从数据采集到本地决策
人工智能·物联网·边缘计算·工业物联网·边缘网关·jvs物联网平台·iot架构
桐盛科技1 小时前
拒绝“漂绿”风险:基于边缘计算的碳排放数据清洗算法与实时校验逻辑
人工智能·算法·边缘计算
Mr数据杨1 小时前
汽车故障时间与类别预测实战 从 Kaggle 结构化赛题理解预测性维护建模
人工智能·数据分析·kaggle竞赛
147API1 小时前
蒸馏项目什么时候该停,怎样切换到RAG、微调或模型路由
人工智能·深度学习·机器学习·数据挖掘
ltqvibe1 小时前
AI问数、找IT取数、自己导Excel,三条路怎么选
人工智能·excel·数据报表·智能问数·ai问数·本体语义·取数
小饕1 小时前
llama‑cpp边缘部署内存溢出(OOM)问题排查报告
人工智能·大模型端侧部署
paopaokaka_luck1 小时前
基于springboot3+vue3的精准扶贫管理系统(AI 问答、ECharts 图形化分析)
前端·人工智能·echarts
Wang's Blog1 小时前
Vibe Coding一人即团队系列51: AI赋能项目交付与产品文档自动化生成实践
人工智能·自动化·devops
Carol06301 小时前
AI 进化全景:符号 AI‑大模型‑通用 Agent 发展之路
人工智能