- Queuesim
Queuesim
/* NAV */ .nav { background: rgba(20,18,16,0.95); backdrop-filter: blur(16px); padding: 12px 5vw; display: flex; align-items: center; gap: 12px; position: sticky; top: 0; z-index: 100; border-bottom: 0.5px solid var(--border); } .nav-logo { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 22px; color: var(--text); text-decoration: none; } .nav-logo .accent { color: var(--accent); } .nav-logo .logo-q { font-family: 'Pacifico', cursive; font-style: italic; color: var(--accent); } .nav-links { display: flex; gap: 24px; margin-left: 32px; } .nav-links a { font-family: 'DM Mono', monospace; font-size: 12px; color: var(--text-dim); font-weight: 500; text-transform: uppercase; letter-spacing: 0.06em; text-decoration: none; } .nav-links a:hover { color: var(--text); text-decoration: none; } .nav-links-right { font-family: 'DM Mono', monospace; font-size: 12px; color: var(--text-dim); font-weight: 500; text-transform: uppercase; letter-spacing: 0.06em; text-decoration: none; } .nav-links-right:hover { color: var(--text); text-decoration: none; } .nav-right { margin-left: auto; display: flex; align-items: center; gap: 10px; }
/* SECTIONS */ .section { padding: 48px 5vw; } .section-inner { max-width: 1080px; margin: 0 auto; } .eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; text-transform: uppercase; letter-spacing: 0.15em; color: var(--text-dim); margin-bottom: 14px; } .eyebrow-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }
/* HERO */ .hero-section { padding: 56px 5vw 32px; text-align: center; } .hero-inner { max-width: 780px; margin: 0 auto; } .subhead { font-size: 16px; color: var(--text-dim); max-width: 620px; margin: 14px auto 22px; line-height: 1.55; } .btn { display: inline-block; padding: 10px 22px; border-radius: 4px; font-family: 'DM Mono', monospace; font-size: 13px; text-transform: uppercase; letter-spacing: 0.08em; text-decoration: none; border: 1px solid var(--border); transition: all 0.15s; cursor: pointer; } .btn-primary { background: var(--accent); color: var(--bg0); border-color: var(--accent); } .btn-primary:hover { background: var(--accent2); text-decoration: none; } .btn-secondary { background: transparent; color: var(--text); border-color: var(--border); } .btn-secondary:hover { background: var(--surface); text-decoration: none; } .hero-cta { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 20px; }
.install-url { display: inline-block; margin-top: 16px; padding: 8px 14px; background: var(--bg2); border: 0.5px solid var(--border); border-radius: 4px; font-family: 'DM Mono', monospace; color: var(--accent); font-size: 14px; }
/* GRID CARDS */ .grid-3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; margin-top: 20px; } .grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 18px; margin-top: 20px; } .card { background: var(--surface); border: 0.5px solid var(--border); border-radius: 8px; padding: 20px 22px; } .card h3 { color: var(--text); margin-bottom: 6px; } .card .label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--text-faint); margin-bottom: 6px; } .card p { color: var(--text-dim); font-size: 13.5px; } .card pre { margin-top: 10px; font-size: 12px; }
.tool-card { background: var(--surface); border: 0.5px solid var(--border); border-radius: 6px; padding: 14px 18px; } .tool-card .tool-name { font-family: 'DM Mono', monospace; color: var(--accent); font-size: 13px; margin-bottom: 4px; } .tool-card p { font-size: 13px; color: var(--text-dim); }
.prompt-list { list-style: none; padding: 0; } .prompt-list li { padding: 12px 14px; border: 0.5px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--text-dim); cursor: pointer; position: relative; transition: border-color 150ms, background 150ms; margin-bottom: 8px; } .prompt-list li:last-child { margin-bottom: 0; } .prompt-list li:hover { border-color: var(--accent); background: var(--bg2); } .prompt-list li em { color: var(--text); font-style: normal; display: block; margin-bottom: 3px; font-size: 14px; padding-right: 90px; } .prompt-list li .what { font-size: 12px; color: var(--text-faint); } .prompt-list li .copy-hint { position: absolute; top: 12px; right: 14px; font-size: 11px; color: var(--text-faint); letter-spacing: 0.04em; text-transform: uppercase; font-family: 'DM Mono', monospace; transition: color 150ms; } .prompt-list li:hover .copy-hint { color: var(--accent); } .prompt-list li.copied { border-color: var(--green); background: rgba(74,222,128,0.06); } .prompt-list li.copied .copy-hint { color: var(--green); }
.cta-box { background: linear-gradient(180deg, var(--bg1) 0%, var(--bg2) 100%); border: 0.5px solid var(--border); border-radius: 10px; padding: 32px 28px; text-align: center; } .cta-box h2 { margin-bottom: 10px; } .cta-box p { max-width: 640px; margin: 0 auto 18px; } .mail-link { font-family: 'DM Mono', monospace; color: var(--accent); font-size: 15px; padding: 8px 16px; border: 0.5px solid var(--accent); border-radius: 4px; display: inline-block; } .mail-link:hover { background: var(--accent); color: var(--bg0); text-decoration: none; }
footer { padding: 32px 5vw; text-align: center; color: var(--text-faint); font-size: 12px; border-top: 0.5px solid var(--border); } footer a { color: var(--accent); }
@media (max-width: 680px) { .nav-links { display: none; } h1 { font-size: 28px; } h2 { font-size: 20px; } .section { padding: 36px 5vw; } }
Run queueing simulations inside your Claude chat.
QueueSim's MCP server lets Claude (and any MCP-speaking AI) run discrete event simulations directly in conversation. Describe your queue — Claude simulates it and reads back the numbers. Free, no sign-up, no API key.
Ask Claude queueing questions. Get real numbers back.
Plain-language queueing
"I have 30 calls an hour, each takes 4 minutes, 3 agents — what's my wait?" Claude runs a discrete event simulation and reports wait time, queue length, utilization, and throughput.
Four built-in shapes
Single Server, Coffee Shop, ER Waiting Room, Call Center. Run the defaults, or dial in your own numbers. Matches the scenarios on queuesim.com exactly.
Explainers on demand
Little's Law, utilization, Erlang-C, and the ways real queues (abandonment, priority, skills-based routing, breakdowns) break classical M/M/c assumptions.
Three ways in — pick the app you already use.
Easiest
Settings → Connectors (or Custom Integrations). Add MCP server:
https://queuesim.com/mcp/v1
No auth. Open a chat and try one of the prompts below.
Config file
Edit claude_desktop_config.json:
{
"mcpServers": {
"queuesim": {
"command": "npx",
"args": ["-y", "mcp-remote",
"https://queuesim.com/mcp/v1"]
}
}
}
Uses the mcp-remote bridge. Restart Desktop.
Custom MCP
Settings → Features → Model Context Protocol → Add Custom MCP. Use the same URL:
https://queuesim.com/mcp/v1
Same install pattern works for Windsurf and any other MCP-speaking client.
What Claude can call once the MCP is installed.
Run a generic M/M/c queue. Inputs: arrival rate (λ), service rate per server (μ), server count (c), optional distributions. Returns per-hour metrics + summary.
List the four preset scenarios: Single Server, Coffee Shop, ER Waiting Room, Call Center.
Full detail for one scenario: teaching note, per-hour defaults, supported overrides.
Run a preset with optional overrides (servers, arrival rate, service time, days, distributions).
~500-word primer on M/M/c: Little's Law, utilization, why averages mislead, Erlang-C vs simulation.
Textbook-level description of six real-world patterns classical M/M/c can't model — abandonment, priority tiers, overflow, skills-based routing, compound service, server outages.
Once it's installed, ask Claude any of these. Click to copy.
-
Click to copy
"I run a call center with 30 calls per hour, each taking 4 minutes to handle. With 3 agents, what's the average wait?"
Triggers
simulate_mmc. Expect wait ~2 minutes, ρ ≈ 0.67. -
Click to copy
"Run the Coffee Shop scenario and tell me where the bottleneck is."
Triggers
describe_scenario+simulate_scenario. Claude explains the peak staffing question. -
Click to copy
"For the ER scenario, what if I staffed 12 overnight instead of 8?"
Triggers
simulate_scenariowith an override. Trade-off lands in the numbers. -
Click to copy
"Why does average wait explode as utilization approaches 100%?"
Triggers
explain_queueing_theory. -
Click to copy
"My call center has VIPs who cut the line and agents who go on breaks — can you model that?"
Triggers
explain_advanced_patterns. Explains priority + outages, points you at ChiAha for custom modeling.
Real operations usually aren't textbook.
Customers abandon lines. VIPs cut. Skills-based routing, overflow groups, breaks, transfers, after-call work. Each one breaks M/M/c's assumptions in a way that matters. The free MCP can describe these patterns in queueing-theory terms — but running one against your numbers requires a custom discrete event model.
ChiAha has been building exactly that kind of model for 35 years. Reach out and we'll scope a study.
queuesim@chiaha.comServer Config
{
"mcpServers": {
"queuesim": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://queuesim.com/mcp/v1"
]
}
}
}Recommend Servers
View All高德地图官方 MCP Server
summarize chat message