模块五: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路径)

参考资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值