Mcp_k8s_server

Mcp_k8s_server

🚀 MCP-K8S 服务器

MCP-K8S 是一款基于 Python 的 Kubernetes 资源管理工具,借助模型上下文协议(Model Context Protocol, MCP),实现对 Kubernetes 集群资源的便捷访问与操作。它支持多种资源类型,提供了丰富的功能,可高效管理和监控 Kubernetes 资源。

🚀 快速开始

启动服务器

使用以下命令启动 MCP-K8S 服务器:

python -m mcp_k8s_server.run --kube-config ~/.kube/config

默认情况下,服务器将在 http://localhost:8000 地址上运行。

配置文件

您可通过编辑配置文件来自定义服务器行为,配置文件格式如下:

# config.yaml
server:
name: mcp-k8s-server
transport: both  # 支持 stdio、sse 或两者
port: 8000
host: 0.0.0.0

kubernetes:
config_path: ~/.kube/config
context: default
namespace: default

测试连接

服务器启动后,可通过访问 http://localhost:8000 或使用 MCP 客户端工具与之交互。

✨ 主要特性

MCP-K8S 服务器具备以下功能:

资源信息

  • get_resources:获取指定类型的所有资源。
  • get_resource:获取特定资源的详细信息。
  • get_namespaces:获取所有可用命名空间。
  • get_events:获取集群中的所有事件。

资源操作

  • create_pod:创建新的 pod。
  • delete_pod:删除指定 pod。
  • update_deployment:更新 deployment 的配置。
  • scale_deployment:调整 deployment 的副本数量。

集群监控

  • list_nodes:获取所有节点的信息。
  • get_node_status:获取指定节点的状态。
  • get_cluster_events:获取集群范围内的所有事件。
  • watch_resources:实时监控资源的变化。

📦 安装指南

要安装 MCP-K8S 服务器,请运行以下命令:

pip install mcp-k8s-server

💻 使用示例

基础用法

from mcp_k8s_server.client import MCPClient

client = MCPClient("http://localhost:8000")
pod_info = client.get_resource("k8s://default/pods/my-pod")
namespace_list = client.get_namespaces()

📚 详细文档

资源 URI 模式

MCP-K8S 服务器支持以下资源 URI 模式:

命名空间内资源

  • k8s://{namespace}/{resource_type}:获取指定命名空间中特定类型的所有资源。
    • 示例:k8s://default/pods,可获取默认命名空间中的所有 pod。
  • k8s:///{namespace}/{resource_type}/{name}:获取指定命名空间内特定类型的单个资源。
    • 示例:k8s://default/deployments/nginx,可获取默认命名空间中名为 nginx 的 deployment。

集群范围资源

  • k8s:///{resource_type}:获取集群范围内所有特定类型的所有资源。
    • 示例:k8s:///nodes,可获取集群中的所有节点。
  • k8s:///{resource_type}/{name}:获取集群范围内特定类型的单个资源。
    • 示例:k8s:///nodes/worker-1,可获取名为 worker-1 的节点。

支持的资源类型

命名空间内资源

  • pods
  • deployments
  • services
  • persistentvolumeclaims
  • events

集群范围资源

  • nodes
  • persistentvolumes
  • namespaces

配置指南

默认配置

启动服务器时,默认会读取 config.yaml 文件中的配置。若文件不存在,可使用以下命令生成默认配置:

mcp-k8s-server init-config

自定义配置

您可通过编辑 config.yaml 文件来自定义服务器行为,例如指定 Kubernetes 配置文件路径、选择传输协议(HTTP 或 SSE)等。

故障排除

若在使用过程中遇到问题,请检查以下常见问题:

  1. 无法连接到 Kubernetes 集群:确保 Kubernetes 配置文件有效,且集群正在运行。
  2. 资源获取失败:检查网络连接和权限配置。
  3. 性能问题:优化查询参数,减少不必要的数据加载。

📄 许可证

MCP-K8S 服务器遵循 MIT License 协议,您可在项目仓库中找到完整的许可信息。


MCP-K8S 服务器是一个功能强大的 Kubernetes 资源管理工具,能够帮助开发者和运维人员更高效地管理和监控 Kubernetes 集群资源。通过 MCP 协议的强大功能,您可以轻松实现对集群资源的实时操作和监控。

  • 0 关注
  • 0 收藏,19 浏览
  • system 提出于 2025-10-05 15:24

相似服务问题

相关AI产品