For agents

Let your agent run the simulator

Scalewise is an MCP server. An agent can read any problem, change the design, and simulate it against the problem's own traffic and failures, the same deterministic engine the lab uses. A design that meets every goal comes back with a link that re-verifies it.

Connect Claude Code

claude mcp add --transport http scalewise https://archsim-lab.vercel.app/api/mcp

Then ask, for example: “Use scalewise to solve the read-heavy product catalog problem, and show me the verified link.” Any client that speaks MCP over Streamable HTTP works the same way with the URL above. No key is needed; calls are rate limited per address.

Tools

ToolWhat it does
list_problemsList system design problemsLists the Scalewise problem set: each problem is a running system with a flaw (overload, a cache flush, a slow database, an attack, an LLM quota). Filter by topic, level (Easy, Medium, Hard) or a search word.
get_problemRead a problemReturns one problem: the situation, the goals, the traffic and scheduled failures, what each component does, and the starting design as JSON. Edit that design (components, connections, settings) and pass it to simulate_design.
simulate_designSimulate a designRuns a design through the deterministic Scalewise simulator and returns every goal with its measured value, success rate, p99 latency, monthly cloud cost, what broke and suggested fixes. Pass problem_id to also check it as a solve (the traffic, failures and goals must be the problem's own); a solve returns a link to a page that re-verifies it.

Without MCP

Scripts can post a design straight to the simulator. Get a starting design from a problem through the MCP tools, or export one from the lab.

curl -s https://archsim-lab.vercel.app/api/simulate \
  -H 'content-type: application/json' \
  -d '{"design": { ... }, "problemId": "catalog"}'

The answer lists every goal with its measured value, success rate, p99 latency, monthly cost, what broke, suggested fixes, and whether the design solves the problem.

The rules an agent plays by

A solve may change the system only: components, connections and their settings. Lowering the traffic, removing the scheduled failure or the component it hits, editing the goals or the seed is reported as a broken rule, not a solve. Designs are limited to 80 components, and a run stops after three million simulated events.

Browse the problems