返回市场
n8n代理网关MCP服务器配置

n8n代理网关MCP服务器配置

作者:AdminTurnedDevOps2 星标更新:2025-11-03

项目介绍

n8n通过agentgateway连接到MCP服务器演示

本演示展示了如何通过运行在Kubernetes中的agentgateway(作为数据平面)将n8n连接到MCP(模型上下文协议)服务器。kgateway作为控制平面。

架构

n8n → agentgateway (K8s 数据平面) → MCP 服务器 (网站抓取器)
         ↑
    kgateway (控制平面)

组件

  • n8n: 用于编排API调用的工作流自动化平台
  • kgateway: 用于API网关管理的Kubernetes原生控制平面
  • agentgateway: 代理请求到AI代理和MCP服务器的数据平面
  • MCP 服务器: 可以抓取和处理网页内容的网站抓取器MCP服务器

预备条件

  • Kubernetes集群(minikube、kind或云提供商)
  • 已配置的kubectl
  • Helm 3.x

快速开始

安装

  1. 运行 k8s/agentgateway/install.md 中的配置
  2. 运行 k8s/mcp-server/mcp-server.md 中的配置
  3. 运行 k8s/n8n/n8n-deployment.yaml 中的配置

访问n8n UI

kubectl port-forward -n n8n svc/n8n 5678:5678

打开 http://localhost:5678

  • 用户名: admin
  • 密码: admin

导入并运行n8n工作流(1分钟)

设置

  1. 在n8n UI中,点击橙色的创建工作流按钮
  2. 在右上角,你会看到三个点的图标。
  3. 点击三个点并选择**从文件导入...**选项
  4. 上传位于n8n目录下的mcp-demo-workflow.json文件
  5. 点击通过agentgateway调用MCP服务器,你将在下一节中对其进行配置

配置

以下设置应被设定:

  • 方法: POST
  • URL: 你的网关IP地址和监听端口,即8080。例如:http://135.23.125.225:8080/
  • 认证: 无
  • 点击发送头信息按钮,并添加以下两个头信息:
    1. 名称: Accept

    2. 值: application/json, text/event-stream

    3. 名称: Content-Type

    4. 值: application/json

  • 点击发送正文按钮,并添加以下JSON:
{
  "jsonrpc": "2.0",
  "method": "initialize",
  "params": {
    "protocolVersion": "2024-11-05",
    "capabilities": {},
    "clientInfo": {
      "name": "test-client",
      "version": "1.0.0"
    }
  },
  "id": 1
}

你应该会看到类似以下的输出

目录结构

.
├── README.md
├── k8s/
│   ├── agentgateway/      # agentgateway安装说明
│   │   └── install.md     # Helm安装命令
│   ├── mcp-server/        # MCP服务器部署
│   │   └── mcp-server.md # 完整的MCP设置(部署、服务、网关、后端、路由)
│   └── n8n/              # n8n部署
│       └── n8n-deployment.yaml
└── n8n/
    └── workflows/         # 示例n8n工作流
        └── mcp-demo-workflow.json

工作原理

该演示使用了Kubernetes Gateway API模式:

  1. Gateway资源定义了入口点(监听8080端口)
  2. HTTPRoute将Gateway连接到Backend,并定义了路由规则
  3. Backend(自定义的kgateway资源)指定了目标MCP服务器及其SSE协议
  4. n8n向agentgateway服务发送HTTP请求
  5. agentgateway(数据平面)接收请求并根据HTTPRoute配置进行路由
  6. kgateway(控制平面)管理和配置路由基础设施
  7. MCP服务器(网站抓取器)处理请求并返回响应
  8. 响应通过agentgateway返回给n8n

资源关系:

Gateway (agentgateway)
   ↓ parentRef
HTTPRoute (mcp-route)
   ↓ backendRef
Backend (mcp-backend)
   ↓ target
Service (mcp-website-fetcher)