Spotinst MCP Server
The Spotinst MCP Server provides comprehensive management, monitoring, and cost analysis for Spot.io (Spotinst) cloud infrastructure, supporting AWS and Azure Ocean Kubernetes clusters with multi-account access.
Cross-Account & Cross-Cloud Management
List all accessible Spotinst accounts
List all Ocean clusters across all accounts and cloud providers (AWS + Azure) in a single call
AWS Ocean Clusters
List/get details of AWS Ocean Kubernetes clusters, Virtual Node Groups (VNGs), and Elastigroups
Get allowed EC2 instance types and right-sizing resource suggestions
Azure Ocean Clusters
List/get details of Azure Ocean clusters and Azure Virtual Node Groups
Cluster Operations (AWS & Azure)
List nodes, get aggregated cost breakdowns by namespace or resource
List/get deployment rolls and scaling/activity log events
Stateful Nodes
List and get details of AWS Managed Instances (Stateful Nodes)
Scheduling & Health
Get scheduling and auto-scaler configuration
Composite health checks combining node status, recent errors, and active rolls
Cost Analysis
Week-over-week (or custom period) cost trend comparisons
30-day cost and savings summaries
Tag Filtering & Config Export
Filter clusters and VNGs by tag key/value
Export cluster and VNG configurations as YAML for GitOps/backup
Write / Destructive Operations (require confirm=true)
Remove instances using named strategies:
drain_and_replace,replace, orremove_permanentlyInitiate rolling restarts of cluster nodes (with batch size control)
Detach and optionally terminate instances from AWS Ocean clusters
Update AWS and Azure VNG configurations
Allows exporting Ocean cluster and Virtual Node Group (VNG) configurations in YAML format, supporting GitOps workflows and configuration backups.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Spotinst MCP Server List all my Ocean clusters across all clouds and show their current status"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-server-spotinst
MCP server for the Spot.io (Spotinst) API. Supports both AWS and Azure Ocean clusters with multi-account access.
Tools (34)
Cross-Account
Tool | Description |
| List all Spotinst accounts accessible with the current token |
| List ALL clusters across ALL accounts and clouds (AWS + Azure) |
AWS Ocean
Tool | Description |
| List AWS Ocean K8s clusters |
| Get AWS Ocean cluster details |
| List AWS Virtual Node Groups (launch specs) |
| Get AWS VNG details |
| List all Elastigroups |
| Get Elastigroup details |
| Get allowed EC2 instance types |
| Get right-sizing resource suggestions (AWS only) |
Azure Ocean
Tool | Description |
| List Azure Ocean clusters |
| Get Azure Ocean cluster details |
| List Azure Virtual Node Groups |
| Get Azure VNG details |
Both Clouds (pass cloud="azure" for Azure)
Tool | Description |
| List nodes in an Ocean cluster |
| Get aggregated cost breakdown by namespace or resource |
| List deployment rolls |
| Get roll details |
| Get scaling and activity log events |
Stateful Nodes (AWS Managed Instances)
Tool | Description |
| List all Stateful Nodes (Managed Instances) |
| Get Stateful Node details |
Scheduling & Health
Tool | Description |
| Get scheduling and auto-scaler configuration |
| Composite health check: nodes, recent errors, active rolls |
Cost Analysis
Tool | Description |
| Week-over-week (or custom period) cost comparison |
| 30-day cost and savings summary |
Tag Filtering
Tool | Description |
| Filter clusters by tag key/value |
| Filter VNGs by tag key/value |
Export (YAML)
Tool | Description |
| Export cluster config as YAML for GitOps/backup |
| Export VNG config as YAML for GitOps/backup |
Write Operations (require confirm=true)
Tool | Description |
| Recommended ā Remove instances using a named strategy (see below) |
| Rolling restart of nodes in an Ocean cluster |
| Detach and optionally terminate instances from an AWS Ocean cluster |
| Update an AWS VNG configuration |
| Update an Azure VNG configuration |
All tools accept an optional account_id parameter to query any account.
Instance Removal Strategies
The remove_instances tool provides a safe, intent-based interface for removing instances. Instead of remembering which API flags to set, you pick a strategy:
Strategy | What happens | Use case |
| Gracefully drain pods (respects PDBs), terminate, Ocean replaces. Default and safest. | Replacing a problematic node in production |
| Immediately terminate, Ocean auto-replaces. No graceful drain. AWS only. | Fast replacement when drain isn't needed |
| Terminate + reduce cluster capacity. No replacement. AWS only. | Downsizing the cluster |
When confirm=false (default), the tool shows a detailed execution plan so you can review before proceeding:
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 replacementsRelated MCP server: Cost Management MCP
Setup
Environment Variables
export SPOTINST_TOKEN="your-spotinst-api-token"
export SPOTINST_ACCOUNT_ID="act-xxxxxxxx"Install with pip
pip install mcp-server-spotinstInstall with uvx (no install needed)
uvx mcp-server-spotinstClaude Code Config
Add to ~/.mcp.json:
{
"mcpServers": {
"spotinst": {
"command": "uvx",
"args": ["mcp-server-spotinst"],
"env": {
"SPOTINST_TOKEN": "your-token",
"SPOTINST_ACCOUNT_ID": "act-xxxxxxxx"
}
}
}
}Docker
docker build -t mcp-server-spotinst .
docker run -e SPOTINST_TOKEN=your-token -e SPOTINST_ACCOUNT_ID=act-xxxxxxxx mcp-server-spotinstRun Standalone
mcp-server-spotinstMulti-Account Usage
Your personal API token can access multiple Spotinst accounts. Use list_accounts to see all available accounts, then pass account_id to any tool:
list_clusters(account_id="act-be5e7ffe")
get_cluster_nodes("o-390ef886", account_id="act-9785011e", cloud="azure")Or use list_all_clusters for a single-call inventory across everything.
API Reference
Uses the Spot.io REST API at https://api.spotinst.io.
Available Tools
39 toolscreate_vngA
DESTRUCTIVE: Create a new AWS VNG (launch spec) under an Ocean cluster. Requires confirm=true. Pass the launch spec fields as a JSON string.
oceanId is injected from the ocean_id argument; don't include it in spec_json.
Like update_vng, plaintext userData is auto-encoded to base64 by default.
Args:
ocean_id: The parent Ocean cluster ID (e.g. o-abcd1234). Required.
spec_json: JSON string of launch spec fields (name, instanceTypes, labels, taints,
resourceLimits, userData, etc.). Do not include oceanId.
confirm: Must be true to execute. Safety guard.
account_id: Optional account ID. Defaults to SPOTINST_ACCOUNT_ID env var.
initial_nodes: If >0, Spot launches that many nodes immediately on create.
encode_user_data: If true (default) and userData is plaintext, base64-encode
it before sending.
Inputs: ocean_id (required), spec_json (required), confirm, account_id, +2 more. Returns: result
delete_vngA
DESTRUCTIVE: Delete an AWS VNG (launch spec). Requires confirm=true.
Args: vng_id: The VNG/launch spec ID to delete. confirm: Must be true to execute. Safety guard. account_id: Optional account ID. Defaults to SPOTINST_ACCOUNT_ID env var. delete_nodes: If true, drain + detach + terminate all nodes in this VNG. If false (default), VNG is deleted but nodes continue until they naturally terminate or are moved. force_delete: If true, delete even if this is the only non-template VNG.
Inputs: vng_id (required), confirm, account_id, delete_nodes, +1 more. Returns: result
detach_instancesA
DESTRUCTIVE: Detach and optionally terminate instances from an AWS Ocean cluster. Requires confirm=true.
Args: cluster_id: The Ocean cluster ID (e.g. o-abc12345) instance_ids: Comma-separated EC2 instance IDs (e.g. i-abc123,i-def456) confirm: Must be true to execute. Safety guard. should_terminate: Terminate instances after detach (default: true) should_decrement_capacity: Reduce target capacity (default: true) account_id: Optional account ID. Defaults to SPOTINST_ACCOUNT_ID env var.
Inputs: cluster_id (required), instance_ids (required), confirm, should_terminate, +2 more. Returns: result
export_cluster_yamlA
Export an Ocean cluster configuration as YAML. Useful for GitOps comparison or backup.
Args: cluster_id: The Ocean cluster ID (e.g. o-abc12345) account_id: Optional account ID to query. Defaults to SPOTINST_ACCOUNT_ID env var. cloud: Cloud provider: aws or azure (default: aws)
Inputs: cluster_id (required), account_id, cloud. Returns: result
export_vng_yamlA
Export a VNG configuration as YAML. Useful for GitOps comparison or backup.
Args: vng_id: The VNG ID (e.g. ols-abc12345 for AWS, vng-abc12345 for Azure) account_id: Optional account ID to query. Defaults to SPOTINST_ACCOUNT_ID env var. cloud: Cloud provider: aws or azure (default: aws)
Inputs: vng_id (required), account_id, cloud. Returns: result
filter_clusters_by_tagA
Filter Ocean clusters by tag key (and optionally tag value). Works for AWS and Azure. Returns compact summaries by default. Set verbose=true for full cluster configs.
Args: tag_key: Tag key to filter by (e.g. environment, team) tag_value: Optional tag value to match (e.g. production). If empty, matches any value for the key. account_id: Optional account ID to query. Defaults to SPOTINST_ACCOUNT_ID env var. cloud: Cloud provider: aws or azure (default: aws) verbose: Return full configurations instead of compact summaries (default: false). Use when analyzing cluster settings, troubleshooting, or comparing configs.
Inputs: tag_key (required), tag_value, account_id, cloud, +1 more. Returns: result
filter_vngs_by_tagA
Filter VNGs by tag key (and optionally tag value). Works for AWS and Azure. Returns compact summaries by default. Set verbose=true for full VNG configs.
Args: tag_key: Tag key to filter by (e.g. team, workload-type) tag_value: Optional tag value to match. If empty, matches any value for the key. ocean_id: Optional Ocean cluster ID to filter by account_id: Optional account ID to query. Defaults to SPOTINST_ACCOUNT_ID env var. cloud: Cloud provider: aws or azure (default: aws) verbose: Return full configurations instead of compact summaries (default: false). Use when analyzing VNG settings, troubleshooting, or comparing configs.
Inputs: tag_key (required), tag_value, ocean_id, account_id, +2 more. Returns: result
get_allowed_instance_typesB
Get the list of allowed EC2 instance types for an AWS Ocean cluster.
Args: cluster_id: The Ocean cluster ID (e.g. o-abc12345) account_id: Optional account ID to query. Defaults to SPOTINST_ACCOUNT_ID env var.
Inputs: cluster_id (required), account_id. Returns: result
get_clusterA
Get details of a specific AWS Ocean cluster.
Args: cluster_id: The Ocean cluster ID (e.g. o-abc12345) account_id: Optional account ID to query. Defaults to SPOTINST_ACCOUNT_ID env var.
Inputs: cluster_id (required), account_id. Returns: result
get_cluster_azureC
Get details of a specific Azure Ocean cluster.
Args: cluster_id: The Ocean cluster ID (e.g. o-390ef886) account_id: Account ID for an Azure account.
Inputs: cluster_id (required), account_id. Returns: result
get_cluster_costsA
Get aggregated cost breakdown for an Ocean cluster (AWS or Azure).
Args: cluster_id: The Ocean cluster ID (e.g. o-abc12345) start_time: Start time in ISO 8601 format (e.g. 2026-03-01T00:00:00Z) end_time: End time in ISO 8601 format (e.g. 2026-03-20T00:00:00Z) group_by: Group costs by: namespace (default: namespace). Only 'namespace' is currently supported by the API. account_id: Optional account ID to query. Defaults to SPOTINST_ACCOUNT_ID env var. cloud: Cloud provider: aws or azure (default: aws) limit: Max namespace aggregations to return, sorted by cost descending (default: 50). Set limit=0 for all.
Inputs: cluster_id (required), start_time (required), end_time (required), group_by, +3 more. Returns: result
get_cluster_healthA
Composite health check for an Ocean cluster. Returns node status, recent errors, and active rolls in one call.
Args: cluster_id: The Ocean cluster ID (e.g. o-abc12345) account_id: Optional account ID to query. Defaults to SPOTINST_ACCOUNT_ID env var. cloud: Cloud provider: aws or azure (default: aws)
Inputs: cluster_id (required), account_id, cloud. Returns: result
get_cluster_logB
Get scaling and activity log events for an Ocean cluster (AWS or Azure).
Args: cluster_id: The Ocean cluster ID (e.g. o-abc12345) from_date: Start date in YYYY-MM-DD format (e.g. 2026-03-19) to_date: End date in YYYY-MM-DD format (e.g. 2026-03-20) severity: Filter by severity: ALL, INFO, WARN, ERROR (default: ALL) limit: Max number of log entries (default: 500) account_id: Optional account ID to query. Defaults to SPOTINST_ACCOUNT_ID env var. cloud: Cloud provider: aws or azure (default: aws)
Inputs: cluster_id (required), from_date (required), to_date (required), severity, +3 more. Returns: result
get_cluster_nodesA
List all nodes in an Ocean cluster (AWS or Azure).
Args: cluster_id: The Ocean cluster ID (e.g. o-abc12345) account_id: Optional account ID to query. Defaults to SPOTINST_ACCOUNT_ID env var. cloud: Cloud provider: aws or azure (default: aws) limit: Max items to return (default: 50). Set limit=0 for all results.
Inputs: cluster_id (required), account_id, cloud, limit. Returns: result
get_cluster_schedulingA
Get scheduling and auto-scaler configuration for an Ocean cluster (AWS or Azure). Shows shutdown hours, scheduled tasks, and auto-scaler settings.
Args: cluster_id: The Ocean cluster ID (e.g. o-abc12345) account_id: Optional account ID to query. Defaults to SPOTINST_ACCOUNT_ID env var. cloud: Cloud provider: aws or azure (default: aws)
Inputs: cluster_id (required), account_id, cloud. Returns: result
get_cost_trendingA
Get cost trends over multiple time periods for an Ocean cluster.
Shows week-over-week or custom period cost changes.
Args: cluster_id: The Ocean cluster ID (e.g. o-abc12345) periods: Number of time periods to compare (default: 4) period_days: Days per period (default: 7 for weekly) group_by: Group costs by: namespace (default: namespace). Only 'namespace' is currently supported by the API. account_id: Optional account ID to query. Defaults to SPOTINST_ACCOUNT_ID env var. cloud: Cloud provider: aws or azure (default: aws)
Inputs: cluster_id (required), periods, period_days, group_by, +2 more. Returns: result
get_elastigroupA
Get details of a specific Elastigroup.
Args: group_id: The Elastigroup ID (e.g. sig-abc12345) account_id: Optional account ID to query. Defaults to SPOTINST_ACCOUNT_ID env var.
Inputs: group_id (required), account_id. Returns: result
get_right_sizingA
Get right-sizing resource suggestions for workloads in an Ocean cluster (AWS or Azure).
Results are sorted by savings potential (biggest CPU delta first) and truncated to limit.
Args: cluster_id: The Ocean cluster ID (e.g. o-abc12345) namespace: Optional namespace to filter suggestions account_id: Optional account ID to query. Defaults to SPOTINST_ACCOUNT_ID env var. cloud: Cloud provider: aws or azure (default: aws) limit: Max items to return, sorted by savings potential (default: 50). Set limit=0 for all results.
Inputs: cluster_id (required), namespace, account_id, cloud, +1 more. Returns: result
get_rollA
Get details of a specific Ocean cluster roll (AWS or Azure).
Args: cluster_id: The Ocean cluster ID (e.g. o-abc12345) roll_id: The roll ID (e.g. scr-abc12345) account_id: Optional account ID to query. Defaults to SPOTINST_ACCOUNT_ID env var. cloud: Cloud provider: aws or azure (default: aws)
Inputs: cluster_id (required), roll_id (required), account_id, cloud. Returns: result
get_savings_summaryA
Get a 30-day cost/savings summary for an Ocean cluster. Shows total spend, spot savings, and cost breakdown.
Args: cluster_id: The Ocean cluster ID (e.g. o-abc12345) account_id: Optional account ID to query. Defaults to SPOTINST_ACCOUNT_ID env var. cloud: Cloud provider: aws or azure (default: aws)
Inputs: cluster_id (required), account_id, cloud. Returns: result
get_stateful_nodeB
Get details of a specific AWS Stateful Node (Managed Instance).
Args: node_id: The Managed Instance ID (e.g. smi-abc12345) account_id: Optional account ID to query. Defaults to SPOTINST_ACCOUNT_ID env var.
Inputs: node_id (required), account_id. Returns: result
get_stateful_node_azureC
Get details of a specific Azure Stateful Node.
Args: node_id: The Azure Stateful Node ID account_id: Account ID for an Azure account.
Inputs: node_id (required), account_id. Returns: result
get_vngA
Get details of a specific AWS VNG (launch spec).
Args: vng_id: The VNG/launch spec ID (e.g. ols-abc12345) account_id: Optional account ID to query. Defaults to SPOTINST_ACCOUNT_ID env var.
Inputs: vng_id (required), account_id. Returns: result
get_vng_azureA
Get details of a specific Azure VNG.
Args: vng_id: The VNG ID (e.g. vng-14e08b61) account_id: Account ID for an Azure account.
Inputs: vng_id (required), account_id. Returns: result
initiate_rollA
DESTRUCTIVE: Initiate a rolling restart of nodes in an Ocean cluster. This will drain and replace nodes in batches. Requires confirm=true.
Args: cluster_id: The Ocean cluster ID (e.g. o-abc12345) confirm: Must be true to execute. Safety guard against accidental rolls. batch_size_percentage: Percentage of nodes to roll per batch (default: 20) batch_min_healthy_percentage: Min healthy nodes per batch (default: 50) respect_pdb: Respect PodDisruptionBudgets (default: true) launch_spec_ids: Comma-separated VNG IDs to roll (e.g. ols-abc,ols-def). Empty = all. instance_ids: Comma-separated instance IDs to roll. Empty = all in scope. account_id: Optional account ID. Defaults to SPOTINST_ACCOUNT_ID env var. cloud: Cloud provider: aws or azure (default: aws)
Inputs: cluster_id (required), confirm, batch_size_percentage, batch_min_healthy_percentage, +5 more. Returns: result
list_accountsA
List all Spotinst accounts accessible with the current token.
Inputs: no named parameters. Returns: result
list_all_clustersA
List ALL Ocean clusters across ALL accounts and cloud providers (AWS + Azure). Scans every account in parallel and returns a unified list with account and cloud info. Returns compact summaries by default (id, name, region, account, capacity). Set verbose=true for full cluster configs (networking, instance types, autoscaler).
Args: verbose: Return full configurations instead of compact summaries (default: false). Use when analyzing cluster settings, troubleshooting, or comparing configs.
Inputs: verbose. Returns: result
list_clustersA
List AWS Ocean Kubernetes clusters in a Spotinst account. Returns compact summaries by default (id, name, region, capacity). Set verbose=true for full cluster configs (networking, instance types, autoscaler).
Args: account_id: Optional account ID to query (e.g. act-be5e7ffe). Defaults to SPOTINST_ACCOUNT_ID env var. verbose: Return full configurations instead of compact summaries (default: false). Use when analyzing cluster settings, troubleshooting, or comparing configs.
Inputs: account_id, verbose. Returns: result
list_clusters_azureA
List Azure Ocean clusters in a Spotinst account. Returns compact summaries by default (id, name, capacity). Set verbose=true for full cluster configs (networking, VM sizes, autoscaler).
Args: account_id: Account ID for an Azure account (e.g. act-9785011e). verbose: Return full configurations instead of compact summaries (default: false). Use when analyzing cluster settings, troubleshooting, or comparing configs.
Inputs: account_id, verbose. Returns: result
list_elastigroupsA
List all Elastigroups in a Spotinst account. Returns compact summaries by default (id, name, region, capacity). Set verbose=true for full Elastigroup configs (compute, networking, scaling).
Args: account_id: Optional account ID to query. Defaults to SPOTINST_ACCOUNT_ID env var. verbose: Return full configurations instead of compact summaries (default: false). Use when analyzing Elastigroup settings, troubleshooting, or comparing configs.
Inputs: account_id, verbose. Returns: result
list_rollsA
List all deployment rolls for an Ocean cluster (AWS or Azure).
Args: cluster_id: The Ocean cluster ID (e.g. o-abc12345) account_id: Optional account ID to query. Defaults to SPOTINST_ACCOUNT_ID env var. cloud: Cloud provider: aws or azure (default: aws)
Inputs: cluster_id (required), account_id, cloud. Returns: result
list_stateful_nodesA
List all Stateful Nodes (Managed Instances) in an AWS account. Returns compact summaries by default (id, name, region, capacity). Set verbose=true for full configs (compute, networking, persistence).
Args: account_id: Optional account ID to query. Defaults to SPOTINST_ACCOUNT_ID env var. verbose: Return full configurations instead of compact summaries (default: false). Use when analyzing node settings, troubleshooting, or comparing configs.
Inputs: account_id, verbose. Returns: result
list_stateful_nodes_azureA
List all Azure Stateful Nodes in an account. Returns compact summaries by default (id, name, capacity). Set verbose=true for full configs (compute, networking, persistence).
Args: account_id: Account ID for an Azure account. verbose: Return full configurations instead of compact summaries (default: false). Use when analyzing node settings, troubleshooting, or comparing configs.
Inputs: account_id, verbose. Returns: result
list_vngsA
List AWS Ocean Virtual Node Groups (VNGs / launch specs). Returns compact summaries by default (id, name, oceanId). Set verbose=true for full VNG configs (AMI, subnets, resource limits, labels).
Args: ocean_id: Optional Ocean cluster ID to filter by (e.g. o-abc12345) account_id: Optional account ID to query. Defaults to SPOTINST_ACCOUNT_ID env var. verbose: Return full configurations instead of compact summaries (default: false). Use when analyzing VNG settings, troubleshooting, or comparing configs.
Inputs: ocean_id, account_id, verbose. Returns: result
list_vngs_azureA
List Azure Ocean Virtual Node Groups. Returns compact summaries by default (id, name, oceanId). Set verbose=true for full VNG configs (VM sizes, labels, resource limits).
Args: ocean_id: Optional Ocean cluster ID to filter by (e.g. o-390ef886) account_id: Account ID for an Azure account. verbose: Return full configurations instead of compact summaries (default: false). Use when analyzing VNG settings, troubleshooting, or comparing configs.
Inputs: ocean_id, account_id, verbose. Returns: result
probe_token_capabilitiesA
Probe which Spot.io API endpoints the current token can access. Call this first to understand what tools will work with your token. Returns a report of accessible vs denied endpoints.
Inputs: no named parameters. Returns: result
remove_instancesA
DESTRUCTIVE: Remove instances from an Ocean cluster using a named strategy. This is the RECOMMENDED tool for instance removal ā it picks the right API call for you. Requires confirm=true.
Strategies:
"drain_and_replace": Gracefully drain pods (respects PDBs), terminate, Ocean replaces. Uses rolling restart. SAFEST option for production. (Default if not specified)
"replace": Immediately terminate instances, Ocean auto-scales replacements. Faster but no graceful drain ā pods are killed abruptly.
"remove_permanently": Terminate instances AND reduce cluster capacity. Instances are gone and NOT replaced. Use for downsizing.
Args: cluster_id: The Ocean cluster ID (e.g. o-abc12345) instance_ids: Comma-separated instance IDs (e.g. i-abc123,i-def456) strategy: One of: drain_and_replace, replace, remove_permanently confirm: Must be true to execute. Safety guard. batch_size_percentage: For drain_and_replace only: % of nodes per batch (default: 20) account_id: Optional account ID. Defaults to SPOTINST_ACCOUNT_ID env var. cloud: Cloud provider: aws or azure (default: aws). Note: replace and remove_permanently are AWS-only.
Inputs: cluster_id (required), instance_ids (required), strategy, confirm, +3 more. Returns: result
update_vngA
DESTRUCTIVE: Update an AWS VNG (launch spec) configuration. Requires confirm=true. Pass updates as a JSON string.
The Spot.io API requires userData to be base64-encoded. This tool
auto-encodes plaintext userData by default (set encode_user_data=false to
opt out if you're passing already-encoded data).
Args:
vng_id: The VNG/launch spec ID (e.g. ols-abc12345)
updates_json: JSON string of fields to update (e.g. '{"resourceLimits": {"maxInstanceCount": 20}}')
confirm: Must be true to execute. Safety guard.
account_id: Optional account ID. Defaults to SPOTINST_ACCOUNT_ID env var.
auto_apply_tags: If true, update resource tags without triggering a roll.
If None (default), omitted from request (Spot default applies).
encode_user_data: If true (default) and userData is present but not already
base64, base64-encode it before sending. Set false to pass
through as-is.
Inputs: vng_id (required), updates_json (required), confirm, account_id, +2 more. Returns: result
update_vng_azureA
DESTRUCTIVE: Update an Azure VNG configuration. Requires confirm=true. Pass updates as a JSON string.
Args: vng_id: The VNG ID (e.g. vng-14e08b61) updates_json: JSON string of fields to update confirm: Must be true to execute. Safety guard. account_id: Account ID for an Azure account.
Inputs: vng_id (required), updates_json (required), confirm, account_id. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogā¦
TDQS
Scored across 39 tools
The set has several overlapping clusters of tools: list_all_clusters vs list_clusters vs list_clusters_azure, multiple cost-related tools, and three destructive instance operations. Descriptions are detailed and do clarify most boundaries, but agents may still hesitate when choosing between remove_instances, initiate_roll, and detach_instances.
Most tools follow a consistent verb_noun pattern with snake_case, such as list_clusters, get_vng, create_vng, and export_cluster_yaml. Minor deviations like list_all_clusters vs list_clusters and get_cost_trending without a resource noun keep it from being a perfect 5, but the overall pattern is predictable.
At 39 tools, this is a heavy surface with many AWS/Azure variants and multiple near-duplicate read or cost tools. The broad product scope explains some of the count, but the set would benefit from consolidation or a smaller, more focused tool list.
Read coverage is strong for clusters, VNGs, Elastigroups, Stateful Nodes, and costs, but lifecycle coverage is uneven. There are create/update/delete operations only for VNGs; clusters, Elastigroups, and Stateful Nodes lack mutation tools, which will cause agent failures for common management workflows.
Maintenance
Related MCP Connectors
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
Hosted MCP server for AWS cloud spend: service breakdowns, anomalies, savings and forecasts.
MCP server for OpenAI API (chat completions, image generation, embeddings) via AceDataCloud
MCP server for interacting with the Supabase platform
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables interaction with multiple Kubernetes clusters simultaneously, providing comprehensive tools for cluster management, resource operations, and diagnostics across different environments.-
- AlicenseBqualityDmaintenanceAn MCP server for unified cost tracking and analysis across AWS, OpenAI, and Anthropic. It enables users to query expenditures, compare costs across providers, and analyze usage trends through natural language.10MIT
- AlicenseCqualityBmaintenanceAn MCP server that provides complete Kubernetes API operations, enabling cluster management, resource CRUD, diagnostics, backup/restore, and multi-cluster configuration via natural language.322MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server for managing AWS ECS clusters, services, tasks, and container logs. Enables AI assistants to perform operations like scaling, deployments, and log retrieval via natural language.-