provision_kubernetes_clusterLABSCO SUMMARY
Two rate limits and one pagination cliff to plan around.
The spending estimate is limited to 10 requests per user per minute and 20 per organisation per minute, so it is not something to poll. For large reports, the queued path pages at 30,000 rows against 10,000 for the synchronous one and has no timeout, which is the difference between a report that completes and one that dies halfway. Also worth knowing before you parse anything: responses use the Cloudability v3 envelope, so the fields sit under a result object rather than at the top level.
What it is
A wide client for the Cloudability v3 API, weighted towards container cost allocation — which namespace, workload or team is actually consuming the cluster spend — with budgets, forecasts and general cost reporting alongside.
What you get
containers_reportis the centre of it: fairshare and allocated cost by namespace, workload, cluster or label, with filtering and pagination- Container support tools:
get_container_resource_usagefor daily trends and rightsizing,discover_container_labelsfor the labels available to group by,get_detailed_cluster_info,list_clusters,provision_kubernetes_clusterandget_cluster_deployment_yaml - Spend projection:
get_spending_estimatefor the current month with service-level drivers and daily progression,get_spending_forecastfor multiple months with configurable history and options to strip credits and one-time charges - Budgets:
list_budgets,get_budget,create_new_budget,modify_budget,remove_budget, pluscreate_budget_alert,list_budget_alerts,modify_budget_alertandremove_budget_alert - Cost reporting:
execute_cost_reportwith up to 15 dimensions, up to 8 metrics, twelve filter operators, multi-column sorting and relative dates;queue_cost_reportwithcheck_report_statusandget_queued_report_resultsfor large runs - Discovery:
get_available_measuresandget_filter_operators, pluslist_saved_cost_reports - Vendor account listings for AWS, Azure, GCP, IBM Cloud and OCI
Requirements
Python 3.14+ and uv — clone the repository, run uv sync, and launch main.py. CLOUDABILITY_API_URL selects the region among US, EU, APAC and ME. Authentication is one of three: Frontdoor API keys in CLOUDABILITY_KEY_ACCESS and CLOUDABILITY_KEY_SECRET, which lets the server acquire tokens itself; a bearer token passed per call; or legacy basic auth. CLOUDABILITY_ENVIRONMENT_ID comes from your Access Administration environment, and CLOUDABILITY_DEFAULT_VIEW_ID is required for the container and cluster calls.
Setup effort
Build from source — clone the repository, then follow the project's own run instructions
USE CASES
Finding out which team is spending the cluster budget
Group container costs by a team label rather than by namespace, once you know which labels exist.
Answering how the month is tracking
Pull the month-to-date estimate with its service-level breakdown and compare against last month's actuals.
Setting a budget and being told when it slips
Create the budget with its thresholds, then subscribe to alerts for exceeded and projected breaches.
Running a report too large to return at once
Queue it, poll the status, and collect the results instead of timing out on a synchronous call.
30 tools
Listed in project docs. Your client may show a different list.
get_cluster_deployment_yamlcontainers_reportget_container_resource_usagediscover_container_labelsget_detailed_cluster_infolist_clusterslist_budgetsget_budgetlist_aws_accountslist_azure_accountslist_gcp_accountslist_ibm_accountslist_oci_accountsget_spending_estimateget_spending_forecastcreate_new_budgetmodify_budgetremove_budgetcreate_budget_alertlist_budget_alertsmodify_budget_alertremove_budget_alertexecute_cost_reportqueue_cost_reportlist_saved_cost_reportsget_available_measuresget_filter_operatorscheck_report_statusget_queued_report_resultsBEFORE YOU INSTALL
What to know first
Tools you get
30 tools named in the project's documentation.
Requires
- Python 3.14+
- CLOUDABILITY_KEY_ACCESS in your environment
- CLOUDABILITY_KEY_SECRET in your environment
- CLOUDABILITY_ENVIRONMENT_ID in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/eelzinaty/cloudability-mcp-server.gitMCP Clients
Any MCP client
{
"mcpServers": {
"cloudability": {
"command": "uv",
"args": [
"run",
"python",
"main.py"
],
"cwd": "<YOUR_PATH_TO_CLOUDABILITY_MCP_SERVER>",
"env": {
"CLOUDABILITY_API_URL": "https://api.cloudability.com/v3",
"CLOUDABILITY_ENVIRONMENT_ID": "<YOUR_CLOUDABILITY_ENVIRONMENT_ID>",
"CLOUDABILITY_DEFAULT_VIEW_ID": "12345",
"CLOUDABILITY_KEY_ACCESS": "<YOUR_CLOUDABILITY_KEY_ACCESS>",
"CLOUDABILITY_KEY_SECRET": "<YOUR_CLOUDABILITY_KEY_SECRET>",
"CLOUDABILITY_FRONTDOOR_URL": "https://frontdoor.apptio.com/service/apikeylogin"
}
}
}
}