ingress2gateway-aws-mcp
This server is a conversational migration tool that converts Nginx Ingress configurations to AWS Gateway API (ALB/NLB) resources for Kubernetes clusters.
check_prerequisites: Verify that the target EKS environment meets all AWS Gateway API migration requirements, including AWS Load Balancer Controller version, Gateway API CRDs, feature gates, and ACM certificate coverage for TLS hostnames.analyze_ingress: Parse and analyze Nginx Ingress YAML to produce a structured report covering annotation compatibility, route type distribution (L4/L7), TLS hosts, cross-namespace references, and cost estimates. Supports TCP/UDP services ConfigMaps.convert_to_gateway_api: Run the full conversion pipeline from Nginx Ingress YAML tokubectl apply-ready AWS Gateway API YAML, including GatewayClass injection, TLS fixup, L4/L7 splitting, Gateway merging, and generation of AWS-specific CRDs (LoadBalancerConfiguration,TargetGroupConfiguration,ListenerRuleConfiguration). Supports customizable scheme, namespace, gateway grouping strategy, and health check parameters.generate_migration_report: Produce a comprehensive Markdown report covering summary, cost impact, DNS changes, annotation analysis, health check reminders, ACM certificate checklist, step-by-step migration checklist, and a rollback plan.validate_output: Offline-validate generated Gateway API YAML against schema rules and AWS LBC constraints, checking for required fields, L4/L7 mixing issues, impropercertificateRefsusage,parentRefconsistency, experimental channel requirements, and cross-namespace reference coverage.
Checks ACM certificate prerequisites for TLS hostnames during the migration process.
Provides tools for migrating Nginx Ingress to AWS Gateway API (ALB/NLB), including conversion, validation, and generation of migration reports.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ingress2gateway-aws-mcpconvert the ingress file to AWS Gateway API YAML"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ingress2gateway-aws-mcp
MCP Server:将 Nginx Ingress 转换为 AWS Gateway API(ALB / NLB)资源的对话式迁移工具。
背景
Ingress-NGINX 已于 2026 年 3 月退役,AWS Load Balancer Controller v2.14+ 正式支持 Kubernetes Gateway API。本工具封装社区官方转换器 ingress2gateway,在其基础上叠加 AWS 专属后处理,提供对话式迁移体验。
Related MCP server: ARC Config MCP Server
工具列表
工具 | 功能 |
| 检查 LBC 版本、Gateway API CRD、feature gate、ACM 证书 |
| 分析 Nginx Ingress 注解分布、路由类型、成本预估 |
| 完整转换管道 → 生成可 |
| 输出 Markdown 迁移报告(成本/DNS/健康检查/Checklist) |
| 离线校验生成的 Gateway API YAML |
安装
方式一:本地 pip
pip install .需要 Python 3.11+。可选:安装 ingress2gateway Go 二进制以获得官方转换器覆盖;AWS LBC 不支持的能力仍会由本工具报告为 warning/error(不安装时自动使用内置转换器):
go install github.com/kubernetes-sigs/ingress2gateway@v1.1.0方式二:Docker
docker build -t ingress2gateway-aws-mcp .
docker run --rm -i ingress2gateway-aws-mcp连接到 AI 客户端
Kiro
Kiro CLI:
kiro-cli mcp add --name ingress2gateway-aws-mcp \
--scope global \
--command python3 \
--args "/path/to/ingress2gateway-aws-mcp/src/server.py"Kiro IDE(工作区:.kiro/settings/mcp.json,全局:~/.kiro/settings/mcp.json):
{
"mcpServers": {
"ingress2gateway-aws-mcp": {
"command": "python3",
"args": ["/path/to/ingress2gateway-aws-mcp/src/server.py"]
}
}
}Kiro IDE 支持热重载,修改 mcp.json 后无需重启,下次空闲时自动生效。
Claude
Claude Code CLI:
claude mcp add ingress2gateway-aws-mcp python3 /path/to/ingress2gateway-aws-mcp/src/server.pyClaude Desktop(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"ingress2gateway-aws-mcp": {
"command": "python3",
"args": ["/path/to/ingress2gateway-aws-mcp/src/server.py"]
}
}
}EKS 集群前置要求
目标集群必须满足以下条件,生成的 YAML 才能成功 apply:
项目 | 要求 |
AWS LBC 版本 | ≥ v2.14.0(L7)/ ≥ v2.13.3(L4) |
LBC feature gate |
|
Gateway API standard channel | v1.5.0+(HTTPRoute / GRPCRoute / ReferenceGrant) |
Gateway API experimental channel | 仅当有 TCP/UDP/TLSRoute 或 BackendTLSPolicy 时需要 |
AWS 定制 CRD |
|
ACM 证书 | 每个 TLS hostname 在同 Region 有对应证书 |
Subnet 标签 |
|
快速搭建满足上述条件的集群,参见 infra/cluster.yaml。
使用示例
你:帮我分析一下这个 Ingress 文件
<粘贴 ingress.yaml 内容>
AI 调用 analyze_ingress →
返回注解兼容性报告、路由类型分布、成本预估
你:转换成 Gateway API YAML
AI 调用 convert_to_gateway_api → 返回可直接 apply 的 YAML
你:生成完整迁移报告
AI 调用 generate_migration_report → 返回 Markdown 报告示例输入文件见 examples/input/,对应转换结果见 examples/output/。
目录结构
转换管道概览
Ingress YAML
│
▼ converter.run() ← ingress2gateway 二进制 / 内置 Python 转换器
│
▼ gateway.inject() ← 注入 aws-alb / aws-nlb GatewayClass
▼ gateway.fix_tls() ← 移除 certificateRefs,改 hostname → ACM 自动发现
▼ gateway.split() ← L4/L7 强制分离,重写 parentRefs
▼ gateway.merge() ← 按策略合并 Gateway,控制 ALB/NLB 数量
│
▼ crd.generate_for_resources() ← LoadBalancerConfiguration(每个 Gateway)
▼ crd.generate_for_routes() ← TargetGroupConfiguration(每个 Service / 健康检查 / stickiness)
▼ crd.generate_for_ingresses() ← ListenerRuleConfiguration(OIDC / 源 IP)
▼ crd.attach_listener_rule_configs() ← 通过 HTTPRoute ExtensionRef 绑定认证 / 源 IP 条件
│
▼ 可 kubectl apply 的 Gateway API YAML文档
文档 | 内容 |
模块职责、转换管道数据流、AWS 资源模型、关键设计决策 | |
Nginx 注解兼容性速查表(auto / partial / warning / error 分类) | |
部署手册(本地/Docker/Kiro+Claude 接入、EKS 前置条件)+ 故障排查 |
开发
pip install -e ".[dev]"
pytest tests/ -vLicense
MIT - see the LICENSE file for details.
免责声明
本项目仅供学习与技术参考,不构成生产部署方案。
使用本工具生成的 Gateway API YAML 在 apply 到集群前,请结合实际业务进行安全评估与调整。
部署过程中会在 AWS 上创建 EKS 集群、ALB/NLB 及相关资源并产生费用,请在实验结束后及时清理。
作者不对因使用本项目产生的任何费用或损失承担责任。
本项目与 Amazon Web Services 及 Kubernetes SIGs 无官方关联,相关服务的可用性与定价以各方官方文档为准。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-quality-maintenanceProvides a chat interface with natural language processing to deploy and manage AWS resources through an integrated Model Context Protocol (MCP) server.Last updated2
- Flicense-qualityCmaintenanceEnables natural language management of GitHub Actions Runner Controller (ARC) in Kubernetes clusters. Supports automated installation, scaling, monitoring, and troubleshooting of GitHub Actions runners through conversational AI commands.Last updated
- Alicense-qualityDmaintenanceProvides conversational access to LocalStack AWS services (S3, DynamoDB, Lambda, SQS) through natural language, enabling local cloud infrastructure management without real AWS costs.Last updatedMIT
- Alicense-qualityDmaintenanceEnables AI-powered Kubernetes management using natural language, supporting kubectl, Helm, diagnostics, and port forwarding via MCP protocol.Last updatedMIT
Related MCP Connectors
Designs, prices, and deploys AWS/GCP cloud infrastructure from plain-English requirements.
Enterprise AI Control Plane: governance, guardrails, spend tracking, compliance & smart routing.
Give your AI assistant access to real Helm chart data. No more hallucinated values.yaml files.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/toreydai/ingress2gateway-aws-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server