返回 MCP 目录
public公开dns本地运行

metoro-mcp-server

Metoro MCP Server是一个开源项目,通过Model Context Protocol协议将Kubernetes集群数据接入Claude桌面应用,实现AI驱动的集群观测。

article

README

🚀 Metoro MCP 服务器

Metoro MCP 服务器允许您通过 Claude 桌面应用程序与您的 Kubernetes 集群交互,它基于开放的 Model Context Protocol(MCP),能让 LLM 应用程序与外部数据源和工具无缝集成。

🚀 快速开始

安装依赖

  1. 安装 Claude 桌面应用程序
  2. 确保已安装 Golang。在 Mac 上使用 brew install go,在 Ubuntu 上使用 sudo apt-get install golang

克隆并运行

  1. 克隆仓库:git clone https://github.com/metoro-io/metoro-mcp-server.git
  2. 编译代码并运行服务器。

✨ 主要特性

  • 开放协议集成:Model Context Protocol (MCP) 是开放协议,使 LLM 应用程序能与外部数据源和工具无缝集成。
  • 微服务观测数据暴露:Metoro 是用于运行在 Kubernetes 上的微服务观测平台,此 MCP 服务器通过 APIs 将 Metoro 收集的数据暴露给 LLM,可向 AI 提问关于 Kubernetes 集群的问题。
  • 功能可扩展性:支持通过插件扩展功能,还能配置自动化规则以响应特定上下文事件。
  • 安全保障:默认启用 TLS 加密通信,支持设置管理员密码和访问令牌,可限制服务监听地址。

📦 安装指南

下载源码并编译

# 克隆仓库
git clone https://github.com/metoro-io/metoro-mcp-server.git
cd metoro-mcp-server

# 安装依赖
go mod tidy

# 启动服务器(默认在 :8080 端口)
go run main.go

配置环境变量

编辑 config.yaml 文件:

# 数据源配置
data_source:
  type: "kubernetes" # 支持的类型:kubernetes, demo
  kubernetes_config:
    endpoint: "https://your-kubernetes-api-endpoint"
    token_path: "/path/to/kubernetes/token"

# 上下文处理配置
context_processor:
  enabled: true
  filters:
    - type: "label" # 根据标签过滤数据
      key: "app"

💻 使用示例

基础用法

获取 pod 资源使用情况:

curl -X POST http://localhost:8080/api/v1/metrics/pods \
     -H "Content-Type: application/json" \
     -d '{"labelSelectors":{"app":"web"}}'

查询节点健康状态:

curl http://localhost:8080/api/v1/health/nodes

高级用法

插件扩展

MCP 服务器支持通过插件扩展功能。将自定义插件放在 plugins/ 目录下,实现 Plugin 接口即可。

type Plugin interface {
    Process(context.Context, *models.Request) (*models.Response, error)
}

自动化规则

配置自动化规则以响应特定上下文事件: 编辑 rules.yaml

rules:
  - name: "内存警告处理"
    condition: "resource_limits.memory > 80%"
    action: "scale_replicas"
    parameters:
      target replicas: 3

  - name: "CPU 使用率优化"
    condition: "average_cpu_usage > 70% and day_of_week: ['周一', '周二']"
    action: "建议升级配置"

📚 详细文档

什么是 MCP(Model Context Protocol)?

更多关于 Model Context Protocol 的信息,请访问 https://modelcontextprotocol.io

但简单来说:

Model Context Protocol (MCP) 是一个开放协议,使 LLM 应用程序能够与外部数据源和工具无缝集成。无论是构建 AI 驱动的 IDE、增强聊天界面还是创建自定义 AI 工作流程,MCP 都提供了一种标准方式来连接 LLM 与其所需上下文。

什么是 Metoro?

Metoro 是一个用于运行在 Kubernetes 上的微服务观测平台,并使用基于 eBPF 的仪器化生成深度 telemetry 而不进行任何代码更改。由 eBPF 代理生成的数据发送到 Metoro 后台存储,并通过 Metoro 前端 API 使用。

此 MCP 服务器通过我们的 APIs 将这些数据暴露给 LLM,因此您可以向 AI 提问关于您的 Kubernetes 集群的问题。

演示

视频演示

安全注意事项

  • 默认启用 TLS 加密通信。
  • 支持设置管理员密码和访问令牌。
  • 可以通过设置 --bind-address 来限制服务监听地址。

常见问题

  • 如何调试服务?
    go run main.go --debug=true
    
  • 性能优化建议:
    • 使用 Gunicorn 替代默认的 Go HTTP 服务器。
    • 配置适当的内存和 CPU 分配。

其他资源

🔧 技术细节

此服务器基于我们的 Golang MCP SDK 构建。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端