Cloud World Model
Simulate cloud infrastructure and estimate cost before deploying or changing infrastructure.
Tools
simulation.inject_failureFail one compute/Kubernetes node, database, or cache in a temporary anonymous demo simulation (marked critical, not removed). Targeted database quick failures are bounded and reversible; with no serving database at positive load, simulation.step reports 100% errors, zero goodput and errorBreakdown.dbFailure: 100. simulation.recover_resource can restore a database or cache early. An AWS Aurora writer with characteristics.auroraStandbyResourceId pointing to a healthy related replicaOf database has an opt-in modeled failover: the first step is unavailable, the second shows the standby serving without a residual writer-outage penalty. MultiAz or an unrelated second database alone does not establish a standby. Read metrics.databases[].auroraFailover and the promotion event for the failed and standby IDs and success, plus errorRate and throughput. Each quick step is one modeled simulation second, so second-step promotion is one second after injection. Chaos database_crash samples every 10 seconds and defaults to a 30-second promotion and a 1800-second sole-writer restart after its injection duration; compare matching phases, not equal step indices or wall-clock times. These are deterministic assumptions, not observed AWS behavior. No API key required for this temporary anonymous demo operation. Exact targeting: pass resourceName (human-readable name, e.g. 'app-server-01'; exact match preferred, an unambiguous prefix is accepted) or resourceId to fail a specific resource — including an individual named instance, not only a group. If resourceName matches multiple resources the call fails with a 400 listing every matching candidate by name — retry with one exact name (or its resourceId) from that list. The database or cache must be healthy; an already failed database or cache returns a 400 describing its current status. When neither parameter is supplied, a RANDOM healthy compute/Kubernetes node is selected (not a database) — this path is non-deterministic and NOT suitable fsimulation.recover_resourceRecover one reversible failed resource in a temporary anonymous demo simulation. No API key required for this temporary anonymous demo operation. Lower traffic to a serviceable level first, then provide resourceId or resourceName from simulation.create, simulation.step, or simulation.metrics. This deactivates applicable instance_down/database_overload failures for only the selected resource and returns recoveryProgress with parked, cooling_down, or healthy state plus cooldown counters. It cannot restore an instance_kill because that failure permanently removes the resource. The likely next tool is simulation.step; keep stepping and inspect the targeted resource until recoveryProgress.state is healthy. Pass simulationId from simulation.create when using a fresh MCP session; a preserved session may omit it. Authenticate with an API key to unlock all 64 tools and unlimited simulations.simulation.deletePermanently delete an owned temporary anonymous demo simulation and its metrics, events, failures, and capability. This is the explicit way to free a simulation slot; deletion is irreversible, while the existing demo TTL remains the safety net for abandoned simulations. Prerequisite: a simulationId from simulation.create, or an active simulation in the preserved MCP session. The likely next tool is simulation.create to use the freed slot. A successful response is { deleted: true, id }; failed ownership checks do not delete or revoke anything. Authenticate with an API key to unlock all 64 tools and persistent simulation management.scenario.listList 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 resources so every listed card is demo-creatable. No prerequisites. Optionally narrow discovery with provider, category, and/or difficulty filters; omit them to receive the complete demo-creatable catalog. Pass a returned id as scenarioId to simulation.create for server-side expansion, or pass it to scenario.get when you need to inspect the full graph. Larger scenarios require an authenticated session. Returns named activeFailurePhases and optionalFailurePhases with type, resource/zone target, severity, and step range. No API key required. The likely next tool is scenario.get.scenario.getHydrate 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 response includes both title and name for compatibility; pass resources and connections, and optionally seed/resilienceConfig, to simulation.create when you need to edit or inspect the graph. For the shorter handoff, pass the id as scenarioId instead. For SQS Queue Backlog Saturation, the optional 5,000 RPS event burst is inactive by default and starts at step 6 after the five-step creation warm-up when enabled. simulation.create accepts scenarioOverrides.sqsQueueBacklogSaturation.includeEventBurst and an optional absolute eventBurstStartStep (integer 6–100000); omit the step to retain default step 6, and choose it before simulation.step finalizes replay identity. AWS Multi-Region Failover exposes characteristics.route53Failover: 10 simulated seconds per step, 10-second probes, three failures/recoveries and 60-second DNS TTL. West fails at evaluation currentTime 5 after creation warm-up through 59, returns at 60. Load reaches 2600 RPS at step 40 and holds. simulation.create accepts scenarioOverrides.awsMultiRegionFailover.includeRecoveryRamp (default true when supplied; absent override leaves recovery inactive), recoveryRampStartStep (absolute integer 40–100000, default 60), and dnsTtlSeconds (positive, at most 86400), selected before simulation.step. The likely next tool is simulation.create.simulation.createMySQL databases automatically receive an additive metrics.mysqlPreparedStatementForecasts result (top-level mysqlPreparedStatementForecasts in compact and stateless results), without opt-in. Set characteristics.databaseEngineIdentity='mysql' or an authoritative MySQL identity; names do not qualify. Supplemental characteristics.mysqlPreparedStatementForecast supplies server caps, initial prepared/open counts, finite horizon, explicit timeOrigin, provenance and future offered-workload windows with open-connection profiles. Missing required inputs yield unavailable with missingInputs; no universal baseline/cap or pool-budget substitution. Crossings use seconds from the supplied origin, a 15-second grid and half-open windows; gaps advance time without offered volume. rungRps is null without explicit rungs; no_crossing_within_horizon is finite, not never. This forecast never injects errno 1461 or changes metrics/decisions. Conditional rung validation only: 2× m5.large + db.r5.large MySQL 8.0, max_connections 500, cap 24,630, cwm-bench f0e1c228; observed onset was 286–383 seconds earlier than forecast (late forecasts), not a timing pass. Other configurations are extrapolations. Source/parameters are not downloadable. 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` to `simulation.create` for server-side graph expansion. For full control, call `scenario.get` and pass its hydrated `resources` and `connections` arrays instead. These are two alternatives — do not send `scenarioId` with `resources` or `connections`. When copying a scensimulation.stepAdvance a temporary anonymous demo simulation by one time step, or batch 1–500 sequential steps in one MCP call. Anonymous demos remain capped at 20 persisted steps total; API-key clients can use the full 1–500 batch. MySQL databases automatically receive an additive metrics.mysqlPreparedStatementForecasts result (top-level mysqlPreparedStatementForecasts in compact and stateless results), without opt-in. Set characteristics.databaseEngineIdentity='mysql' or an authoritative MySQL identity; names do not qualify. Supplemental characteristics.mysqlPreparedStatementForecast supplies server caps, initial prepared/open counts, finite horizon, explicit timeOrigin, provenance and future offered-workload windows with open-connection profiles. Missing required inputs yield unavailable with missingInputs; no universal baseline/cap or pool-budget substitution. Crossings use seconds from the supplied origin, a 15-second grid and half-open windows; gaps advance time without offered volume. rungRps is null without explicit rungs; no_crossing_within_horizon is finite, not never. This forecast never injects errno 1461 or changes metrics/decisions. Conditional rung validation only: 2× m5.large + db.r5.large MySQL 8.0, max_connections 500, cap 24,630, cwm-bench f0e1c228; observed onset was 286–383 seconds earlier than forecast (late forecasts), not a timing pass. Other configurations are extrapolations. Source/parameters are not downloadable. A batch response contains the final step, not every intermediate row, even with responseMode:'full'. For a timeline, batch up to 500 steps within runtime budgets (and remaining demo quota), then read history once. The next tool is simulation.metrics with responseMode:'full'. Anonymous batching loops over separate UI step requests, reserving quota per executed sub-step, not per MCP call; it can stop at the 20-step cap and report batchStatus:'limit_reached' with batchStepsCompleted. Runtime budgets still apply. No API key required; only this sessisimulation.metricsRead the latest metrics and resource states for a temporary anonymous demo simulation: latency, CPU, throughput, error rate, cost status, and per-resource health. When costComplete=false, costPerHour is omitted from the compact headline and pricedResourceSubtotalPerHour is labeled incomplete. GPU-readiness aggregate P95 is ESTIMATED from a generic reference, not GPU-specific. Use it to inspect current state and metrics history without advancing time; do not use it to move the simulation forward — that is simulation.step. MySQL databases automatically receive an additive metrics.mysqlPreparedStatementForecasts result (top-level mysqlPreparedStatementForecasts in compact and stateless results), without opt-in. Set characteristics.databaseEngineIdentity='mysql' or an authoritative MySQL identity; names do not qualify. Supplemental characteristics.mysqlPreparedStatementForecast supplies server caps, initial prepared/open counts, finite horizon, explicit timeOrigin, provenance and future offered-workload windows with open-connection profiles. Missing required inputs yield unavailable with missingInputs; no universal baseline/cap or pool-budget substitution. Crossings use seconds from the supplied origin, a 15-second grid and half-open windows; gaps advance time without offered volume. rungRps is null without explicit rungs; no_crossing_within_horizon is finite, not never. This forecast never injects errno 1461 or changes metrics/decisions. Conditional rung validation only: 2× m5.large + db.r5.large MySQL 8.0, max_connections 500, cap 24,630, cwm-bench f0e1c228; observed onset was 286–383 seconds earlier than forecast (late forecasts), not a timing pass. Other configurations are extrapolations. Source/parameters are not downloadable. Recommended timeline workflow: call simulation.step with steps up to 500 within runtime budgets (and remaining demo quota), then call simulation.metrics once with responseMode:'full'. Full metrics[] contains all persisted checkpoints still resimulation.inject_trafficChange traffic on a demo simulation using targetRps, deltaPercent, a scheduled ramp { startRps, endRps, durationSteps }, or explicit random: true. A ramp replaces active patterns before replay identity finalizes and is rejected after finalization. targetRps takes precedence over deltaPercent; random cannot be combined with controlled selectors. Missing or unknown selectors are rejected, and no random spike is selected implicitly. Traffic values are capped at 10000 RPS in demo mode. The change affects metrics after the next simulation.step. For Redis Cache Crash & Recovery, the default 5,000 RPS load has no active pattern, so this controlled traffic update also works after replay identity finalizes. Do not use it to read metrics (simulation.metrics) or advance time (simulation.step). Pass the simulationId returned by simulation.create when your connector opens a fresh MCP session; preserve Mcp-Session-Id to use the omitted-ID current-simulation default. Returns the updated simulation with its new traffic level; the likely next tool is simulation.step.
Configure in Claude / Cursor
{
"mcpServers": {
"remote-ai-cloudworldmodel-cloud-world-model": {
"type": "http",
"url": "https://www.cloudworldmodel.ai/mcp"
}
}
}Source
- Updated:2026-10-29
More in this category
资料来自官方仓库与 MCP 接口探测,以官方最新文档为准;安装第三方 MCP server 前请自行评估安全风险。