MCP Kubernetes
Kubernetes操作的模型上下文协议服务器。
描述
该项目实现了一个MCP(模型上下文协议)服务器,用于Kubernetes集群的高级管理。它提供了查询、管理和监视资源(如Pod、部署、节点和日志)的工具,并支持多个上下文和名称空间。
特性
- 🟢 Pod管理:
- 📦 按命名空间和上下文列出Pod。 - 🔍 检索完整的pod详细信息,包括事件、容器、卷和状态。
- 🚀 部署管理:
- 📦 按命名空间和上下文列出部署。 - 📈 扩展副本并推出(重新启动)部署。 - 📝 查询详细的部署状态。
- 🖥️ 节点管理:
- 🗂️ 列出具有容量、状态、角色和集群摘要的节点。
- 📄 Pod日志:
- 📝 从特定的Pod和容器中检索日志,并提供以前日志和行数的选项。
- 🔄 多上下文支持:
- 🔎 查询和切换Kubernetes上下文。 - ⚙️ 设置默认上下文。
- ⚙️ 配置和日志记录:
- 🛠️ 用于加载Kubernetes配置和结构化日志的实用程序。
安装
pip install -r requirements.txt用法
运行MCP服务器:
python src/mcp_kubernetes/main.pyAPI示例
这些工具作为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许可证。请参阅 许可证 文件
