# SCModeling

> Supply-chain network design via simulation, optimization, and greenfield analysis.

- name: com.scmodeling/public
- version: 1.0.1
- connection class: R0 (autonomous)
- trust: 75/100 flags: no-repository
- quality: 91/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.scmodeling%2Fpublic
- tools: https://api.protogrid.dev/v1/servers/com.scmodeling%2Fpublic/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "public": {
      "type": "http",
      "url": "https://scmodeling.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 99
- freshness: 65
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-98% ~updated-146d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 91/100 (strong)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2024-11-05; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 12 of 12 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 2,081 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 12, about 2,081 tokens to load them all
- tool set hash: db859d1d41eaa172acddd1f2c4bd1193
- badge: [![protogrid quality](https://protogrid.dev/badge/com.scmodeling/public.svg)](https://protogrid.dev/servers/com.scmodeling/public)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://scmodeling.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.982906)

## Packages

_none_

## Tools (12)

- `describe_greenfield_demo`: Full detail on one greenfield demo — region, customer count, available dc_count values, and the score-curve elbow finding. Use this before get_greenfield_result to know what dc_count values are precomputed.
- `describe_opt_demo`: Full detail on one optimization demo — controls, available scenario keys, sites, fixed parameters, citations, and the key finding the demo illustrates. Use this before get_opt_result to know what scenario_key values are accepted.
- `explain_greenfield`: Reference text on greenfield analysis — clean-slate facility-location math. Covers the weighted center-of-gravity (Weber) formulation, Weiszfeld's iterative algorithm, Lloyd's-style alternating location-allocation for N facilities, service constraints (% demand vs % customers within a distance band), and the inverse problem of solving for minimum N. Also covers when to use greenfield vs facility selection (the open/close MIP). Pure static text — no engine call, deterministic output. Use this when the user asks a conceptual 'how does greenfield analysis work' or 'where would I put my DCs' question. ChiAha's GreenfieldAnalysis engine powers the US Greenfield Design demo on the sandbox.
- `explain_optimization`: Reference text on supply-chain network optimization — mixed-integer programming (MIP), the structure of decision variables and constraints, the objective function for landed-cost minimization, and the common problem classes (facility selection, sourcing, flow constraints, multi-period, BOM/production, multi-objective). Also covers when to reach for optimization vs simulation. Pure static text — no engine call, deterministic output. Use this when the user asks a conceptual 'how does network optimization work' question. ChiAha's AMOS optimizer (open-source, Odin, GLOP/CBC via OR-Tools) powers the Tariff and Coffee Co-pack demos on the sandbox.
- `explain_simulation`: Reference text on supply-chain simulation — how a discrete-event model of a network behaves through time. Covers event-driven execution (future-event list, the consume / check-inventory / place-order / fill / ship / deliver vocabulary), why inventory POSITION rather than on-hand stock drives reordering, which KPIs the engine reports versus which this site derives from the raw order and shipment records, when to reach for simulation, for optimization, and for both together, and the honest limitations of these runs (single deterministic replication, cached results, warm-up inside the reported window, fixed sample parameters). Pure static text — no engine call, deterministic output. Use this when the user asks a conceptual 'how does the simulation work', 'why did this DC stock out', or 'should I simulate or optimize' question rather than asking for a number; call run_simulation when they want actual figures.
- `get_greenfield_result`: Get the precomputed result for one DC count of a greenfield demo. Returns sited DCs (lat/lon + city/state, nearest-city snapped), customer-to-DC assignments, and the score for that DC count. ANTI-FABRICATION: every result is verbatim engine output from greenfield-cli — quote them in your reply, do not round or fabricate cities.
- `get_opt_result`: Get the precomputed result for one scenario of an optimization demo. Returns the verbatim engine output JSON (AMOS for tariff/coffee, SSO output for sso-basic) including the optimal sourcing/production/transport decisions, costs, and any open/close facility variables. ANTI-FABRICATION: every numeric result is verbatim from the optimization engine that ran offline — quote them in your reply, do not round or recompute. Call describe_opt_demo first to learn valid scenario_key formats for each demo.
- `get_sc_theory`: Reference guide to supply-chain simulation concepts: ordering policies, BOM, FDD formulas, event-driven simulation. Pure static text — no engine call, deterministic output. Use this when the user asks a conceptual 'how does this work' question rather than asking for a number.
- `list_greenfield_demos`: List the bundled SCModeling greenfield demos. Returns id + label + one-line summary. Currently one demo (US, 189 customer points). Use this before describe_greenfield_demo or get_greenfield_result.
- `list_models`: List the bundled SCModeling sample supply-chain models. Returns a catalog with each model's id and a short description. Use this before run_simulation to know which model_id values are valid.
- `list_opt_demos`: List the bundled SCModeling optimization demos. Returns id + label + one-line summary for each (Tariff, Coffee Co-pack, SSO Basic). Use this before describe_opt_demo or get_opt_result to know which demo_id values are valid. All demos are precomputed sample-only fixtures — for optimization on real client data, the SCModeling desktop tool is the product.
- `run_simulation`: Run a supply-chain simulation on a bundled SCModeling sample model (sdi-db). Returns metrics, inventory time-series, orders, shipments, routing and BOM. ANTI-FABRICATION: the returned numbers come from a real discrete-event simulation run on the sc-sim engine. Quote them VERBATIM in your reply. Do not round, estimate, average, or compute derived figures from training-data recall. If the user asks a follow-up about the same model, re-call this tool rather than recalling numbers from earlier in the conversation.
