Cloud World Model MCP
Cloud World Model is a simulation platform that allows AI agents and infrastructure teams to estimate cost, latency, errors, and resilience before deploying or changing cloud infrastructure. It supports multi-cloud analysis across AWS, GCP, Azure, OCI, and DigitalOcean, providing modeled evidence for pre-deployment decisions without provisioning real resources.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://www.cloudworldmodel.ai/mcpWhat its tools do
9 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (3)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to cloudworldmodel.ai ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Simulate infrastructure changes to estimate cost and latency before deployment
- Compare multi-cloud costs across AWS, GCP, Azure, OCI, and DigitalOcean
- Run failure experiments to estimate resilience and error rates
- Provide pre-deployment decision support for AI agents and platform teams
Source and maintenance
Protocol and capabilities
- Server
- cloud-world-model 1.1.1
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 9 advertised
- Resources
- 9 advertised
- Resource templates
- 0 advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
9 advertised
simulation.inject_failure — Inject Failure
Requires simulationId and resourceId from simulation.create. Injects a bounded resource failure; returns updated state. Next tool is simulation.step, then simulation.recover_resource and simulation.metrics to confirm authoritative health. No API key required; demo limits apply. Read resource cwm://guides/public/simulation.inject_failure
{
"type": "object",
"properties": {
"type": {
"enum": [
"cdn_cache_loss",
"az_outage"
],
"type": "string",
"description": "Only cdn_cache_loss or az_outage, with an explicit CDN-capable network resourceId or resourceName; no random/node-pool selectors. Cache loss forwards misses; az_outage blocks the edge. Omit type and duration for legacy quick failures."
},
"duration": {
"type": "integer",
"maximum": 86400,
"minimum": 1,
"description": "Only with explicit type cdn_cache_loss or az_outage and CDN-capable network resourceId or resourceName. Integer 1–86400 simulation steps, not seconds; default 30. No random/node-pool selectors; omit for legacy quick failures."
},
"nodePoolId": {
"type": "string",
"minLength": 1
},
"resourceId": {
"type": "string"
},
"nodePoolName": {
"type": "string",
"minLength": 1
},
"resourceName": {
"type": "string"
},
"simulationId": {
"type": "string",
"description": "ID returned by simulation.create."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}simulation.recover_resource — Recover Failed Resource
Requires simulationId and resourceId from simulation.create. Requests reversible resource recovery; success does not prove healthy. Next tool is simulation.step, then simulation.metrics to inspect resource health. No API key required; demo limits apply. Read resource cwm://guides/public/simulation.recover_resource
{
"type": "object",
"properties": {
"resourceId": {
"type": "string"
},
"resourceName": {
"type": "string"
},
"simulationId": {
"type": "string",
"description": "ID returned by simulation.create."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}simulation.delete — Delete Simulation
The likely next tool is simulation.create to use the freed slot. Prerequisite: a simulationId from simulation.create, or an active simulation in the preserved MCP session. No API key required; demo limits apply. Read resource cwm://guides/public/simulation.delete
{
"type": "object",
"properties": {
"simulationId": {
"type": "string",
"description": "ID returned by simulation.create."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}scenario.list — List Scenarios
No prerequisites. Returns scenarios cards with id/name/summary. Filters precede stable ID paging: limit default 8, maximum 20; pass nextCursor as cursor until null. detailed=true restores rich cards per page. Next tool is scenario.get, then simulation.create with scenarioId. No API key required; demo limits apply. Read resource cwm://guides/public/scenario.list
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 8,
"maximum": 20,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 256
},
"category": {
"type": "string",
"minLength": 1
},
"detailed": {
"type": "boolean",
"default": false
},
"provider": {
"enum": [
"aws",
"gcp",
"azure",
"oci",
"digitalocean"
],
"type": "string"
},
"difficulty": {
"enum": [
"beginner",
"intermediate",
"advanced"
],
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}scenario.get — Get Scenario
Requires scenarioId from scenario.list. Returns the complete selected graph, presets, assumptions and phase details. Next tool is simulation.create with scenarioId or the hydrated resources/connections. No API key required; demo limits apply. Read resource cwm://guides/public/scenario.get
{
"type": "object",
"required": [
"scenarioId"
],
"properties": {
"scenarioId": {
"type": "string",
"minLength": 1,
"description": "Scenario ID from scenario.list."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}simulation.create — Create Simulation
Create from scenarioId (scenario.list → scenario.get), or resources/connections for a custom graph. Returns id for simulation.step. Never blindly retry a timeout: creation may have succeeded. No API key required; demo limits apply. Read resource cwm://guides/public/simulation.create
{
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 120
},
"seed": {
"type": "integer",
"minimum": 0
},
"traffic": {
"type": "number"
},
"appWeight": {
"enum": [
"lean",
"typical",
"heavy"
],
"type": "string"
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type",
"name"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"compute",
"database",
"storage",
"network",
"cache",
"queue",
"kubernetes"
],
"type": "string"
}
},
"additionalProperties": true
}
},
"scenarioId": {
"type": "string",
"minLength": 1,
"description": "Scenario ID from scenario.list."
},
"connections": {
"type": "array",
"items": {
"type": "object",
"required": [
"sourceId",
"targetId"
],
"properties": {
"sourceId": {
"type": "string"
},
"targetId": {
"type": "string"
}
},
"additionalProperties": true
}
},
"description": {
"type": "string",
"maxLength": 500
},
"maxInstances": {
"type": "integer",
"minimum": 1
},
"minInstances": {
"type": "integer",
"minimum": 1
},
"responseMode": {
"enum": [
"compact",
"full"
],
"type": "string",
"default": "compact"
},
"resilienceConfig": {
"type": "object",
"additionalProperties": true
},
"autoscalingConfig": {
"type": "object",
"additionalProperties": true
},
"scenarioOverrides": {},
"scaleOutCpuPercent": {
"type": "number",
"maximum": 100,
"minimum": 0
},
"autoscalingTargetCpu": {
"type": "number",
"maximum": 100,
"minimum": 0
},
"ecsCpuTargetTracking": {
"type": "boolean",
"description": "Opt into CPU-only ECS Fargate target tracking; requires an AWS Fargate compute resource. Required for scaleOutCooldownSeconds, scaleInCooldownSeconds and top-level simulationSecondsPerStep; other providers keep their existing policy."
},
"scaleOutCpuThreshold": {
"type": "number",
"maximum": 100,
"minimum": 0
},
"scaleInCooldownSeconds": {
"type": "integer",
"maximum": 86400,
"minimum": 0,
"description": "ECS scale-in cooldown in simulated seconds; requires ecsCpuTargetTracking: true with an AWS Fargate compute resource. Defaults to cooldownSeconds."
},
"scaleOutCooldownSeconds": {
"type": "integer",
"maximum": 86400,
"minimum": 0,
"description": "ECS scale-out cooldown in simulated seconds; requires ecsCpuTargetTracking: true with an AWS Fargate compute resource. Defaults to cooldownSeconds."
},
"simulationSecondsPerStep": {
"type": "number",
"maximum": 60,
"description": "Requires ecsCpuTargetTracking: true with an AWS Fargate compute resource. Converts ECS cooldown seconds into step counts only (default 1); not a global simulation clock."
},
"autoscaleTargetCpuPercent": {
"type": "number",
"maximum": 100,
"minimum": 0
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}simulation.step — Simulate Step
Requires simulationId from simulation.create (optional for the current demo simulation). Advances simulation; inspect completedSteps/currentStep, not HTTP success. Next tool is simulation.metrics. Preserve operationId and original inputs on retries. No API key required; demo limits apply. Read resource cwm://guides/public/simulation.step
{
"type": "object",
"properties": {
"steps": {
"type": "integer",
"maximum": 500,
"minimum": 1
},
"traffic": {
"type": "number",
"minimum": 0
},
"operationId": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "Optional retry ID: omit for a new ID; reuse with identical inputs replays the saved result, while changed inputs, expired results or another run return 409."
},
"responseMode": {
"enum": [
"compact",
"full"
],
"type": "string",
"default": "compact"
},
"simulationId": {
"type": "string",
"description": "ID returned by simulation.create."
},
"expectedCheckpoint": {
"type": "object",
"description": "Optional guard for new steps: omit to skip; a mismatched generation, currentStep or supplied metricId rejects the step with 409 without advancing.",
"additionalProperties": true
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}simulation.metrics — Get Simulation Metrics
Requires simulationId from simulation.create (optional for current demo). Returns latest metrics or requested history; responseMode full retains evidence. Read authoritative resource health after recovery. No new identifiers. No API key required; demo limits apply. Read resource cwm://guides/public/simulation.metrics
{
"type": "object",
"properties": {
"responseMode": {
"enum": [
"compact",
"full"
],
"type": "string",
"default": "compact"
},
"simulationId": {
"type": "string",
"description": "ID returned by simulation.create."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}simulation.inject_traffic — Inject Traffic
Requires simulationId from simulation.create and target traffic RPS. Returns applied traffic settings. Next tool is simulation.step, then simulation.metrics to read observed latency; do not assume its direction. No API key required; demo limits apply. Read resource cwm://guides/public/simulation.inject_traffic
{
"type": "object",
"properties": {
"ramp": {
"type": "object",
"additionalProperties": true
},
"random": {
"type": "boolean",
"const": true
},
"targetRps": {
"type": "integer",
"minimum": 1
},
"deltaPercent": {
"type": "number"
},
"simulationId": {
"type": "string",
"description": "ID returned by simulation.create."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}Prompts
Not advertised
Resources
9 advertised
public-simulation.inject_failure-guide — simulation.inject_failure: complete input contract and workflow guidance
cwm://guides/public/simulation.inject_failurepublic-simulation.recover_resource-guide — simulation.recover_resource: complete input contract and workflow guidance
cwm://guides/public/simulation.recover_resourcepublic-simulation.delete-guide — simulation.delete: complete input contract and workflow guidance
cwm://guides/public/simulation.deletepublic-scenario.list-guide — scenario.list: complete input contract and workflow guidance
cwm://guides/public/scenario.listpublic-scenario.get-guide — scenario.get: complete input contract and workflow guidance
cwm://guides/public/scenario.getpublic-simulation.create-guide — simulation.create: complete input contract and workflow guidance
cwm://guides/public/simulation.createpublic-simulation.step-guide — simulation.step: complete input contract and workflow guidance
cwm://guides/public/simulation.steppublic-simulation.metrics-guide — simulation.metrics: complete input contract and workflow guidance
cwm://guides/public/simulation.metricspublic-simulation.inject_traffic-guide — simulation.inject_traffic: complete input contract and workflow guidance
cwm://guides/public/simulation.inject_traffic90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 1 of 1 checks answered
- 2026-11-09: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 623 ms
- 95th percentile latency
- 623 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 623 ms · metadata changed · 9 tool(s), 9 resource(s), 0 resource template(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http cloud-world-model-mcp https://www.cloudworldmodel.ai/mcpCodex
codex mcp add cloud-world-model-mcp --url https://www.cloudworldmodel.ai/mcpCursor
{
"mcpServers": {
"cloud-world-model-mcp": {
"url": "https://www.cloudworldmodel.ai/mcp"
}
}
}Cline
{
"mcpServers": {
"cloud-world-model-mcp": {
"type": "streamableHttp",
"url": "https://www.cloudworldmodel.ai/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"cloud-world-model-mcp": {
"type": "http",
"url": "https://www.cloudworldmodel.ai/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http cloud-world-model-mcp https://www.cloudworldmodel.ai/mcpClaude Desktop
https://www.cloudworldmodel.ai/mcpWindsurf
{
"mcpServers": {
"cloud-world-model-mcp": {
"serverUrl": "https://www.cloudworldmodel.ai/mcp"
}
}
}Let your agent find its tools
Find servers like Cloud World Model MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other cloud and infrastructure servers
Do you run Cloud World Model MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.