Ramen Vibe 项目

可自托管的多可用区企业级 Kubernetes MCP 服务器:Rust 节点 + Python 运行时,灰度发布与 O

项目简介

Ramen(bkraad47/ramen)是一个可自托管、面向多可用区的企业级 Kubernetes MCP 服务器,面向 GKE 与 EKS 集群。它把一个存放工具、资源与提示词的 Git 仓库,变成负载均衡器后面的一组 MCP 工作节点:每个节点由一个 Rust 编写的 MCP 内核与一个 Python 3.14 运行时一一配对,前者负责 Streamable HTTP 与 gRPC 双通道通信、令牌校验、IP 白名单、健康检查与日志,后者通过 pip 安装并执行用户代码。分组、环境、可用区、密钥、灰度发布、再平衡、IP 规则、日志、审计与备份,全部由一个 FastAPI 控制台统一管理,既能在浏览器里操作,也能用 API 密钥自动化。

核心功能

  1. Git → 对象存储 → 工作节点的部署链路:发布时仓库同步到存储桶,工作节点按内容哈希加载代码,Pod 上不保存任何 Git 凭据。
  2. 默认灰度发布:先放金丝雀节点、跑一遍 tools/list 冒烟测试,再推进稳定轨道,失败时稳定版本完全不受影响。
  3. 从第一天就支持多可用区:分组 → 环境 → 可用区 → 工作节点四层结构,负载均衡器按 ramen-group 与 ramen-zone 元数据路由,客户端只需一份配置即可覆盖所有区。
  4. 企业级权限与安全:分组内角色(分组管理员、只读成员、MCP 用户)加全局超级管理员,rmk 前缀的 MCP 密钥与 rmn 前缀的 API 密钥各司其职不可混用,节点级 IP 规则配合边缘 Cloud Armor 策略,密钥只显示一次,每个动作都留审计记录。
  5. 双传输通道:边缘走 Streamable HTTP(POST /mcp),内部走 gRPC,共用同一套鉴权、限流与日志守卫,两侧错误语义一一对应,不会出现行为漂移。
  6. 更省成本的扩容方式:每个可用区一个 Deployment 而非每个工具一个,三十个小工具共用一个部署与一个负载均衡器,自动扩容按负载加 Pod,而不是按工具数量膨胀。

技术实现

Rust MCP 节点承担协议层:Streamable HTTP 入口对任意能发 HTTP 请求的客户端开放,手机、浏览器与托管智能体平台都能直连,同时保留内部 gRPC 通道和给纯 stdio 客户端使用的桥接进程。Python 3.14 运行时与节点一一绑定,按内容哈希加载仓库中的工具代码,用户代码从不在控制台进程里执行,从而把不可信逻辑隔离在独立运行时中。跨可用区的令牌限流通过 Redis 共享,灰度与稳定轨道由控制台编排,稳定轨道必须等金丝雀通过后才继续。控制台本身是 FastAPI 应用,同时充当 OAuth 授权服务器,可以按人签发令牌;静态密钥与 OAuth 登录在 GKE 上均已实测通过,HTTP/1.1 与 HTTP/2 经同一负载均衡器进入,自 0.5.5 起使用受信任的公开证书。项目采用 BSD-3-Clause 许可证,当前版本 0.6.23,本地环境与持续集成在 Linux、Windows 上验证双通道,GKE 与 AWS 都有真实集群部署记录,2026 年 10 月 4 日至 5 日刚完成两区部署,覆盖灰度发布、跨区限流、OAuth 登录与可用区回收。

快速上手

  1. 准备 Docker(compose v2)、uv、git 与 make,克隆仓库:git clone https://github.com/bkraad47/ramen 并进入目录。
  2. 执行 make up,首次构建两个镜像约需三到五分钟,随后本地拉起 Firestore 模拟器、控制台(https://localhost:8443)与一个同时监听 Streamable HTTP 和 gRPC 的工作节点(localhost:8080)。
  3. 执行 make demo,自动创建可用区、demo 分组与一次金丝雀发布,生成 rmk_ 密钥并调用一次工具,看到 demo_calculator_tool(2,3,add) 返回 5 即表示链路打通。
  4. 打开控制台登录(admin@ramen.local / changeme-ramen),在分组页生成密钥,把地址与请求头写进客户端的 mcpServers 配置即可连接。
  5. 只会 stdio 的客户端执行 pip install ramen-mcp-bridge 安装桥接,用同一把密钥转发到工作节点;make down 可停止并清理数据卷。

适用人群

平台工程与 SRE 团队、需要在多云 Kubernetes 上托管 MCP 服务的企业、希望把内部工具仓库快速暴露给智能体的后端与 AI 应用团队,以及对审计、多租户与网络隔离有硬性要求的组织。

官方链接

https://github.com/bkraad47/ramen (文档:https://bkraad47.github.io/ramen/)

团队信息

由 AI 猎手自动发现

评论与建议

0 条评论