QueueSim
What this MCP does
Runs M/M/c queue simulations, staffing calculations, scenario comparisons, and queueing-theory analyses.
Tools
Input schema
{'type': 'object', 'required': ['arrivalRate', 'serviceRate', 'servers'], 'properties': {'servers': {'type': 'integer', 'default': 2, 'maximum': 50, 'minimum': 1, 'description': 'Number of parallel servers (c). Integer 1-50.'}, 'arrivalRate': {'type': 'number', 'default': 20, 'maximum': 200, 'description': 'Mean arrivals per hour (λ).', 'exclusiveMinimum': 0}, 'serviceRate': {'type': 'number', 'default': 12, 'description': 'Mean customers one server can finish per hour (μ). Must be > 0.', 'exclusiveMinimum': 0}, 'simulationDays': {'type': 'integer', 'default': 7, 'maximum': 30, 'minimum': 1, 'description': 'Days to simulate on the DES side. Closed-form is instant. Range 1-30; longer runs converge closer to the formula.'}}}
Output schema
{'type': 'object', 'required': ['inputs', 'analytical', 'simulated', 'delta'], 'properties': {'note': {'type': 'string'}, 'delta': {'type': 'object', 'properties': {'note': {'type': 'string'}, 'avgQueueLength': {'type': 'number'}, 'avgWaitMinutes': {'type': 'number'}, 'avgWaitPercent': {'type': 'number'}}}, 'inputs': {'type': 'object'}, 'simulated': {'type': 'object', 'required': ['avgWaitMinutes', 'avgQueueLength', 'offeredLoad', 'totalServed'], 'properties': {'offeredLoad': {'type': 'number'}, 'totalServed': {'type': 'integer'}, 'effectiveDays': {'type': 'integer'}, 'avgQueueLength': {'type': 'number'}, 'avgWaitMinutes': {'type': 'number'}}}, 'analytical': {'type': 'object', 'required': ['avgWaitMinutes', 'avgQueueLength', 'offeredLoad', 'probabilityOfWaiting'], 'properties': {'offeredLoad': {'type': 'number'}, 'avgQueueLength': {'type': 'number'}, 'avgWaitMinutes': {'type': 'number'}, 'probabilityOfWaiting': {'type': 'number'}}}}}
Input schema
{'type': 'object', 'required': ['arrivalRate', 'serviceRate', 'servers'], 'properties': {'servers': {'type': 'integer', 'default': 3, 'maximum': 50, 'minimum': 2, 'description': "Number of servers (c). Pooled: one queue feeds all c. Separate: c independent queues, each with one server and λ/c traffic. Range 2-50 (with c=1 there's nothing to compare)."}, 'arrivalRate': {'type': 'number', 'default': 30, 'maximum': 200, 'description': 'Mean total arrival rate (λ). Pooled run takes all of it; separate run divides evenly across the c queues.', 'exclusiveMinimum': 0}, 'serviceRate': {'type': 'number', 'default': 12, 'description': 'Mean service rate per server (μ, customers/hour each server finishes). Identical across both runs.', 'exclusiveMinimum': 0}, 'simulationDays': {'type': 'integer', 'default': 7, 'maximum': 30, 'minimum': 1, 'description': 'Days to simulate (same for both runs). Range 1-30.'}}}
Output schema
{'type': 'object', 'required': ['inputs', 'summary', 'hourly'], 'properties': {'hourly': {'type': 'array', 'items': {'type': 'object', 'properties': {'hour': {'type': 'integer'}, 'label': {'type': 'string'}, 'avgArrivals': {'type': 'number'}, 'maxArrivals': {'type': 'integer'}, 'avgDepartures': {'type': 'number'}, 'maxDepartures': {'type': 'integer'}, 'serversOnDuty': {'type': 'integer'}, 'avgQueueLength': {'type': 'number'}, 'avgWaitMinutes': {'type': 'number'}, 'maxQueueLength': {'type': 'number'}, 'maxWaitMinutes': {'type': 'number'}}}}, 'inputs': {'type': 'object', 'description': "Echo of the run's parameters."}, 'summary': {'type': 'object', 'required': ['totalArrivals', 'totalServed', 'effectiveDays', 'overallAvgWaitMinutes'], 'properties': {'offeredLoad': {'type': ['number', 'null']}, 'totalServed': {'type': 'integer'}, 'effectiveDays': {'type': 'integer'}, 'totalArrivals': {'type': 'integer'}, 'overallAvgWaitMinutes': {'type': 'number'}}}}}
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'enum': ['single', 'coffee', 'grocery', 'callcenter'], 'type': 'string', 'default': 'coffee', 'description': 'Scenario key from list_scenarios.'}}}
Output schema
{'type': 'object', 'required': ['key', 'title', 'defaults'], 'properties': {'key': {'type': 'string'}, 'title': {'type': 'string'}, 'defaults': {'type': 'object'}, 'description': {'type': 'string'}, 'teachingNote': {'type': 'string'}, 'supportedOverrides': {'type': 'array', 'items': {'type': 'string'}}}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'required': ['arrivalRate', 'serviceRate', 'servers'], 'properties': {'servers': {'type': 'integer', 'default': 2, 'maximum': 50, 'minimum': 1, 'description': 'Server count (c).'}, 'arrivalRate': {'type': 'number', 'default': 20, 'maximum': 200, 'description': 'Mean arrivals per hour (λ).', 'exclusiveMinimum': 0}, 'serviceRate': {'type': 'number', 'default': 12, 'description': 'Mean customers one server finishes per hour (μ).', 'exclusiveMinimum': 0}, 'observedAvgWaitMinutes': {'type': 'number', 'minimum': 0, 'description': 'Optional. The avg wait the user observed (from simulate_mmc, an Erlang-C calculator, or real measurements). If omitted, the tool computes ρ from the inputs and gives a parameter-only interpretation.'}}}
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'object', 'required': ['scenarios'], 'properties': {'scenarios': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'title', 'description'], 'properties': {'key': {'type': 'string'}, 'title': {'type': 'string'}, 'description': {'type': 'string'}}}}}}
Input schema
{'type': 'object', 'required': ['arrivalRate', 'serviceRate', 'targetAvgWaitMinutes'], 'properties': {'maxServers': {'type': 'integer', 'default': 50, 'maximum': 50, 'minimum': 1, 'description': "Search ceiling (default 50, max 50). If even this many servers can't meet the target, the tool returns null with the achieved wait."}, 'serviceCoV': {'type': 'number', 'maximum': 5, 'minimum': 0}, 'arrivalRate': {'type': 'number', 'default': 20, 'maximum': 200, 'description': 'Mean arrivals per hour (λ).', 'exclusiveMinimum': 0}, 'serviceRate': {'type': 'number', 'default': 12, 'description': 'Mean customers one server can finish per hour (μ). Must be > 0.', 'exclusiveMinimum': 0}, 'simulationDays': {'type': 'integer', 'default': 7, 'maximum': 30, 'minimum': 1, 'description': 'Days to simulate per candidate (default 7). Range 1-30. Lower = faster search; higher = less seed-to-seed variance.'}, 'arrivalDistribution': {'enum': ['Exponential', 'Constant'], 'type': 'string', 'default': 'Exponential'}, 'serviceDistribution': {'enum': ['Exponential', 'Constant', 'Normal', 'LogNormal'], 'type': 'string', 'default': 'Exponential'}, 'targetAvgWaitMinutes': {'type': 'number', 'default': 3, 'minimum': 0, 'description': "Maximum average wait time you're willing to accept, in minutes. The tool returns the smallest server count that meets this target."}}}
Output schema
{'type': 'object', 'required': ['achievedAvgWaitMinutes', 'targetAvgWaitMinutes', 'trials', 'note'], 'properties': {'note': {'type': 'string'}, 'trials': {'type': 'array', 'items': {'type': 'object', 'required': ['servers', 'avgWaitMinutes'], 'properties': {'servers': {'type': 'integer'}, 'avgWaitMinutes': {'type': 'number'}}}}, 'recommendedServers': {'type': ['integer', 'null'], 'description': "Smallest c meeting the target. null when even maxServers can't meet it."}, 'targetAvgWaitMinutes': {'type': 'number'}, 'achievedAvgWaitMinutes': {'type': 'number'}, 'offeredLoadAtRecommendation': {'type': 'number', 'description': 'Present only when a feasible recommendation was found.'}}}
Input schema
{'type': 'object', 'required': ['arrivalRate', 'serviceRate', 'servers'], 'properties': {'servers': {'type': 'integer', 'default': 2, 'maximum': 50, 'minimum': 1, 'description': 'Number of parallel servers (c). Integer 1-50.'}, 'serviceCoV': {'type': 'number', 'maximum': 5, 'minimum': 0, 'description': "Coefficient of variation for service time — used when serviceDistribution is 'Normal' or 'LogNormal'. Ignored for Exponential/Constant. Range 0-5."}, 'arrivalRate': {'type': 'number', 'default': 20, 'maximum': 200, 'description': 'Mean arrivals per hour (λ). Any positive value up to 200.', 'exclusiveMinimum': 0}, 'serviceRate': {'type': 'number', 'default': 12, 'description': 'Mean customers one server can finish per hour (μ). Must be > 0.', 'exclusiveMinimum': 0}, 'simulationDays': {'type': 'integer', 'default': 7, 'maximum': 30, 'minimum': 1, 'description': 'Days to simulate (default 7). Range 1-30 — longer runs are not supported on the public surface; for production-scale studies contact queuesim@chiaha.com.'}, 'arrivalDistribution': {'enum': ['Exponential', 'Constant'], 'type': 'string', 'default': 'Exponential', 'description': "Shape of inter-arrival times. 'Exponential' = Poisson process (default). 'Constant' = evenly-spaced."}, 'serviceDistribution': {'enum': ['Exponential', 'Constant', 'Normal', 'LogNormal'], 'type': 'string', 'default': 'Exponential', 'description': "Shape of service-time distribution. 'Exponential' = classical M/M/c (default)."}}}
Output schema
{'type': 'object', 'required': ['inputs', 'summary', 'hourly'], 'properties': {'hourly': {'type': 'array', 'items': {'type': 'object', 'properties': {'hour': {'type': 'integer'}, 'label': {'type': 'string'}, 'avgArrivals': {'type': 'number'}, 'maxArrivals': {'type': 'integer'}, 'avgDepartures': {'type': 'number'}, 'maxDepartures': {'type': 'integer'}, 'serversOnDuty': {'type': 'integer'}, 'avgQueueLength': {'type': 'number'}, 'avgWaitMinutes': {'type': 'number'}, 'maxQueueLength': {'type': 'number'}, 'maxWaitMinutes': {'type': 'number'}}}}, 'inputs': {'type': 'object', 'description': "Echo of the run's parameters."}, 'summary': {'type': 'object', 'required': ['totalArrivals', 'totalServed', 'effectiveDays', 'overallAvgWaitMinutes'], 'properties': {'offeredLoad': {'type': ['number', 'null']}, 'totalServed': {'type': 'integer'}, 'effectiveDays': {'type': 'integer'}, 'totalArrivals': {'type': 'integer'}, 'overallAvgWaitMinutes': {'type': 'number'}}}}}
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'enum': ['single', 'coffee', 'grocery', 'callcenter'], 'type': 'string', 'default': 'coffee', 'description': 'Scenario key from list_scenarios.'}, 'overrides': {'type': 'object', 'properties': {'servers': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Override server count applied to every hour the scenario had staff.'}, 'serviceCoV': {'type': 'number', 'maximum': 5, 'minimum': 0}, 'arrivalRate': {'type': 'number', 'maximum': 200, 'description': 'Override arrival rate (customers/hr) applied to every hour the scenario was open.', 'exclusiveMinimum': 0}, 'simulationDays': {'type': 'integer', 'default': 7, 'maximum': 30, 'minimum': 1, 'description': 'Days to simulate (default 7). Range 1-30 — longer runs are not supported on the public surface.'}, 'serviceTimeMinutes': {'type': 'number', 'description': 'Override mean service time (minutes per customer).', 'exclusiveMinimum': 0}, 'arrivalDistribution': {'enum': ['Exponential', 'Constant'], 'type': 'string'}, 'serviceDistribution': {'enum': ['Exponential', 'Constant', 'Normal', 'LogNormal'], 'type': 'string'}}, 'description': "Optional overrides applied uniformly across open hours (closed hours preserved at zero for scheduled scenarios). All fields optional — leave empty to run the scenario's published defaults."}}}
Output schema
{'type': 'object', 'required': ['inputs', 'summary', 'hourly'], 'properties': {'hourly': {'type': 'array', 'items': {'type': 'object', 'properties': {'hour': {'type': 'integer'}, 'label': {'type': 'string'}, 'avgArrivals': {'type': 'number'}, 'maxArrivals': {'type': 'integer'}, 'avgDepartures': {'type': 'number'}, 'maxDepartures': {'type': 'integer'}, 'serversOnDuty': {'type': 'integer'}, 'avgQueueLength': {'type': 'number'}, 'avgWaitMinutes': {'type': 'number'}, 'maxQueueLength': {'type': 'number'}, 'maxWaitMinutes': {'type': 'number'}}}}, 'inputs': {'type': 'object', 'description': "Echo of the run's parameters."}, 'summary': {'type': 'object', 'required': ['totalArrivals', 'totalServed', 'effectiveDays', 'overallAvgWaitMinutes'], 'properties': {'offeredLoad': {'type': ['number', 'null']}, 'totalServed': {'type': 'integer'}, 'effectiveDays': {'type': 'integer'}, 'totalArrivals': {'type': 'integer'}, 'overallAvgWaitMinutes': {'type': 'number'}}}}}
Input schema
{'type': 'object', 'required': ['arrivalRates', 'staffing'], 'properties': {'staffing': {'type': 'array', 'items': {'type': 'integer', 'maximum': 50, 'minimum': 0}, 'maxItems': 24, 'minItems': 24, 'description': '24 hourly staffing counts (servers/hr, one per hour-of-day 0-23). Use 0 for closed hours. Range 0-50 per hour.'}, 'serviceCoV': {'type': 'number', 'maximum': 5, 'minimum': 0, 'description': 'CoV for service time when distribution is Normal or LogNormal. Range 0-5.'}, 'arrivalRates': {'type': 'array', 'items': {'type': 'number', 'maximum': 200, 'minimum': 0}, 'maxItems': 24, 'minItems': 24, 'description': '24 hourly arrival rates (customers/hr, one per hour-of-day 0-23). Use 0 for closed hours (terminating system). Range 0-200 per hour.'}, 'simulationDays': {'type': 'integer', 'default': 7, 'maximum': 30, 'minimum': 1, 'description': 'Days to simulate. Range 1-30.'}, 'serviceTimeMinutes': {'type': 'number', 'default': 5, 'maximum': 180, 'description': 'Mean service time in minutes per customer. Applies uniformly across hours. Range 0.1-180.', 'exclusiveMinimum': 0}, 'arrivalDistribution': {'enum': ['Exponential', 'Constant'], 'type': 'string', 'default': 'Exponential'}, 'serviceDistribution': {'enum': ['Exponential', 'Constant', 'Normal', 'LogNormal'], 'type': 'string', 'default': 'Exponential'}}}
Output schema
{'type': 'object', 'required': ['inputs', 'summary', 'hourly'], 'properties': {'hourly': {'type': 'array', 'items': {'type': 'object', 'properties': {'hour': {'type': 'integer'}, 'label': {'type': 'string'}, 'avgArrivals': {'type': 'number'}, 'maxArrivals': {'type': 'integer'}, 'avgDepartures': {'type': 'number'}, 'maxDepartures': {'type': 'integer'}, 'serversOnDuty': {'type': 'integer'}, 'avgQueueLength': {'type': 'number'}, 'avgWaitMinutes': {'type': 'number'}, 'maxQueueLength': {'type': 'number'}, 'maxWaitMinutes': {'type': 'number'}}}}, 'inputs': {'type': 'object', 'description': "Echo of the run's parameters."}, 'summary': {'type': 'object', 'required': ['totalArrivals', 'totalServed', 'effectiveDays', 'overallAvgWaitMinutes'], 'properties': {'offeredLoad': {'type': ['number', 'null']}, 'totalServed': {'type': 'integer'}, 'effectiveDays': {'type': 'integer'}, 'totalArrivals': {'type': 'integer'}, 'overallAvgWaitMinutes': {'type': 'number'}}}}}
Recent tool changes
Similar MCP servers
Clink Forge
Provides pay-per-call access to attested government datasets, primarily CDC and HHS health data plus EPA air-quality observations.
osint
Provides source-cited US data and schemas for power systems, AI infrastructure, semiconductor production and trade, robotics, and…
whatif
Builds, validates, calibrates, compares, and simulates Petri-net process models using event logs, scenarios, invariants, and diag…
Us Iso Grid
Provides real-time and recent electricity grid data for CAISO, ERCOT, and NYISO, including demand, forecasts, fuel mix, emissions…
AOI — Environmental Intelligence for AI Agents
Provides paid, quote-based environmental intelligence assessments covering climate risk, emissions, biodiversity, air quality, ha…
Pharma Intel
Combines clinical trial, FDA, PubMed, drug identification, safety, pipeline, sales, patent, and pharmaceutical sponsor data for d…
Data Gov Sg
Provides Singapore government datasets and environmental feeds, including air quality, dataset metadata, and routed structured re…
Nih Reporter
Searches and analyzes NIH-funded research projects, awards, publications, funding trends, expirations, investigators, organizatio…