mcp服务器spotins
MCP服务器 Spot.io(Spotinst) API支持具有多帐户访问权限的AWS和Azure Ocean集群。
工具(34)
跨账户
工具
说明
list_accounts
列出当前令牌可访问的所有Spotinst帐户
list_all_clusters
列出所有帐户和云(AWS+Azure)上的所有集群
AWS海洋
工具
说明
list_clusters
列出AWS Ocean K8s集群
get_cluster
获取AWS Ocean集群详细信息
list_vngs
列出AWS虚拟节点组(启动规范)
get_vng
获取AWS VNG详细信息
list_elastigroups
列出所有弹性组
get_elastigroup
获取Elastigroup详细信息
get_allowed_instance_types
获取允许的EC2实例类型
get_right_sizing
获取正确的资源规模建议(仅限AWS)
蓝天碧海
工具
说明
list_clusters_azure
列出Azure Ocean集群
get_cluster_azure
获取Azure Ocean群集详细信息
list_vngs_azure
列出Azure虚拟节点组
get_vng_azure
获取Azure VNG详细信息
两云(通过 cloud="azure" 适用于Azure)
工具
说明
get_cluster_nodes
列出Ocean集群中的节点
get_cluster_costs
按命名空间或资源获取聚合成本明细
list_rolls
列出部署卷
get_roll
获取卷详细信息
get_cluster_log
获取缩放和活动日志事件
状态节点(AWS托管实例)
工具
说明
list_stateful_nodes
列出所有有状态节点(托管实例)
get_stateful_node
获取状态节点详细信息
日程安排和健康
工具
说明
get_cluster_scheduling
获取调度和自动缩放器配置
get_cluster_health
复合健康检查:节点、最近的错误、活动滚动
成本分析
工具
说明
get_cost_trending
每周(或自定义期间)成本比较
get_savings_summary
30天成本和节省汇总
标签筛选
工具
说明
filter_clusters_by_tag
按标签键/值过滤集群
filter_vngs_by_tag
按标签键/值过滤VNG
导出(YAML)
工具
说明
export_cluster_yaml
将集群配置导出为用于GitOps/backup的YAML
export_vng_yaml
将VNG配置导出为用于GitOps/backup的YAML
写入操作(必需 confirm=true)
工具
说明
remove_instances
推荐 --使用命名策略删除实例(见下文)
initiate_roll
Ocean集群中节点的滚动重启
detach_instances
从AWS Ocean集群中分离实例,并可选择终止实例
update_vng
更新AWS VNG配置
update_vng_azure
更新Azure VNG配置
所有工具都接受可选 account_id 参数来查询任何帐户。
实例删除策略
这 remove_instances 该工具为删除实例提供了一个安全的、基于意图的接口。您不需要记住要设置哪些API标志,而是选择一种策略:
策略
发生了什么
用例
drain_and_replace
优雅地排空吊舱(尊重PDB),终止,海洋更换。 默认且最安全。
更换生产中有问题的节点
replace
立即终止,海洋自动更换。没有优雅的排水。仅限AWS。
不需要排水时快速更换
remove_permanently
终止+减少集群容量。无需更换。仅限AWS。
缩小集群规模
当 confirm=false (默认),该工具显示详细的执行计划,以便您在继续之前进行查看:
复制 remove_instances("o-abc123", "i-abc123", strategy="drain_and_replace")
→ SAFETY: Action NOT executed. Set confirm=true to proceed.
DRAIN AND REPLACE 1 instance(s) in cluster o-abc123:
Instances: ['i-abc123']
Method: Rolling restart (20% per batch)
- Pods will be gracefully drained (PDBs respected)
- Instances will be terminated after drain
- Ocean will automatically launch replacements
设置
环境变量
复制 export SPOTINST_TOKEN="your-spotinst-api-token"
export SPOTINST_ACCOUNT_ID="act-xxxxxxxx"
使用pip安装
复制 pip install mcp-server-spotinst
使用uvx安装(无需安装)
复制 uvx mcp-server-spotinst
Claude代码配置
添加 ~/.mcp.json:
复制 {
"mcpServers": {
"spotinst": {
"command": "uvx",
"args": ["mcp-server-spotinst"],
"env": {
"SPOTINST_TOKEN": "your-token",
"SPOTINST_ACCOUNT_ID": "act-xxxxxxxx"
}
}
}
}
码头工人
复制 docker build -t mcp-server-spotinst .
docker run -e SPOTINST_TOKEN=your-token -e SPOTINST_ACCOUNT_ID=act-xxxxxxxx mcp-server-spotinst
独立运行
多账户使用
您的个人API令牌可以访问多个Spotinst帐户。使用 list_accounts 查看所有可用帐户,然后传递 account_id 任何工具:
复制 list_clusters(account_id="act-be5e7ffe")
get_cluster_nodes("o-390ef886", account_id="act-9785011e", cloud="azure")
或使用 list_all_clusters 用于所有产品的单次通话库存。
API 参考
使用 Spot.io REST API 在 https://api.spotinst.io.