mcp-registry/ai.cloudworldmodel/cloud-world-model · v1.1.1
As of 2026-10-26 17:08 UTC, the Cloudworldmodel Cloud World Model MCP server is up with a Glimind reliability score of 100/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks.
Simulate cloud infrastructure and estimate cost before deploying or changing infrastructure.
Point your MCP client at this streamable-http endpoint: https://www.cloudworldmodel.ai/mcp
1 tool definition(s) exceed ~1,200 tokens each (largest: simulation.create, ~9,809).
Move long reference material out of descriptions (link a doc or expose a resource), drop repeated examples, and collapse large enums. Trimming these to ~600 tokens saves ~9,209 tokens every session. How to fix →
9 tool name(s) contain "." or exceed 64 characters, which OpenAI-compatible function calling rejects (^[a-zA-Z0-9_-]{1,64}$).
Use "_" or "-" instead of "." and keep names to 64 characters, so clients built on OpenAI-style tool calling don't have to rename (or drop) them. How to fix →
In the last 30 days: 0 tool(s) removed and 15 schema change(s).
Add new tools or optional parameters instead of renaming or removing; deprecate first (say so in the description) and remove later. Agents cache tool contracts. How to fix →
Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. All of them as JSON: /v1/readiness/mcp-registry%2Fai.cloudworldmodel%2Fcloud-world-model/fixes
{
"name": "scenario_get",
"description": "Hydrate one built-in scenario from the live Cloud World Model scenario library. Prerequisite: a scenario id returned by scenario.list. Returns the complete selected scenario graph, including resources and connections plus optional seed, resilienceConfig, protectedResilienceConfig, traffic/failure presets, named traffic-phase summaries, activeFailurePhases and optionalFailurePhases (type, resource/zone target, severity, step range), retry-workload disclosure, and real-world incident metadata. The",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"scenarioId"
],
"properties": {
"scenarioId": {
"type": "string",
"minLength": 1,
"description": "Scenario identifier returned by scenario.list"
}
},
"additionalProperties": false
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
},
"title": "Get Scenario"
}{
"name": "scenario_list",
"description": "List the built-in demo scenarios as compact catalog cards — stable IDs, title/name, description, difficulty, tags, category, duration, provider summary, resource/connection counts, named active/optional traffic phases, and retry-workload disclosure. Use it as the first call when you want a ready-made architecture instead of designing one; the cards intentionally omit resource, connection, traffic-pattern, and failure-injection graphs. Anonymous discovery includes only scenarios with at most 10 r",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"type": "string",
"minLength": 1,
"description": "Only scenarios in this category, such as scaling, failure, reliability, networking, or cost"
},
"provider": {
"enum": [
"aws",
"gcp",
"azure",
"oci",
"digitalocean"
],
"type": "string",
"description": "Only scenarios that include resources from this cloud provider"
},
"difficulty": {
"enum": [
"beginner",
"intermediate",
"advanced"
],
"type": "string",
"description": "Only scenarios at this difficulty level"
}
},
"additionalProperties": false
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
},
"title": "List Scenarios"
}{
"name": "simulation_create",
"description": "Create a temporary anonymous demo cloud simulation from a list of resources and connections (max 2 active simulations per client, up to 10 resources; the returned simulationId is a short-lived unguessable capability that survives MCP transport teardown, but it is cleaned up when the demo lifetime expires or the simulation is deleted). No API key required for this temporary anonymous demo operation. Built-in scenario workflow: call `scenario.list` and pass a returned card's `id` as `scenarioId` t",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"description": "Human-readable name for the simulation"
},
"seed": {
"type": "integer",
"minimum": 0,
"description": "Deterministic RNG seed for reproducible replays"
},
"traffic": {
"type": "number",
"default": 0,
"description": "Initial traffic in requests per second (RPS)"
},
"appWeight": {
"enum": [
"lean",
"typical",
"heavy"
],
"type": "string",
"description": "Immutable root-level workload weight; defaults to typical with appWeightDefaulted=true. Lean is measured only for the eligible owned graph; heavy is an unsupported assumption. predictionEvidence reports per-quantity provenance and assumption ranges, not confidence intervals."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type",
"name"
],
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for this resource within the simulation"
},
"name": {
"type": "string",
"description": "Display name for the resource"
},
"type": {
"enum": [
"compute",
"database",
"storage",
"network",
"cache",
"queue",
"kubernetes"
],
"type": "string",
"description": "Resource category"
},
"maxAcu": {
"description": "Not accepted at resource level; use characteristics.maxAcu for the exact AWS Aurora Serverless v2 db.serverless shape."
},
"minAcu": {
"description": "Not accepted at resource level; use characteristics.minAcu for the exact AWS Aurora Serverless v2 db.serverless shape."
},
"location": {
"type": "object",
"required": [
"regionKey"
],
"properties": {
"zoneKey": {
"type": "string"
},
"regionKey": {
"type": "string"
},
"localityType": {
"enum": [
"az",
"zone",
"availability_domain",
"fault_domain"
],
"type": "string"
},
"providerLabel": {
"type": "string"
},
"faultDomainKey": {
"type": "string"
}
},
"description": "Resource region; set location.regionKey:'us-east-2' on each owned typical node (normalized to use2).",
"additionalProperties": false
},
"provider": {
"enum": [
"aws",
"gcp",
"azure",
"oci",
"digitalocean"
],
"type": "string",
"default": "aws",
"description": "Cloud provider hosting this resource"
},
"recoveryPolicy": {
"type": "object",
"properties": {
"warningSteps": {
"type": "integer",
"minimum": 1
},
"criticalSteps": {
"type": "integer",
"minimum": 1
},
"failureParkSteps": {
"type": "integer",
"minimum": 1
},
"warningCpuThreshold": {
"type": "number",
"maximum": 100,
"minimum": 0
},
"criticalCpuThreshold": {
"type": "number",
"maximum": 100,
"minimum": 0
}
},
"description": "Optional recovery thresholds and cooldown lengths for this resource",
"additionalProperties": false
},
"characteristics": {
"type": "object",
"properties": {
"size": {
"type": "string",
"description": "Instance or SKU size (e.g. 't3.medium', 'db.r5.large')"
},
"ocpus": {
"type": "integer",
"maximum": 126,
"description": "OCI flexible compute shape capacity. Family-specific limits are validated against the provider shape; VM.Standard.E4.Flex accepts 1–64 OCPUs and 1 OCPU = 2 vCPUs. Not a performance or price claim.",
"exclusiveMinimum": 0
},
"config": {
"type": "object",
"properties": {
"maxCapacity": {
"type": "number",
"exclusiveMinimum": 0
},
"minCapacity": {
"type": "number",
"exclusiveMinimum": 0
}
},
"description": "Aurora Serverless ACU bounds. Nested config uses minCapacity/maxCapacity; flat characteristics.minAcu/maxAcu aliases are accepted only on the exact AWS Aurora Serverless v2 db.serverless shape.",
"additionalProperties": true
},
"maxAcu": {
"type": "number",
"description": "Flat maximum ACU alias only for AWS Aurora Serverless v2 size db.serverless; conflicts with maxCapacity are rejected.",
"exclusiveMinimum": 0
},
"minAcu": {
"type": "number",
"description": "Flat minimum ACU alias only for AWS Aurora Serverless v2 size db.serverless; conflicts with minCapacity are rejected.",
"exclusiveMinimum": 0
},
"multiAz": {
"type": "boolean",
"description": "AWS Aurora Serverless v2: true with instanceCount:2 creates a billable reader in a second AZ."
},
"workload": {
"enum": [
"crud",
"crud-typical"
],
"type": "string",
"description": "Explicit 'crud-typical' on each owned typical app; 'crud' selects lean identity on the exact lean graph."
},
"nodePools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string"
},
"size": {
"type": "string"
},
"maxNodes": {
"type": "number"
},
"minNodes": {
"type": "number"
},
"nodeCount": {
"type": "number"
},
"workerVcpu": {
"type": "number",
"exclusiveMinimum": 0
},
"perNodeRate": {
"type": "number",
"exclusiveMinimum": 0
},
"gpuReadiness": {
"type": "object",
"required": [
"initialReadyNodes"
],
"properties": {
"capacity": {
"anyOf": [
{
"type": "object",
"required": [
"unit",
"perNode",
"provenance"
],
"properties": {
"unit": {
"type": "string",
"const": "requests-per-second"
},
"perNode": {
"type": "number",
"exclusiveMinimum": 0
},
"provenance": {
"enum": [
"user-supplied",
"estimated"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"unit",
"perNode",
"meanCallDurationSeconds",
"provenance"
],
"properties": {
"unit": {
"type": "string",
"const": "concurrent-calls"
},
"perNode": {
"type": "number",
"exclusiveMinimum": 0
},
"provenance": {
"enum": [
"user-supplied",
"estimated"
],
"type": "string"
},
"meanCallDurationSeconds": {
"type": "number",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}
]
},
"imagePull": {
"$ref": "#/properties/resources/items/properties/characteristics/properties/nodePools/items/properties/gpuReadiness/properties/autoscalerReaction"
},
"modelLoad": {
"$ref": "#/properties/resources/items/properties/characteristics/properties/nodePools/items/properties/gpuReadiness/properties/autoscalerReaction"
},
"nodeProvision": {
"$ref": "#/properties/resources/items/properties/characteristics/properties/nodePools/items/properties/gpuReadiness/properties/autoscalerReaction"
},
"warmSpareNodes": {
"type": "integer",
"default": 0,
"minimum": 0
},
"initialReadyNodes": {
"type": "integer",
"minimum": 0
},
"autoscalerReaction": {
"type": "object",
"required": [
"seconds",
"provenance"
],
"properties": {
"seconds": {
"type": "number",
"minimum": 0
},
"provenance": {
"enum": [
"user-supplied",
"estimated"
],
"type": "string"
}
},
"additionalProperties": false
},
"servedRequestP99Ms": {
"type": "object",
"required": [
"value",
"provenance"
],
"properties": {
"value": {
"type": "number",
"minimum": 0
},
"provenance": {
"enum": [
"user-supplied",
"estimated"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"maxThroughput": {
"type": "number"
},
"kubernetesMemoryProfile": {
"type": "object",
"required": [
"limitGiB",
"baselineWorkingSetGiB",
"loadBreakpoints",
"source",
"confidence"
],
"properties": {
"source": {
"enum": [
"user-provided",
"calibrated",
"external"
],
"type": "string"
},
"limitGiB": {
"type": "number",
"maximum": 1024,
"exclusiveMinimum": 0
},
"confidence": {
"enum": [
"low",
"medium",
"high"
],
"type": "string"
},
"requestGiB": {
"type": "number",
"maximum": 1024,
"exclusiveMinimum": 0
},
"headroomGiB": {
"type": "number",
"default": 0,
"maximum": 1024,
"minimum": 0
},
"extrapolation": {
"enum": [
"clamp",
"linear"
],
"type": "string",
"default": "linear"
},
"loadBreakpoints": {
"type": "array",
"items": {
"type": "object",
"required": [
"perReplicaRps",
"workingSetGiB"
],
"properties": {
"perReplicaRps": {
"type": "number",
"exclusiveMinimum": 0
},
"workingSetGiB": {
"type": "number",
"maximum": 1024,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"maxItems": 20,
"minItems": 1
},
"restartDelaySteps": {
"type": "number",
"maximum": 600,
"minimum": 1
},
"burstWorkingSetGiB": {
"type": "number",
"maximum": 1024,
"exclusiveMinimum": 0
},
"restartDelaySeconds": {
"type": "number",
"maximum": 600,
"minimum": 1
},
"baselineWorkingSetGiB": {
"type": "number",
"maximum": 1024,
"exclusiveMinimum": 0
},
"memoryAwareAutoscaling": {
"type": "boolean"
},
"maxConcurrentRestartFraction": {
"type": "number",
"default": 0.3333333333333333,
"maximum": 1,
"minimum": 0.05
},
"memoryScaleOutThresholdRatio": {
"type": "number",
"default": 0.85,
"maximum": 1,
"minimum": 0
}
},
"additionalProperties": false
}
},
"additionalProperties": true
},
"description": "EKS GPU pools require a stable id/name, catalog size, node counts/bounds and each pool's explicit gpuReadiness assumptions."
},
"appRuntime": {
"type": "string",
"description": "Owned typical app runtime: node."
},
"capacityGB": {
"type": "number",
"description": "Storage capacity in GB — drives per-GB snapshot/backup idle cost and stopped-instance storage cost"
},
"cdnTraffic": {
"type": "object",
"required": [
"cacheableFraction",
"cacheableMissDatabaseFraction",
"dynamicDatabaseFraction"
],
"properties": {
"cacheableFraction": {
"type": "number",
"maximum": 1,
"minimum": 0
},
"dynamicDatabaseFraction": {
"type": "number",
"maximum": 1,
"minimum": 0
},
"cacheableMissDatabaseFraction": {
"type": "number",
"maximum": 1,
"minimum": 0
}
},
"description": "Assumed CDN cacheable/dynamic request mix and DB-query fractions. cacheHitRate applies only to the cacheable share. Read simulation.step metrics.cdnFlow for the modeled edge, origin and database flow.",
"additionalProperties": false
},
"autoscaling": {
"type": "boolean",
"description": "Mark this compute resource as the autoscaling primary target"
},
"capacityRps": {
"type": "number",
"description": "Compute only: literal per-node RPS ceiling at which CPU reaches ~95%. Kubernetes rejects capacityRps; use maxThroughput for its total cluster ceiling.",
"exclusiveMinimum": 0
},
"maxCapacity": {
"type": "number",
"description": "Aurora Serverless maximum ACU (flat form; nested config wins).",
"exclusiveMinimum": 0
},
"minCapacity": {
"type": "number",
"description": "Aurora Serverless minimum ACU (flat form; nested config wins).",
"exclusiveMinimum": 0
},
"billingState": {
"enum": [
"active",
"idle",
"stopped",
"detached",
"deleted"
],
"type": "string",
"description": "Billing state: 'stopped' bills storage only, 'idle'/'detached' bill flat idle rates, 'deleted' bills nothing. Default 'active'."
},
"cacheHitRate": {
"type": "number",
"maximum": 1,
"minimum": 0,
"description": "Cache only: fraction (0–1) of requests routed through this cache that are served from cache; 0.8 means an 80% hit rate."
},
"gpuReadiness": {
"$ref": "#/properties/resources/items/properties/characteristics/properties/nodePools/items/properties/gpuReadiness",
"description": "Ordinary EKS GPU readiness assumptions: four timed phases, explicit per-node capacity and warm reserve; not Spot or measured performance. For multiple pools set nodePools[].gpuReadiness. Inspect metrics.kubernetes[].gpuReadiness for phase and capacity-gap evidence."
},
"appDbPoolSize": {
"type": "integer",
"description": "Owned typical: pool size 250 on each app.",
"exclusiveMinimum": 0
},
"instanceCount": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Generic fixed compute: represented VM count (integer 1–100); capacity aggregates and CPU is per VM. Cannot combine with autoscaling:true, minInstances, or maxInstances. AWS Aurora Serverless v2 remains 1 with multiAz:false or 2 with multiAz:true."
},
"maxThroughput": {
"type": "number",
"description": "Kubernetes: total cluster RPS ceiling; compute: legacy internal throughput scaling parameter (prefer capacityRps for compute)."
},
"serviceFamily": {
"type": "string",
"description": "Idle-billed service family (e.g. 'nat-gateway', 'vpc-endpoint', 'eip-detached', 'ebs-snapshot') — determines the flat idle rate"
},
"appWorkerCount": {
"type": "integer",
"description": "Owned typical: 2 workers on each app.",
"exclusiveMinimum": 0
},
"maxConnections": {
"type": "integer",
"maximum": 1000000,
"description": "Fixed concurrent DB connection budget; Aurora Serverless defaults from maximum configured ACU.",
"exclusiveMinimum": 0
},
"route53Failover": {
"type": "object",
"required": [
"primaryRegion",
"secondaryRegion"
],
"properties": {
"dnsTtlSeconds": {
"type": "number",
"default": 60,
"maximum": 86400,
"exclusiveMinimum": 0
},
"primaryRegion": {
"type": "string",
"minLength": 1
},
"secondaryRegion": {
"type": "string",
"minLength": 1
},
"failureThreshold": {
"type": "integer",
"default": 3,
"exclusiveMinimum": 0
},
"recoveryThreshold": {
"type": "integer",
"default": 3,
"exclusiveMinimum": 0
},
"primaryTrafficShare": {
"type": "number",
"default": 0.5,
"maximum": 1,
"minimum": 0
},
"simulationSecondsPerStep": {
"type": "number",
"default": 10,
"exclusiveMinimum": 0
},
"healthCheckIntervalSeconds": {
"type": "number",
"default": 10,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"sessionAffinity": {
"type": "object",
"required": [
"mode",
"fleetId"
],
"properties": {
"mode": {
"type": "string",
"const": "sticky"
},
"fleetId": {
"type": "string",
"maxLength": 128,
"minLength": 1
},
"workload": {
"type": "object",
"required": [
"replicas",
"minReplicas",
"maxReplicas",
"capacityRpsPerReplica"
],
"properties": {
"replicas": {
"type": "integer",
"maximum": 10000,
"minimum": 1
},
"autoscaling": {
"type": "boolean",
"default": true
},
"maxReplicas": {
"type": "integer",
"maximum": 10000,
"minimum": 1
},
"minReplicas": {
"type": "integer",
"maximum": 10000,
"minimum": 1
},
"targetCpuPercent": {
"type": "number",
"default": 70,
"maximum": 100,
"minimum": 1
},
"capacityRpsPerReplica": {
"type": "number",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"reconnect": {
"enum": [
"none",
"next-step"
],
"type": "string",
"default": "none"
},
"arrivalsPerStep": {
"type": "number",
"default": 0,
"minimum": 0
},
"initialSessions": {
"type": "number",
"default": 100,
"minimum": 0
},
"meanLifetimeSteps": {
"type": "number",
"default": 300,
"minimum": 1
},
"maxSessionsPerOwner": {
"type": "number",
"default": 1000,
"exclusiveMinimum": 0
},
"requestsPerSessionPerSecond": {
"type": "number",
"default": 1,
"exclusiveMinimum": 0
}
},
"description": "Opt-in modeled sticky owners for generic compute; Kubernetes requires explicit workload replicas independent of nodes. Use identical fleetId/config on compute peers. Existing sessions do not migrate on scale-out; owner loss disconnects them. reconnect:'next-step' explicitly enables rebinding; default none. Session arrivals/lifetime are assumptions, not measured OpenShell data. Read full step metrics.sessionAffinity for per-owner load, rejects and disconnects.",
"additionalProperties": false
},
"connectionDemand": {
"type": "object",
"required": [
"mode"
],
"properties": {
"mode": {
"enum": [
"load-derived",
"declared",
"max"
],
"type": "string",
"description": "load-derived keeps the legacy traffic estimate; declared uses only the plan-time declaredConnections/idlePoolFloor; max uses the greatest of load-derived and declared/floor demand."
},
"idlePoolFloor": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "ASSUMPTION / plan-time minimum idle pool footprint, not an observed live connection count."
},
"declaredConnections": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "ASSUMPTION / plan-time peak pool budget (for example, replicas × per-pod pool size), not an observed live connection count."
}
},
"description": "Database only. Omit to preserve legacy load-derived connection use. `declared` and `max` require declaredConnections and/or idlePoolFloor. Demand above usable maxConnections adds a bounded rule-based pool-saturation error signal, not a provider-calibrated rate.",
"additionalProperties": false
},
"kubernetesCpuHpa": {
"type": "object",
"required": [
"cpuDemandMilliCoresPerRps",
"targets",
"replicas",
"minReplicas",
"maxReplicas"
],
"properties": {
"targets": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"required": [
"type",
"targetPercent"
],
"properties": {
"type": {
"type": "string",
"const": "Utilization"
},
"targetPercent": {
"type": "number",
"maximum": 1000,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"targetMilliCores"
],
"properties": {
"type": {
"type": "string",
"const": "AverageValue"
},
"targetMilliCores": {
"type": "number",
"maximum": 100000,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}
]
},
"maxItems": 2,
"minItems": 1
},
"replicas": {
"type": "integer",
"maximum": 10000,
"minimum": 1
},
"maxReplicas": {
"type": "integer",
"maximum": 10000,
"minimum": 1
},
"minReplicas": {
"type": "integer",
"maximum": 10000,
"minimum": 1
},
"cpuDemandEvidence": {
"$ref": "#/properties/resources/items/properties/characteristics/properties/kubernetesCpuHpa/properties/cpuRequestEvidence"
},
"cpuRequestEvidence": {
"type": "object",
"required": [
"source",
"reference"
],
"properties": {
"source": {
"enum": [
"calibrated",
"external"
],
"type": "string"
},
"reference": {
"type": "string",
"maxLength": 512,
"minLength": 1
}
},
"additionalProperties": false
},
"cpuDemandCalibration": {
"type": "object",
"required": [
"method",
"reviewed",
"measurements"
],
"properties": {
"method": {
"type": "string",
"const": "least-squares-through-origin"
},
"reviewed": {
"type": "boolean",
"const": true
},
"measurements": {
"type": "array",
"items": {
"type": "object",
"required": [
"rps",
"cpuMilliCores"
],
"properties": {
"rps": {
"type": "number",
"maximum": 1000000,
"exclusiveMinimum": 0
},
"cpuMilliCores": {
"type": "number",
"maximum": 1000000000,
"minimum": 0
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 2
}
},
"additionalProperties": false
},
"cpuRequestMilliCores": {
"type": "number",
"maximum": 100000,
"exclusiveMinimum": 0
},
"cpuDemandMilliCoresPerRps": {
"type": "number",
"maximum": 1000000,
"exclusiveMinimum": 0
},
"scaleDownStabilizationSteps": {
"type": "integer",
"maximum": 10000,
"minimum": 1
}
},
"description": "Opt-in bounded workload-pod replica model, separate from node-pool scaling. Declare CPU demand in millicores/RPS and targets (Utilization requires an explicit CPU request). A reviewed cpuDemandCalibration may include 2–100 offered-RPS/aggregate-mCPU points and must match the explicit demand value; cite its source and reference in cpuDemandEvidence. Unannotated request/demand inputs are ASSUMED; no HPA controller parity is claimed.",
"additionalProperties": false
},
"loadBalancerScheme": {
"enum": [
"internal",
"internet-facing"
],
"type": "string",
"description": "Owned typical ALB scheme: internal."
},
"scaleInCpuThreshold": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Compute or Kubernetes only — overrides the simulation-wide CPU HPA scale-in target for THIS resource's scale decisions only; every other resource keeps the simulation-wide default."
},
"scaleOutCpuThreshold": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Compute or Kubernetes only — overrides the simulation-wide CPU HPA scale-out target (see the top-level autoscalingTargetCpu) for THIS resource's scale decisions only; every other resource keeps the simulation-wide default."
},
"cacheableRequestShare": {
"type": "number",
"maximum": 1,
"minimum": 0,
"description": "Cache only: fraction (0–1) of offered requests routed through this cache; when omitted on a connected cache path, all synchronous non-queued traffic is assumed cacheable."
},
"workloadDatabaseEngine": {
"enum": [
"mysql"
],
"type": "string",
"description": "MySQL workload identity on the db.r5.large database."
},
"workloadDatabaseVersion": {
"type": "string",
"description": "Owned typical MySQL workload version: 8.0."
}
},
"description": "Capacity and sizing characteristics for the resource (extra keys such as costMultiplier pass through unchanged)",
"additionalProperties": true
}
},
"additionalProperties": false
},
"description": "List of cloud resources composing this simulation. For a built-in scenario, pass the hydrated resources from scenario.get; scenario.list cards are graph-free. (max 10 in demo mode; mutually exclusive with scenarioId)"
},
"scenarioId": {
"type": "string",
"minLength": 1,
"description": "Live scenario identifier from scenario.list; mutually exclusive with resources and connections"
},
"connections": {
"type": "array",
"items": {
"type": "object",
"required": [
"sourceId",
"targetId"
],
"properties": {
"label": {
"type": "string",
"description": "Optional label describing the connection type"
},
"sourceId": {
"type": "string",
"description": "ID of the source (upstream) resource"
},
"targetId": {
"type": "string",
"description": "ID of the target (downstream) resource"
}
},
"additionalProperties": false
},
"description": "Directed connections between resources. For a built-in scenario, pass the hydrated connections from scenario.get; scenario.list cards are graph-free. Directed edges should describe traffic flow between resources; omit when using scenarioId."
},
"description": {
"type": "string",
"maxLength": 500,
"description": "Optional description of the simulation's purpose"
},
"maxInstances": {
"type": "integer",
"minimum": 1,
"description": "Hard ceiling on the autoscaled compute fleet size, stored as autoscalingConfig.maxInstances. If omitted, the provider default applies (AWS 50, GCP 15, Azure/OCI/DigitalOcean 10) — which may be much larger than your intended fleet size."
},
"minInstances": {
"type": "integer",
"minimum": 1,
"description": "Floor on the autoscaled compute fleet size, stored as autoscalingConfig.minInstances."
},
"responseMode": {
"enum": [
"compact",
"full"
],
"type": "string",
"default": "compact",
"description": "Response detail level. 'compact' (default) returns id, name, status, traffic, and a per-resource summary (id, name, status, cpuPercent) — keeps the response small for agent loops. 'full' returns the complete simulation object including all resource characteristics and connections."
},
"resilienceConfig": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Master switch for retry/cascade modeling"
},
"version": {
"type": "number",
"const": 1,
"description": "Resilience model version"
},
"maxStepWork": {
"type": "integer",
"maximum": 2048,
"minimum": 1
},
"podServices": {
"type": "array",
"items": {
"type": "object",
"required": [
"resourceId",
"replicas",
"perPodCapacityRps"
],
"properties": {
"replicas": {
"type": "integer",
"maximum": 1000,
"minimum": 0
},
"readiness": {
"type": "object",
"default": {},
"properties": {
"failureThreshold": {
"type": "integer",
"default": 1,
"maximum": 20,
"minimum": 1
},
"successThreshold": {
"type": "integer",
"default": 1,
"maximum": 20,
"minimum": 1
},
"startupDelaySeconds": {
"type": "number",
"default": 0,
"maximum": 3600,
"minimum": 0
},
"readinessProbePeriodSeconds": {
"type": "integer",
"default": 1,
"maximum": 300,
"minimum": 1
}
},
"additionalProperties": false
},
"resourceId": {
"type": "string",
"maxLength": 128,
"minLength": 1
},
"termination": {
"type": "object",
"default": {},
"properties": {
"preStopSeconds": {
"type": "number",
"default": 0,
"maximum": 3600,
"minimum": 0
},
"inflightDrainBehavior": {
"enum": [
"finish",
"drop-at-sigkill"
],
"type": "string",
"default": "finish"
},
"requestDurationSeconds": {
"type": "number",
"default": 0,
"maximum": 3600,
"minimum": 0
},
"terminationGracePeriodSeconds": {
"type": "number",
"default": 30,
"maximum": 3600,
"minimum": 0
}
},
"additionalProperties": false
},
"initialReady": {
"type": "boolean",
"default": true
},
"rollingUpdate": {
"type": "object",
"required": [
"startStep"
],
"properties": {
"maxSurge": {
"type": "integer",
"default": 1,
"maximum": 1000,
"minimum": 0
},
"startStep": {
"type": "integer",
"maximum": 100000,
"minimum": 0
},
"maxUnavailable": {
"type": "integer",
"default": 0,
"maximum": 1000,
"minimum": 0
}
},
"additionalProperties": false
},
"replicaChanges": {
"type": "array",
"items": {
"type": "object",
"required": [
"step",
"replicas"
],
"properties": {
"step": {
"type": "integer",
"maximum": 100000,
"minimum": 0
},
"replicas": {
"type": "integer",
"maximum": 1000,
"minimum": 0
}
},
"additionalProperties": false
},
"default": [],
"maxItems": 100
},
"readinessChanges": {
"type": "array",
"items": {
"type": "object",
"required": [
"step",
"passing"
],
"properties": {
"step": {
"type": "integer",
"maximum": 100000,
"minimum": 0
},
"passing": {
"type": "boolean"
}
},
"additionalProperties": false
},
"default": [],
"maxItems": 100
},
"perPodCapacityRps": {
"type": "number",
"maximum": 1000000,
"exclusiveMinimum": 0
},
"endpointPropagation": {
"type": "object",
"default": {},
"properties": {
"addDelaySeconds": {
"type": "number",
"default": 0,
"maximum": 3600,
"minimum": 0
},
"removeDelaySeconds": {
"type": "number",
"default": 0,
"maximum": 3600,
"minimum": 0
}
},
"additionalProperties": false
},
"hpaUnreadyPodPolicy": {
"enum": [
"excluded",
"zero",
"target"
],
"type": "string",
"default": "excluded"
}
},
"additionalProperties": false
},
"maxItems": 32,
"minItems": 1,
"description": "Opt-in generic pod lifecycle by resourceId: explicit replicas/perPodCapacityRps, readiness/probe thresholds, endpoint add/remove delays, termination preStop/grace/inflight drain, HPA unready policy, replicaChanges/readinessChanges and rollingUpdate startStep/maxSurge/maxUnavailable. Times are simulated seconds (one ordinary step); full metrics expose resilience.podServices, compact exposes resilienceDiagnostics.podServices. No controller/proxy parity."
},
"dependencies": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"sourceId",
"targetId"
],
"properties": {
"id": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "Unique dependency edge ID"
},
"capacity": {
"type": "object",
"properties": {
"maxRps": {
"type": "number",
"maximum": 500000,
"exclusiveMinimum": 0
},
"maxConcurrent": {
"type": "integer",
"maximum": 1000000,
"exclusiveMinimum": 0
},
"meanServiceTimeMs": {
"type": "number",
"maximum": 120000,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"sourceId": {
"type": "string",
"minLength": 1,
"description": "Upstream resource ID"
},
"targetId": {
"type": "string",
"minLength": 1,
"description": "Downstream resource ID"
},
"protection": {
"type": "object",
"properties": {
"loadShedding": {
"type": "boolean"
},
"rateLimitRps": {
"type": "number",
"maximum": 500000,
"exclusiveMinimum": 0
},
"circuitBreaker": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"openSteps": {
"type": "integer",
"maximum": 120,
"minimum": 1
},
"minimumRequests": {
"type": "integer",
"maximum": 100000,
"minimum": 1
},
"halfOpenMaxRequests": {
"type": "integer",
"maximum": 10000,
"minimum": 1
},
"failureRateThreshold": {
"type": "number",
"maximum": 1,
"minimum": 0
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"retryPolicy": {
"type": "object",
"properties": {
"backoffMs": {
"type": "integer",
"maximum": 60000,
"minimum": 0,
"description": "Initial retry backoff in milliseconds (default 100)."
},
"timeoutMs": {
"type": "integer",
"maximum": 120000,
"minimum": 1,
"description": "Per-attempt client deadline in milliseconds (default 2000); includes queue wait, service, and latency."
},
"maxRetries": {
"type": "integer",
"maximum": 8,
"minimum": 0,
"description": "Maximum retries for this dependency edge (0 disables retries; default 2)."
},
"jitterRatio": {
"type": "number",
"maximum": 1,
"minimum": 0,
"description": "Fractional backoff jitter from 0 to 1 (default 0.1)."
},
"retryActorId": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "Actor producing retries, such as a gateway or client"
},
"retryBudgetRps": {
"type": "number",
"maximum": 500000,
"minimum": 0,
"description": "Optional absolute retry RPS cap, also bounded by retryBudgetRatio."
},
"retryBudgetRatio": {
"type": "number",
"maximum": 10,
"minimum": 0,
"description": "Retry RPS budget as a multiple of original edge RPS (default 2)."
},
"backoffMultiplier": {
"type": "number",
"maximum": 10,
"minimum": 1,
"description": "Exponential backoff multiplier (default 2)."
}
},
"additionalProperties": false
},
"requestRatio": {
"type": "number",
"maximum": 20,
"minimum": 0,
"description": "Requests to target per original request"
},
"authDependencyId": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "Dependency receiving generated auth/token traffic"
},
"authRequestsPerAttempt": {
"type": "number",
"maximum": 10,
"minimum": 0,
"description": "Auth/token requests generated per dependency attempt"
}
},
"additionalProperties": false
},
"maxItems": 64,
"description": "Dependency edges with retry and protection policies"
},
"externalMetrics": {
"type": "object",
"required": [
"errorMode",
"initialCapacity",
"triggers"
],
"properties": {
"triggers": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"targetValue",
"samples"
],
"properties": {
"id": {
"type": "string",
"maxLength": 128,
"minLength": 1
},
"samples": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"required": [
"step",
"status",
"value"
],
"properties": {
"step": {
"type": "integer",
"maximum": 100000,
"minimum": 0
},
"value": {
"type": "number",
"maximum": 1000000000,
"minimum": 0
},
"status": {
"type": "string",
"const": "value"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"step",
"status"
],
"properties": {
"step": {
"type": "integer",
"maximum": 100000,
"minimum": 0
},
"status": {
"enum": [
"no_ready_endpoints",
"discovery_error",
"fetch_error"
],
"type": "string"
}
},
"additionalProperties": false
}
]
},
"maxItems": 120,
"minItems": 1
},
"targetValue": {
"type": "number",
"maximum": 1000000000,
"minimum": 0.000001,
"exclusiveMinimum": 0
},
"noReadyEndpointsAsZero": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
},
"maxItems": 16,
"minItems": 1
},
"errorMode": {
"enum": [
"drop_failed_trigger",
"freeze_combined_decision"
],
"type": "string"
},
"maxCapacity": {
"type": "integer",
"default": 100,
"maximum": 10000,
"minimum": 1
},
"minCapacity": {
"type": "integer",
"default": 0,
"maximum": 10000,
"minimum": 0
},
"initialCapacity": {
"type": "integer",
"maximum": 10000,
"minimum": 0
}
},
"description": "Deterministic per-trigger recommendation inputs. A no_ready_endpoints sample is a successful zero only when that trigger sets noReadyEndpointsAsZero:true; discovery_error and fetch_error always remain errors. This is not a KEDA/provider actuator and does not change resource counts.",
"additionalProperties": false
},
"maxCascadeDepth": {
"type": "integer",
"maximum": 8,
"minimum": 1
},
"maxGeneratedRps": {
"type": "number",
"maximum": 500000,
"exclusiveMinimum": 0
},
"scalingPolicies": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"dependencyId",
"constrainedMetric",
"observationMetric",
"scaleOutThresholdPercent"
],
"properties": {
"id": {
"type": "string",
"maxLength": 128,
"minLength": 1
},
"dependencyId": {
"type": "string",
"maxLength": 128,
"minLength": 1
},
"constrainedMetric": {
"enum": [
"rps",
"concurrency"
],
"type": "string"
},
"observationMetric": {
"enum": [
"source_cpu",
"capacity_utilization"
],
"type": "string"
},
"observedResourceId": {
"type": "string",
"minLength": 1
},
"scaleOutThresholdPercent": {
"type": "number",
"maximum": 100,
"minimum": 1
},
"scaleOutCapacityMultiplier": {
"type": "number",
"maximum": 20,
"minimum": 1
}
},
"additionalProperties": false
},
"maxItems": 32,
"description": "Capacity-observation policies, including intentional autoscaling blind spots"
},
"scheduledFaults": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type",
"startStep"
],
"properties": {
"id": {
"type": "string",
"maxLength": 128,
"minLength": 1
},
"type": {
"enum": [
"capacity_limit",
"concurrency_limit",
"latency",
"error_rate",
"traffic_surge"
],
"type": "string",
"description": "Fault type; traffic_surge increases root client demand"
},
"endStep": {
"type": "integer",
"minimum": 1
},
"errorRate": {
"type": "number",
"maximum": 1,
"minimum": 0
},
"startStep": {
"type": "integer",
"minimum": 0
},
"dependencyId": {
"type": "string"
},
"maxConcurrent": {
"type": "integer",
"maximum": 1000000,
"exclusiveMinimum": 0
},
"addedLatencyMs": {
"type": "number",
"maximum": 120000,
"minimum": 0
},
"capacityPercent": {
"type": "number",
"maximum": 100,
"minimum": 0
},
"targetResourceId": {
"type": "string"
},
"trafficMultiplier": {
"type": "number",
"maximum": 20,
"description": "traffic_surge demand multiplier",
"exclusiveMinimum": 1
}
},
"additionalProperties": false
},
"maxItems": 32,
"description": "Scheduled capacity, error, latency, concurrency, or traffic-surge faults"
},
"retryGeneratedTrafficAffectsCost": {
"type": "boolean"
}
},
"description": "Optional retry/cascade resilience model returned by scenario.get. externalMetrics accepts deterministic sampled triggers; no_ready_endpoints is successful zero only when noReadyEndpointsAsZero:true, while discovery_error and fetch_error remain errors. This recommendation model does not actuate KEDA, providers, or simulated resource counts.",
"additionalProperties": false
},
"autoscalingConfig": {
"type": "object",
"required": [
"scaleOutCpuThreshold",
"scaleInCpuThreshold",
"scaleOutThroughputThreshold",
"scaleInThroughputThreshold",
"scaleOutLatencyThreshold",
"cooldownSeconds",
"minInstances",
"maxInstances"
],
"properties": {
"maxInstances": {
"type": "number"
},
"minInstances": {
"type": "number"
},
"cooldownSeconds": {
"type": "number"
},
"scaleInCpuThreshold": {
"type": "number"
},
"ecsCpuTargetTracking": {
"type": "boolean"
},
"scaleOutCpuThreshold": {
"type": "number"
},
"scaleInCooldownSeconds": {
"type": "integer",
"maximum": 86400,
"minimum": 0
},
"scaleOutCooldownSeconds": {
"type": "integer",
"maximum": 86400,
"minimum": 0
},
"scaleOutLatencyThreshold": {
"type": "number"
},
"simulationSecondsPerStep": {
"type": "number",
"maximum": 60,
"exclusiveMinimum": 0
},
"scaleInThroughputThreshold": {
"type": "number"
},
"scaleOutThroughputThreshold": {
"type": "number"
}
},
"description": "Simulation autoscaling thresholds and cooldown. Pass the value from scenario.get when creating from a copied scenario graph.",
"additionalProperties": false
},
"scenarioOverrides": {
"anyOf": [
{
"type": "object",
"required": [
"awsMultiRegionFailover"
],
"properties": {
"awsMultiRegionFailover": {
"type": "object",
"properties": {
"dnsTtlSeconds": {
"type": "number",
"maximum": 86400,
"exclusiveMinimum": 0
},
"includeRecoveryRamp": {
"type": "boolean",
"default": true
},
"recoveryRampStartStep": {
"type": "integer",
"maximum": 100000,
"minimum": 40
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"sqsQueueBacklogSaturation"
],
"properties": {
"sqsQueueBacklogSaturation": {
"type": "object",
"properties": {
"includeEventBurst": {
"type": "boolean",
"default": true
},
"eventBurstStartStep": {
"type": "integer",
"maximum": 100000,
"minimum": 6
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"eksSpotInterruption"
],
"properties": {
"eksSpotInterruption": {
"type": "object",
"required": [
"startupSeconds"
],
"properties": {
"startupSeconds": {
"type": "integer",
"maximum": 3600,
"minimum": 0
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"webAutoscaling"
],
"properties": {
"webAutoscaling": {
"type": "object",
"properties": {
"includeTrafficRecovery": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"redisCacheCrashRecovery"
],
"properties": {
"redisCacheCrashRecovery": {
"type": "object",
"required": [
"cacheableRequestShare",
"cacheHitRate"
],
"properties": {
"cacheHitRate": {
"type": "number",
"maximum": 1,
"minimum": 0,
"description": "Configured hit rate among requests sent to Redis (0–1; the scenario default is 0.8)."
},
"cacheableRequestShare": {
"type": "number",
"maximum": 1,
"minimum": 0,
"description": "Fraction of offered requests sent to Redis (0–1; the scenario default is 0.8)."
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
],
"description": "Scenario-only customization; requires scenarioId and exactly one supported override. SQS event-burst start is an absolute post-warm-up step and must be selected before the first simulation.step. Redis cache assumptions affect only this simulation."
},
"scaleOutCpuPercent": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Grok-compatible alias for the CPU HPA scale-out target; if multiple target names are sent they must match."
},
"autoscalingTargetCpu": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Canonical CPU HPA scale-out target percent. CWM synthesizes unrelated autoscaling defaults."
},
"ecsCpuTargetTracking": {
"type": "boolean",
"description": "Opt into CPU-only ECS Fargate target tracking."
},
"scaleOutCpuThreshold": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Equivalent alias for autoscalingTargetCpu; if both are sent they must match."
},
"scaleInCooldownSeconds": {
"type": "integer",
"maximum": 86400,
"minimum": 0,
"description": "ECS CPU target-tracking scale-in cooldown in simulated seconds."
},
"scaleOutCooldownSeconds": {
"type": "integer",
"maximum": 86400,
"minimum": 0,
"description": "ECS CPU target-tracking scale-out cooldown in simulated seconds."
},
"simulationSecondsPerStep": {
"type": "number",
"maximum": 60,
"description": "Simulated seconds per step for ECS cooldowns (default 1).",
"exclusiveMinimum": 0
},
"autoscaleTargetCpuPercent": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Grok-compatible alias for the CPU HPA scale-out target; if multiple target names are sent they must match."
}
},
"additionalProperties": false
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
},
"title": "Create Simulation"
}Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:
curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/ai.cloudworldmodel/cloud-world-model"],"email":"[email protected]"}'Agents: watch_tool({"toolId": "mcp-registry/ai.cloudworldmodel/cloud-world-model"}) over MCP.
simulation.create ~9,809 tokenssimulation.step ~617 tokenssimulation.metrics ~529 tokenssimulation.inject_traffic ~477 tokenssimulation.inject_failure ~457 tokensStatic checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).
Operator? Fix these, then re-check live. Embed the readiness badge:
[](https://glimind.com/server/mcp-registry%2Fai.cloudworldmodel%2Fcloud-world-model?ref=badge)
<a href="https://glimind.com/server/mcp-registry%2Fai.cloudworldmodel%2Fcloud-world-model?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fai.cloudworldmodel%2Fcloud-world-model.svg" alt="MCP agent-readiness"></a>
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fai.cloudworldmodel%2Fcloud-world-model.svg :target: https://glimind.com/server/mcp-registry%2Fai.cloudworldmodel%2Fcloud-world-model?ref=badge :alt: MCP agent-readiness
Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:eb318eac7ffff579…, first seen 2026-10-26, included at leaf 73581 of 74,323. Version history · verify what your client received.
Compare: most reliable knowledge servers · most reliable other servers · most reliable devops servers · most reliable data servers
Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.
Claude Code
claude mcp add --transport http glimind https://glimind.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"glimind": {
"type": "http",
"url": "https://glimind.com/mcp"
}
}
}
As of 2026-10-26 17:08 UTC, the Cloudworldmodel Cloud World Model MCP server is up with a Glimind reliability score of 100/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks.
Cloudworldmodel Cloud World Model MCP server advertises 9 tools, including scenario.get, scenario.list, simulation.create, simulation.delete, simulation.inject_failure.
Point your MCP client at this streamable-http endpoint: https://www.cloudworldmodel.ai/mcp
Glimind scanned all 9 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.
Status page: 90-day uptime, every outage and how long it lasted.
Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.
Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.