Spotinst MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPOTINST_TOKEN | Yes | Your Spotinst API token | |
| SPOTINST_ACCOUNT_ID | Yes | Your Spotinst account ID (e.g., act-xxxxxxxx) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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. |
| list_accountsA | List all Spotinst accounts accessible with the current token. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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 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. |
| 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) |
| 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) |
| 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) |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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) |
| 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) |
| 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) |
| 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) |
| 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. |
| 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. |
| 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) |
| 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) |
| 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:
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. |
| 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) |
| 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. |
| update_vngA | DESTRUCTIVE: Update an AWS VNG (launch spec) configuration. Requires confirm=true. Pass updates as a JSON string. The Spot.io API requires 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 |
| 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. |
| create_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.
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 |
| 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/arnstarn/mcp-server-spotinst'
If you have feedback or need assistance with the MCP directory API, please join our Discord server