使用说明
Rancher MCP服务器
一个模型上下文协议(MCP)服务器,它公开了Rancher Manager v2.x
API到LLM客户端。建立在官方 mcp Python SDK(FastMCP)
异步HTTP通过 httpx 通过以下方式进行设置管理 pydantic-settings.
特性
- 使用Rancher API密钥的承载令牌身份验证(
token-xxx:yyy...). - 针对以下对象的群集、项目和节点发现
/v3API管理。 - 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许可证-有关详细信息,请参阅许可证文件。
