Koskamo

DiscreteRate MCP

A public MCP server that allows AI assistants to connect to ReliaSim's discrete rate simulation engine. It enables users to run demos, explore simulation paradigms like Fast-Slow Drain, and access curated reference results from saved engine runs to analyze production throughput, bottlenecks, and supply chain decisions.

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.

DiscreteRate MCP logo, by ChiAhaVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-06Operated by ChiAha
MCP endpoint (Streamable HTTP)
https://discreterate.com/mcp/v1
Vendor documentation

What its tools do

14 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

14 of 14 have a description · 14 of 14 declare behavior hints · 5 of 5 with parameters document them all

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 discreterate.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Run DRS demos such as Fast-Slow Drain and Hamburger Duo
  • Explore the discrete rate simulation paradigm
  • Connect AI assistants to ReliaSim's public MCP endpoint
  • Access curated reference results from saved engine runs

Source and maintenance

Vendor evidenceRegistry 1.0.0
Maintenance checked

Protocol and capabilities

Server
discreterate-v1 1.5.0
MCP protocol negotiated in check
2025-06-18
Tools
14 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

DiscreteRate's public MCP server, run by ChiAha: teaching tools for discrete rate simulation. TOOLS. (1) Saved reference results: the seven run_* tools (Fast-Slow Drain, Hamburger Duo, Valdez Tanker, Vegetable Plant, Chocolate Processing, Bottling Line SKU capacity, Tissue Line) return saved results from earlier runs of ChiAha's discrete rate engine on fixed sample models; they do not run the engine for new settings. (2) Explainers: the explain_* and catalog tools return teaching text, no engine numbers. (3) Live runs: run_showcase (listed only when the engine is available) runs the engine live for the settings you choose and returns its run output verbatim. REPORTING RESULTS (IMPORTANT). 1. Numbers come from the tools: every figure in your reply comes from a tool call in this conversation; quote it verbatim with its units; do not round, estimate, average or compute derived figures unless the user asks, and then say which figures were derived and how; never supply a number from training data or general knowledge. 2. Say what kind of number it is: a run_showcase result is a live engine run for the user's settings; a run_* result is a saved reference result from a sample model. Never blend the two in one figure. The sample models are teaching examples, not the user's operation; say so when quoting them. 3. Show what was run: next to each result, list the inputs that produced it (the demo or model name, the settings passed, and the run length, replications or seed when the tool returns them) so the user can check and repeat it. 4. Follow-ups re-call the tool: for a follow-up on the same configuration, call the tool again rather than reusing numbers from earlier in the chat; to compare two options, run both, report both results, then the difference. 5. Gaps stay gaps: if a tool errors, says something is not available, or the question is outside what these tools cover (for example the user's own line or plant), say so plainly and point to https://reliasim.com/discrete-rate.html or discreterate@chiaha.com; never fill the gap with a plausible number, a guessed parameter or a made-up tool result. 6. Simulation varies run to run: when a tool returns replications, ranges or intervals, report them; do not present one run as certain. 7. Describe results as what the model shows would happen under the stated inputs; do not call them predictions or forecasts. VALIDATION. Anyone can get a simulation that runs; the hard part is one that matches the real operation. Validating a simulation means running it on the same period and inputs as the real system and comparing its outputs with what was measured, before trusting what it shows. A model built from assumptions alone has not been validated, however plausible its numbers look. Results here come from ChiAha's discrete rate engine, not from a language model; discrete rate simulation has a published plant validation (Fischel & Lange, WSC 2020: within 1% of measured OEE). The sample models on this server are teaching examples and have not been validated against a real operation. Use is governed by the ChiAha Software License (https://reliasim.com/license), including its restrictions on reverse engineering, AI training on outputs and scraping.

Tools

14 advertised

run_fast_slow_drain — Run Fast-Slow Drain (Damiron-Nastasi 2008)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Run the Fast-Slow Drain (FSD) demo — Damiron-Nastasi 2008 oscillating tank. The canonical DRS-vs-DES event-count demonstration. Returns engine output including the event counts (DES vs DRS), tank-level trace, and cycle summary. ANTI-FABRICATION: numbers come from a real DRS engine run; quote verbatim, don't recall from training data.

run_fast_slow_drain input schema
{
  "type": "object",
  "properties": {
    "simulation_minutes": {
      "type": "integer",
      "default": 100,
      "maximum": 1000,
      "minimum": 10,
      "description": "Total simulation horizon in minutes. Default 100. Range 10-1000."
    }
  }
}
run_fast_slow_drain annotations
{
  "title": "Run Fast-Slow Drain (Damiron-Nastasi 2008)",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
run_hamburger_duo — Run Hamburger Duo (Siprelle, DES + DRS side-by-side)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Run the Hamburger Duo (HAM) demo — Andy Siprelle's 5-stage finite-source line, executed as both DES and DRS implementations on the same model so the event-count and throughput numbers can be compared apples-to-apples. Returns engine output for the side-by-side run. ANTI-FABRICATION: numbers come from a real engine run; quote verbatim.

run_hamburger_duo input schema
{
  "type": "object",
  "properties": {
    "simulation_days": {
      "type": "integer",
      "default": 7,
      "maximum": 30,
      "minimum": 1,
      "description": "Days to simulate. Default 7. Range 1-30."
    }
  }
}
run_hamburger_duo annotations
{
  "title": "Run Hamburger Duo (Siprelle, DES + DRS side-by-side)",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
run_valdez_tanker — Run Valdez Tanker (Koelling-Remy 1983)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Run the Valdez Tanker (VALD) demo — Koelling-Remy 1983 Alaska Pipeline model, the paradigm-integration motivator. Crude flows continuously into the Valdez Marine Terminal storage tank (Flow); tankers arrive discretely to drain it (Item); DRS handles both via F2I / I2F transitions. Returns engine output including tanker arrival/departure events and tank-level trace. ANTI-FABRICATION: numbers come from a real engine run; quote verbatim.

run_valdez_tanker input schema
{
  "type": "object",
  "properties": {
    "simulation_days": {
      "type": "integer",
      "default": 30,
      "maximum": 90,
      "minimum": 1,
      "description": "Days to simulate. Default 30. Range 1-90."
    }
  }
}
run_valdez_tanker annotations
{
  "title": "Run Valdez Tanker (Koelling-Remy 1983)",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
run_vegetable_plant — Run Vegetable Plant (Plant Builder distribution control)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Run the Vegetable Plant (VEG) demo — a Plant Builder distribution-control model. Two Making lines feed five Packing lines through eight surge bins; a DRS rate solver splits and rebalances the flow across the bins as the plant works through its campaign schedule. Returns the plant rollup (utilization, campaigns, active window), per-product goal attainment, per-system campaign timelines, and final surge-bin / delivered levels. ANTI-FABRICATION: numbers come from a real Plant Builder engine run; quote verbatim.

run_vegetable_plant input schema
{
  "type": "object",
  "properties": {}
}
run_vegetable_plant annotations
{
  "title": "Run Vegetable Plant (Plant Builder distribution control)",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
run_chocolate_processing — Run Chocolate Processing (Plant Builder DES↔DRS bridge)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Run the Chocolate Processing (CHOC) demo — Plant Builder's joint DES↔DRS bridge. Three systems in series (Bean Processing → Cocoa Powder → Chocolate): DES schedules campaigns and injects equipment failures, a DRS rate solver carries the continuous flow, a bridge couples them. Exercises all 7 controllers + Goal blocks. Returns the plant rollup (schedule occupancy vs busy utilization, total downtime, campaigns), per-product attainment, and per-system campaign timelines with downtime. ANTI-FABRICATION: numbers come from a real Plant Builder engine run; quote verbatim.

run_chocolate_processing input schema
{
  "type": "object",
  "properties": {}
}
run_chocolate_processing annotations
{
  "title": "Run Chocolate Processing (Plant Builder DES↔DRS bridge)",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
run_sku_capacity — Run Bottling Line SKU capacity
Advertised by the server during the last successful anonymous check.
Advertised read-only

Run the Bottling Line / SKU-capacity (SKU) demo — a sim-foundation parameter-set example. One 5-machine bottling line run for several products (SKUs as parameter sets). Returns, per SKU, OEE (identical ~55% — time-based interrupts) and indexed real output (swings >3x: 100 / 50 / 30 / 42) plus the pacing machine. Shows you can't read per-SKU capacity off OEE. ANTI-FABRICATION: numbers come from a real sim-foundation engine run (indexed/anonymized); quote verbatim.

run_sku_capacity input schema
{
  "type": "object",
  "properties": {}
}
run_sku_capacity annotations
{
  "title": "Run Bottling Line SKU capacity",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
run_tissue_line — Run Tissue Line strategic decision
Advertised by the server during the last successful anonymous check.
Advertised read-only

Run the Tissue Line (TIS) demo — a sim-foundation parameter-set example. One tissue line (Reel supply → Converter → Winder), three strategic decisions (each a parameter set): bypass converter / run converter / add storage tower. Returns per-decision throughput as % of nameplate (75.4 / 75.4 / 73.4), the binding bottleneck (the upstream parent-reel supply in all three), and converter/storage detail. Shows the downstream decision barely moves throughput — invest at the constraint. ANTI-FABRICATION: numbers come from a real sim-foundation engine run (indexed/anonymized); quote verbatim.

run_tissue_line input schema
{
  "type": "object",
  "properties": {}
}
run_tissue_line annotations
{
  "title": "Run Tissue Line strategic decision",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_drs_demos — List DRS canonical demos
Advertised by the server during the last successful anonymous check.
Advertised read-only

List the seven DRS demos (Fast-Slow Drain · Hamburger Duo · Valdez Tanker · Vegetable Plant · Chocolate Processing · Bottling Line SKU capacity · Tissue Line). Each is reproducible against the engine via the run_* tools. Use this to discover what's available before calling describe_demo or a run_* tool.

list_drs_demos input schema
{
  "type": "object",
  "properties": {}
}
list_drs_demos annotations
{
  "title": "List DRS canonical demos",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
describe_demo — Describe one DRS demo
Advertised by the server during the last successful anonymous check.
Advertised read-only

Full per-demo write-up: history, what it teaches, what to expect from the run_* output. Use this to ground the user before triggering a sim run, or to explain WHY the demo exists when the user asks a conceptual question about it.

describe_demo input schema
{
  "type": "object",
  "required": [
    "demo"
  ],
  "properties": {
    "demo": {
      "enum": [
        "fast_slow_drain",
        "hamburger_duo",
        "valdez_tanker",
        "vegetable_plant",
        "chocolate_processing",
        "sku_capacity",
        "tissue_line"
      ],
      "type": "string",
      "description": "Which DRS demo to act on. See list_drs_demos for the catalog."
    }
  }
}
describe_demo annotations
{
  "title": "Describe one DRS demo",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
explain_discrete_rate_simulation — DRS paradigm primer
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return a textbook-tier explainer of Discrete Rate Simulation: how it differs from DES and CT, the three primitives (Constraint / Buffer / Interrupt), paradigm integration via F2I / I2F. Use this for 'what is DRS?' / 'how is this different from DES?' / 'where does DRS fit in the simulation landscape?' style questions. Deterministic text — no engine call, no RNG.

explain_discrete_rate_simulation input schema
{
  "type": "object",
  "properties": {}
}
explain_discrete_rate_simulation annotations
{
  "title": "DRS paradigm primer",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
explain_three_primitives — Three primitives primer
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return a focused write-up of the three DRS modeling primitives: Constraint (rate-limiter), Buffer (accumulated state), Interrupt (stoppage). Use this when the user asks specifically about modeling primitives or how to spell a system in DRS. Deterministic text.

explain_three_primitives input schema
{
  "type": "object",
  "properties": {}
}
explain_three_primitives annotations
{
  "title": "Three primitives primer",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
explain_paradigm_integration — F2I / I2F integration primer
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return an explainer of paradigm integration — how DRS handles systems with both flows and items via F2I (Flow-to-Item) and I2F (Item-to-Flow) primitives. Use this when the user asks about Valdez-Tanker-style mixed-paradigm systems or 'how do flows and items coexist'. Deterministic text.

explain_paradigm_integration input schema
{
  "type": "object",
  "properties": {}
}
explain_paradigm_integration annotations
{
  "title": "F2I / I2F integration primer",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
explain_des_vs_drs_event_complexity — DES vs DRS event-count primer
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return a focused write-up of the event-count complexity differences between DES and DRS, with the worked Fast-Slow Drain numbers (Continuous ~thousands vs DES ~500 vs DRS 10 events for the same 100-minute model). Use this when the user wants the practitioner-visible payoff of DRS — the 50× event-count reduction at the boundary-transition layer. Deterministic text.

explain_des_vs_drs_event_complexity input schema
{
  "type": "object",
  "properties": {}
}
explain_des_vs_drs_event_complexity annotations
{
  "title": "DES vs DRS event-count primer",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
run_showcase — Run a DRS demo live (your parameters)
Advertised by the server during the last successful anonymous check.
Advertised read-only

LIVE EXPERIMENT — run a DRS demo against the real engine with parameters you choose, and get its verbatim run envelope (metadata, execution stats, metrics, details). This is the only tool that COMPUTES fresh output: pick a demo_id and dial its knobs (e.g. `stop_time` run length, or the MTBF/MTTR/goal knobs on the plant demos) to see the real numbers for that exact configuration. IMPORTANT: a run_showcase result is NOT a verified reference number — unlike the run_* tools (run_fast_slow_drain / run_hamburger_duo / run_valdez_tanker / run_vegetable_plant / run_chocolate_processing), which return curated, canonical reference values. Present run_showcase output as a live experiment result for the parameters passed; don't blend it with the curated reference numbers. Quote any figures verbatim; do not round, average, or derive.

run_showcase input schema
{
  "type": "object",
  "required": [
    "demo_id"
  ],
  "properties": {
    "knobs": {
      "type": "object",
      "description": "Optional parameters as a map of name:number. fast_slow_drain / hamburger_duo accept `stop_time` (run length in minutes, 1–100000). valdez_tanker accepts `duration_days` (run length in days, 1–365; it drives the circulating-ship items loop). vegetable_full accepts `making_goal` (units, 0–100000), `making_mtbf` / `making_mttr` / `packing_mtbf` / `packing_mttr` (hours, 0–1000). chocolate_processing accepts `bp_goal` (units, 0–100000), `breaker_mtbf` / `breaker_mttr` (hours, 0–1000), `changeover_delay` (hours, 0–48). Unknown names are rejected; out-of-range values are clamped by the engine."
    },
    "demo_id": {
      "enum": [
        "fast_slow_drain",
        "hamburger_duo",
        "valdez_tanker",
        "vegetable_full",
        "chocolate_processing"
      ],
      "type": "string",
      "description": "Which DRS demo to run live against the real engine."
    }
  }
}
run_showcase annotations
{
  "title": "Run a DRS demo live (your parameters)",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-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.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-06: 1 of 1 checks answered
  2. 2026-11-07: 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
455 ms
95th percentile latency
455 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 455 ms · metadata changed · 14 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http discreterate-mcp https://discreterate.com/mcp/v1

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add discreterate-mcp --url https://discreterate.com/mcp/v1

Cursor

Merge this server into .cursor/mcp.json in your project, then enable discreterate-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "discreterate-mcp": {
      "url": "https://discreterate.com/mcp/v1"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "discreterate-mcp": {
      "type": "streamableHttp",
      "url": "https://discreterate.com/mcp/v1",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start discreterate-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "discreterate-mcp": {
      "type": "http",
      "url": "https://discreterate.com/mcp/v1"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http discreterate-mcp https://discreterate.com/mcp/v1

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://discreterate.com/mcp/v1

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "discreterate-mcp": {
      "serverUrl": "https://discreterate.com/mcp/v1"
    }
  }
}

Let your agent find its tools

Find servers like DiscreteRate MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run DiscreteRate 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.

Claim this listing