Rancher MCP服务器

一个Model Context Protocol (MCP)服务器,将Rancher Manager v2.x API暴露给LLM客户端,支持集群、项目、节点发现以及Kubernetes资源查询等功能。

  • by LokiMCPUniverse
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 LokiMCPUniverse/rancher-mcp-server

使用说明

Rancher MCP服务器

一个模型上下文协议(MCP)服务器,它公开了Rancher Manager v2.x API到LLM客户端。建立在官方 mcp Python SDK(FastMCP) 异步HTTP通过 httpx 通过以下方式进行设置管理 pydantic-settings.

特性

  • 使用Rancher API密钥的承载令牌身份验证(token-xxx:yyy...).
  • 针对以下对象的群集、项目和节点发现 /v3 API管理。
  • Kubernetes资源查询(namespaces, pods, deployments,吊舱日志) 通过牧场主 /k8s/clusters/{cluster_id} 代理。
  • 通过战略合并PATCH扩展部署 /scale 子资源。
  • 目录应用程序列表和按需生成kubeconfig。

需求

  • Python 3.10+
  • 可以通过HTTPS访问的Rancher Manager实例。
  • 从Rancher UI生成的API令牌(帐户->API和密钥)。这 令牌必须完整传递 token-xxx:yyy... 形式。

安装

pip install -e ".[dev]"

配置

通过环境变量(前缀)配置服务器 RANCHER_)或a .env 工作目录中的文件:

变量 描述 默认值
RANCHER_BASE_URL Rancher Manager基本URL(无尾随斜线)。 https://localhost
RANCHER_API_TOKEN 中的API令牌 token-xxx:yyy... 格式。 (必填)
RANCHER_VERIFY_SSL 验证TLS证书。 true
RANCHER_TIMEOUT HTTP超时(秒)。 60

跑步

rancher-mcp

服务器通过stdio与MCP通信,可以连接到任何支持MCP的设备 客户端(Claude Desktop、Cursor、自定义代理等)。

工具

工具 说明
list_clusters 列出所有托管集群。
get_cluster 按ID获取一个集群
list_projects 列出项目,可以选择将其范围限定在集群中。
list_nodes 列出群集中的节点。
list_namespaces 通过Rancher代理列出Kubernetes命名空间。
list_pods 列出Pod(可选命名空间范围)。
list_deployments 列出部署(可选命名空间范围)。
get_pod_logs 尾舱原木。
scale_deployment 通过以下方式扩展部署 /scale 子资源。
list_catalog_apps 列出群集中安装的目录应用程序。
create_kubeconfig 为集群生成kubeconfig。

发展

python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytest -x --tb=short
ruff check src tests

许可证

MIT许可证-有关详细信息,请参阅许可证文件。