Rancher Manager MCP服务器
Rancher Manager API的模型上下文协议(MCP)服务器。通过AI驱动的界面控制和监控Rancher Kubernetes集群。
特性
- 75 MCP工具:全面覆盖牧场经理的所有运营
- 完全CRUD支持:对所有资源执行创建、读取、更新、修补和删除操作
- 双重运输支持:适用于stdio(用于CLI工具)和HTTP(用于web服务)
- Rancher API集成:与Rancher Manager Kubernetes API完全集成
- 状态操作:从所有资源类型获取状态信息
- 命名空间支持:处理命名空间和集群范围的资源
- SSL验证控制:可配置的SSL证书验证
- 基于环境的配置:通过以下方式进行安全的凭据管理
.env文件 - 综合测试:测试脚本使用实际Rancher对象验证所有工具
快速开始
安装
# Clone the repository
git clone https://github.com/DataKnifeAI/rancher-manager-mcp.git
cd rancher-manager-mcp
# Build the server
go build -o bin/rancher-mcp ./cmd配置
- 复制示例环境文件:
cp .env.example .env- 编辑
.env使用您的牧场主凭据:
RANCHER_URL=https://your-rancher-server
RANCHER_TOKEN=token-XXXXX:YYYYY
# Optional: Skip SSL verification (not recommended for production)
# RANCHER_INSECURE_SKIP_VERIFY=false用法
标准传输(默认值-适用于MCP客户端):
source .env
./bin/rancher-mcp --transport stdioHTTP传输:
source .env
./bin/rancher-mcp --transport http --http-addr :8080可用工具
此MCP服务器提供 75工具 涵盖牧场经理的所有操作:
集群管理(9个工具)
list_clusters-列出所有Rancher集群get_cluster-获取特定集群的详细信息create_cluster-创建新集群update_cluster-更新/替换集群patch_cluster-部分更新集群delete_cluster-删除群集get_cluster_status-获取群集状态
用户管理(8个工具)
list_users-列出所有Rancher用户get_user-获取特定用户的详细信息create_user-创建新用户update_user-更新/替换用户patch_user-部分更新用户delete_user-删除用户get_user_status-获取用户状态
项目管理(9个工具)
list_projects-列出所有Rancher项目get_project-获取特定项目的详细信息create_project-创建新项目update_project-更新/替换项目patch_project-部分更新项目delete_project-删除项目get_project_status-获取项目状态
角色模板(9个工具)
list_role_templates-列出所有角色模板get_role_template-获取角色模板的详细信息create_role_template-创建新的角色模板update_role_template-更新/替换角色模板patch_role_template-部分更新角色模板delete_role_template-删除角色模板get_role_template_status-获取角色模板状态
全球角色(9个工具)
list_global_roles-列出所有全局角色get_global_role-获取全球角色的详细信息create_global_role-创建新的全球角色update_global_role-更新/替换全局角色patch_global_role-部分更新全球角色delete_global_role-删除全局角色get_global_role_status-获取全局角色状态
全局角色绑定(9个工具)
list_global_role_bindings-列出所有全局角色绑定get_global_role_binding-获取全局角色绑定的详细信息create_global_role_binding-创建新的全局角色绑定update_global_role_binding-更新/替换全局角色绑定patch_global_role_binding-部分更新全局角色绑定delete_global_role_binding-删除全局角色绑定get_global_role_binding_status-获取全局角色绑定状态
群集角色模板绑定(9个工具)
list_cluster_role_template_bindings-列出所有群集角色模板绑定get_cluster_role_template_binding-获取集群角色模板绑定的详细信息create_cluster_role_template_binding-创建新的群集角色模板绑定update_cluster_role_template_binding-更新/替换群集角色模板绑定patch_cluster_role_template_binding-部分更新集群角色模板绑定delete_cluster_role_template_binding-删除群集角色模板绑定get_cluster_role_template_binding_status-获取集群角色模板绑定状态
项目角色模板绑定(9个工具)
list_project_role_template_bindings-列出所有项目角色模板绑定get_project_role_template_binding-获取项目角色模板绑定的详细信息create_project_role_template_binding-创建新的项目角色模板绑定update_project_role_template_binding-更新/替换项目角色模板绑定patch_project_role_template_binding-部分更新项目角色模板绑定delete_project_role_template_binding-删除项目角色模板绑定get_project_role_template_binding_status-获取项目角色模板绑定状态
代币(6个工具)
list_tokens-列出所有API令牌get_token-获取令牌的详细信息create_token-创建新的API令牌update_token-更新/替换令牌patch_token-部分更新令牌delete_token-删除API令牌
Kubeconfigs(6个工具)
list_kubeconfigs-列出所有kubeconfigsget_kubeconfig-获取kubeconfig的详细信息create_kubeconfig-创建一个新的kubeconfigupdate_kubeconfig-更新/替换kubeconfigpatch_kubeconfig-部分更新kubeconfigdelete_kubeconfig-删除kubeconfig
审计政策(9个工具)
list_audit_policies-列出所有审核策略get_audit_policy-获取审核策略的详细信息create_audit_policy-创建新的审核策略update_audit_policy-更新/替换审计策略patch_audit_policy-部分更新审计政策delete_audit_policy-删除审核策略get_audit_policy_status-获取审核策略状态
总计:75个工具 涵盖所有Rancher Manager操作,并提供完整的CRUD支持。
看 docs/TOOLS_REFERENCE.md 获取完整的工具文档。
游标IDE集成
要将此MCP服务器与Cursor IDE一起使用,请执行以下操作:
- 打开光标设置(Cmd/Ctrl+,)
- 导航到“功能”→ “模型上下文协议”
- 添加具有以下配置的新MCP服务器:
{
"mcpServers": {
"rancher-manager": {
"command": "/absolute/path/to/bin/rancher-mcp",
"args": ["--transport", "stdio"],
"env": {
"RANCHER_URL": "https://your-rancher-server",
"RANCHER_TOKEN": "your-token-here"
}
}
}
}或使用环境文件:
{
"mcpServers": {
"rancher-manager": {
"command": "bash",
"args": ["-c", "source /path/to/.env && /path/to/bin/rancher-mcp --transport stdio"],
"env": {}
}
}
}看 docs/CURSOR_SETUP.md 有关详细的设置说明。
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
RANCHER_URL | 牧场经理API URL | 必需 |
RANCHER_TOKEN | Rancher API令牌(格式: token-XXXXX:YYYYY) | 必填 |
RANCHER_INSECURE_SKIP_VERIFY | 跳过SSL证书验证 | false |
LOG_LEVEL | 日志记录级别(调试、信息、警告、错误) | info |
API 参考
此服务器使用Rancher Manager Kubernetes API:
- 基础路径:
/apis/management.cattle.io/v3/ - 认证:不记名代币
Authorization头球 - 文档: https://ranchermanager.docs.rancher.com/api/api-reference
Docker支持
构建Docker镜像
docker build -t rancher-mcp:latest .使用Docker运行(stdio模式)
docker run --rm -i \
-e RANCHER_URL=https://your-rancher-server \
-e RANCHER_TOKEN=token-XXXXX:YYYYY \
rancher-mcp:latest \
--transport stdio使用Docker运行(HTTP模式)
docker run --rm -d \
-p 8080:8080 \
-e RANCHER_URL=https://your-rancher-server \
-e RANCHER_TOKEN=token-XXXXX:YYYYY \
rancher-mcp:latest \
--transport http --http-addr :8080Docker编写示例
version: '3.8'
services:
rancher-mcp:
build: .
ports:
- "8080:8080"
environment:
- RANCHER_URL=https://your-rancher-server
- RANCHER_TOKEN=token-XXXXX:YYYYY
- RANCHER_INSECURE_SKIP_VERIFY=false
command: ["--transport", "http", "--http-addr", ":8080"]发展
使用Make
该项目包括 Makefile 常见的开发任务:
# Show all available commands
make help
# Build all binaries
make build-all
# Run tests
make test
# Run integration tests (requires RANCHER_URL and RANCHER_TOKEN)
make test-integration
# Run linters
make lint
# Build Docker image
make docker-build
# Clean build artifacts
make clean构建
go build -o bin/rancher-mcp ./cmd或使用Make:
make build测试
该项目包括Rancher客户端的全面Go测试。测试是需要实时Rancher实例的集成测试。
先决条件: 为Rancher实例设置环境变量:
export RANCHER_URL=https://your-rancher-server
export RANCHER_TOKEN=token-XXXXX:YYYYY
export RANCHER_INSECURE_SKIP_VERIFY=false # Optional: set to true for self-signed certs运行所有测试:
go test ./internal/client/... -v运行特定的测试套件:
# Test list/get operations with existing resources
go test ./internal/client/... -v -run TestList
# Test CRUD operations (creates test objects, tests operations, then cleans up)
go test ./internal/client/... -v -run TestCRUD测试覆盖范围:
go test ./internal/client/... -coverprofile=coverage.out
go tool cover -html=coverage.out注: 如果出现以下情况,将跳过测试 RANCHER_URL 和 RANCHER_TOKEN 未设置,因此无需凭据即可在CI/CD管道中安全运行。
项目结构
rancher-manager-mcp/
├── cmd/
│ ├── main.go # Main MCP server entry point
│ └── verify-token/ # Token verification tool
├── internal/
│ ├── client/
│ │ └── rancher_client.go # Rancher API client
│ ├── mcp/
│ │ ├── server.go # MCP protocol implementation
│ │ └── types.go # MCP protocol types
│ └── server/
│ ├── server.go # Server wrapper and tool registration
│ └── handlers/ # Tool handlers for all resources
│ ├── clusters.go
│ ├── users.go
│ ├── projects.go
│ ├── roles*.go
│ └── ...
├── docs/ # Documentation
│ ├── TOOLS_REFERENCE.md # Complete tool documentation
│ ├── CURSOR_SETUP.md # Cursor IDE setup guide
│ └── api-reference/ # API reference documentation
├── bin/ # Build output (git-ignored)
├── .env.example # Environment configuration template
└── README.md # This file技能和能力
此MCP服务器支持:
- 群集管理 -列出并检查Rancher集群
- 用户管理 -管理Rancher用户和权限
- 项目管理 -将资源组织到项目中
- 基础设施监控 -查询集群和资源状态
- API集成 -直接访问Rancher Manager Kubernetes API
许可证
MIT许可证-有关详细信息,请参阅许可证文件
支持
对于问题和疑问:
- 检查 Rancher API文档
- 审查 docs/TOOLS_REFERENCE.md 获取完整的工具文档
- 审查实施示例
internal/
______________________________________________________________________
专为牧场主经理打造 -使用AI扩展Kubernetes管理功能。🤖✨
