返回市场
麦普_kubernetes

麦普_kubernetes

作者:jterceiro9 星标更新:2025-08-31

项目介绍

MCP Kubernetes

用于Kubernetes操作的模型上下文协议服务器。

描述

该项目实现了一个MCP(模型上下文协议)服务器,用于高级管理Kubernetes集群。它提供了查询、管理和监控资源(如pod、部署、节点和日志)的工具,并支持多个上下文和命名空间。

特性

  • 🟢 Pod 管理:
    • 📦 按命名空间和上下文列出pod。
    • 🔍 获取完整的pod详细信息,包括事件、容器、卷和状态。
  • 🚀 部署管理:
    • 📦 按命名空间和上下文列出部署。
    • 📈 调整副本数量并重新启动部署。
    • 📝 查询详细的部署状态。
  • 🖥️ 节点管理:
    • 🗂️ 列出节点及其容量、状态、角色和集群概要。
  • 📄 Pod 日志:
    • 📝 从特定pod和容器中获取日志,支持获取历史日志和行数选项。
  • 🔄 多上下文支持:
    • 🔎 查询和切换Kubernetes上下文。
    • ⚙️ 设置默认上下文。
  • ⚙️ 配置和日志记录:
    • 🛠️ 加载Kubernetes配置和结构化日志记录的实用工具。

安装

pip install -r requirements.txt

使用方法

运行MCP服务器:

python src/mcp_kubernetes/main.py

API 示例

这些工具作为MCP函数公开,可以从兼容客户端调用:

  • 获取pod: get_pods(context="my-context", namespace="default")
  • pod详情: get_pod_details(environment="prod", pod_name="nginx-123", namespace="default", context="my-context")
  • 获取部署: get_deployments(context="my-context", namespace="default")
  • 调整部署规模: scale_deployment(namespace="default", deployment_name="web", replicas=5)
  • 重新部署: rollout_deployment(namespace="default", deployment_name="web")
  • 获取节点: get_nodes(context="my-context")
  • 获取日志: get_logs(context="my-context", environment="prod", pod_name="nginx-123", namespace="default", container="nginx")
  • 可用上下文: get_available_contexts()
  • 更改上下文: set_default_context(context="other-context")

项目结构

  • src/mcp_kubernetes/main.py:MCP服务器的主要入口点。
  • src/mcp_kubernetes/config.py:配置和日志记录实用工具。
  • src/mcp_kubernetes/tools/:Kubernetes工具模块:
    • deployments.py:部署管理。
    • pods.py:pod管理和详细信息。
    • nodes.py:节点信息和概要。
  • logs.py:pod日志检索。

贡献

欢迎贡献!请打开问题或拉取请求以提出建议和改进。

许可证

MIT许可证。参见LICENSE文件。