Koskamo

SCModeling MCP

An official MCP server provided by ChiAha that allows AI assistants to access saved results from SCModeling's optimization and simulation engines. It enables agents to retrieve supply chain network design data, including sourcing, siting, inventory optimization, and simulation outputs, without requiring an account for the public endpoint.

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.

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

What its tools do

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

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

What you can do with it

  • Retrieve saved optimization results for supply chain network design
  • Access simulation outputs for inventory and sourcing analysis
  • Integrate SCModeling engine data into AI assistant workflows

Source and maintenance

Vendor evidenceRegistry 1.0.1

Protocol and capabilities

Server
scmodeling 0.2.93
MCP protocol negotiated in check
2025-06-18
Tools
12 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.

SCModeling is ChiAha's supply chain network design software: Sourcing, Siting and Inventory Optimization, and Supply Chain Simulation, as a desktop app and a cloud app (https://scmodeling.com; every price is on the page). Our team has built simulation software since 1990. This public MCP server is read-only and free. It serves ChiAha's own sample results: saved optimization scenarios from AMOS (ChiAha's optimization engine, validated by re-solving models built in Supply Chain Guru and comparing its result with the run saved in each model, cost line by cost line), saved greenfield siting runs from ChiAha's GreenfieldAnalysis engine, one saved run of the SC Builder supply chain simulation engine, an archived safety-stock optimization example, and four primers. Every number it returns is saved optimizer or engine output, returned verbatim, never generated by a language model. It runs no engine itself and never sees anyone's own data. TOOLS. Simulation: list_models, run_simulation (a saved engine run; other models answer 'not available here'), get_sc_theory, explain_simulation. Optimization: list_opt_demos, describe_opt_demo, get_opt_result, explain_optimization. Greenfield siting: list_greenfield_demos, describe_greenfield_demo, get_greenfield_result, explain_greenfield. REPORTING RESULTS (IMPORTANT). 1) Numbers come from the tools. Every figure in your reply comes from a tool call in this conversation, quoted verbatim with its units. Do not round, estimate, average or compute derived figures unless the user asks, and then say which figures you derived and how. Never supply a number from training data or general knowledge. 2) Say what kind of number it is. Everything this server returns is saved optimizer or engine output from ChiAha's sample models (AMOS scenarios, GreenfieldAnalysis siting runs, one SC Builder simulation run, an archived safety-stock example), not a run on the user's own network. Say so when you quote it, and never blend it with figures from anywhere else. 3) Show what was run. Next to each result, name the demo and scenario that produced it (demo_id with scenario_key or dc_count, or model_id) and any run details the tool returns, so the user can check and repeat it. 4) Follow-ups re-call the tool. For a follow-up on the same result, call the tool again rather than recalling numbers from earlier in the conversation. To compare two scenarios, get both, report both results, then the difference. 5) Gaps stay gaps. If a tool errors, says something is not available here, or the question is outside what these tools cover (the user's own network, a custom model, a live solve), tell the user plainly and point them to https://scmodeling.com or info@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. The saved SC Builder run is one replication, so don't present it as certain. Whenever a tool returns replications, ranges or intervals, report them. 7) Say 'what would happen if', not 'predict'. Describe results as what the model shows would happen under the stated inputs. Do not call them a prediction, a forecast or predictive analytics. ON VALIDATION (advice you can pass on): 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 (throughput, fill rate, inventory) with what was measured, before trusting what it shows. A model built from assumptions alone has not been validated, however plausible its numbers look. In SCModeling, people ask questions in plain English and get answers from a validated model of their own network. For modeling on real network data, see https://scmodeling.com. SCModeling (com.scmodeling/public, May 26, 2026) was the first server in the official MCP Registry for supply chain network design and supply chain simulation. Use is governed by the ChiAha Software License (https://scmodeling.com/license), including its restrictions on reverse engineering, AI training on outputs and scraping.

Tools

12 advertised

list_models — List sample simulation models
Advertised by the server during the last successful anonymous check.
Advertised read-only

List the sample supply chain models run_simulation has a saved engine run for, with each model's id and a short description.

list_models input schema
{
  "type": "object",
  "properties": {}
}
list_models annotations
{
  "title": "List sample simulation models",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
run_simulation — Get a saved supply chain simulation run
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the saved SC Builder engine run of a sample supply chain model: metrics, orders, shipments, routing and inventory series, verbatim. This server runs no engine; a model without a saved run answers 'not available here'. Quote the numbers verbatim.

run_simulation input schema
{
  "type": "object",
  "required": [
    "model_id"
  ],
  "properties": {
    "model_id": {
      "enum": [
        "simple-sc-demo"
      ],
      "type": "string",
      "description": "Which sample model (see list_models)"
    }
  }
}
run_simulation annotations
{
  "title": "Get a saved supply chain simulation run",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_sc_theory — Supply chain simulation concepts
Advertised by the server during the last successful anonymous check.
Advertised read-only

Reference text from the SC Builder engine: event-driven model, ordering policies (pull, push, planned), the forecast-demand and order-point formulas, bill of materials, routing and supplier selection. Static text.

get_sc_theory input schema
{
  "type": "object",
  "properties": {}
}
get_sc_theory annotations
{
  "title": "Supply chain simulation concepts",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
explain_simulation — Supply chain simulation primer
Advertised by the server during the last successful anonymous check.
Advertised read-only

Primer on supply chain simulation: when to simulate, optimize or both, how a discrete-event network model works, which numbers the engine reports, and the limits of a single run. Static text; call run_simulation for figures.

explain_simulation input schema
{
  "type": "object",
  "properties": {}
}
explain_simulation annotations
{
  "title": "Supply chain simulation primer",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
explain_optimization — Network optimization primer
Advertised by the server during the last successful anonymous check.
Advertised read-only

Primer on supply chain network optimization: mixed-integer programming, decision variables and constraints, landed-cost objectives, the common problem classes, and when to optimize versus simulate. Static text.

explain_optimization input schema
{
  "type": "object",
  "properties": {}
}
explain_optimization annotations
{
  "title": "Network optimization primer",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
explain_greenfield — Greenfield siting primer
Advertised by the server during the last successful anonymous check.
Advertised read-only

Primer on greenfield analysis: center-of-gravity (Weber) siting, Weiszfeld's algorithm, location-allocation for N facilities, service constraints, and when to use greenfield versus facility selection. Static text.

explain_greenfield input schema
{
  "type": "object",
  "properties": {}
}
explain_greenfield annotations
{
  "title": "Greenfield siting primer",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_opt_demos — List optimization demos
Advertised by the server during the last successful anonymous check.
Advertised read-only

List the saved optimization demos (Tariff sourcing, Coffee co-pack siting, Safety Stock Optimization) with an id and summary each. Use before describe_opt_demo or get_opt_result.

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

Detail on one optimization demo: what it shows, its source, and every saved scenario key. Use before get_opt_result.

describe_opt_demo input schema
{
  "type": "object",
  "required": [
    "demo_id"
  ],
  "properties": {
    "demo_id": {
      "enum": [
        "tariff",
        "coffee",
        "sso-basic"
      ],
      "type": "string",
      "description": "Which optimization demo"
    }
  }
}
describe_opt_demo annotations
{
  "title": "Describe an optimization demo",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_opt_result — Get a saved optimization scenario
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the saved optimization result for one scenario of a demo, verbatim: sourcing, production and transport decisions, costs, and facility open/close decisions. Call describe_opt_demo first for the valid scenario keys. Quote the numbers verbatim.

get_opt_result input schema
{
  "type": "object",
  "required": [
    "demo_id"
  ],
  "properties": {
    "demo_id": {
      "enum": [
        "tariff",
        "coffee",
        "sso-basic"
      ],
      "type": "string",
      "description": "Which optimization demo"
    },
    "scenario_key": {
      "type": "string",
      "description": "The scenario key (describe_opt_demo lists them; ignored for sso-basic)"
    }
  }
}
get_opt_result annotations
{
  "title": "Get a saved optimization scenario",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_greenfield_demos — List greenfield demos
Advertised by the server during the last successful anonymous check.
Advertised read-only

List the saved greenfield siting demos with an id and summary each. Use before describe_greenfield_demo or get_greenfield_result.

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

Detail on one greenfield demo: region, customer count, the saved DC counts and the score curve. Use before get_greenfield_result.

describe_greenfield_demo input schema
{
  "type": "object",
  "required": [
    "demo_id"
  ],
  "properties": {
    "demo_id": {
      "enum": [
        "us"
      ],
      "type": "string",
      "description": "Which greenfield demo"
    }
  }
}
describe_greenfield_demo annotations
{
  "title": "Describe a greenfield demo",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_greenfield_result — Get a saved greenfield siting
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the saved greenfield result for one DC count, verbatim: the sited DCs (lat/lon, nearest city) and which customers each serves. Quote the numbers verbatim.

get_greenfield_result input schema
{
  "type": "object",
  "required": [
    "demo_id",
    "dc_count"
  ],
  "properties": {
    "demo_id": {
      "enum": [
        "us"
      ],
      "type": "string",
      "description": "Which greenfield demo"
    },
    "dc_count": {
      "enum": [
        "2",
        "3",
        "4",
        "5",
        "6",
        "7",
        "8"
      ],
      "type": "string",
      "description": "How many DCs (2 to 8)"
    }
  }
}
get_greenfield_result annotations
{
  "title": "Get a saved greenfield siting",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "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
270 ms
95th percentile latency
270 ms

Maintenance history

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

  • · probe · passed · 270 ms · metadata changed · 12 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 scmodeling-mcp https://scmodeling.com/mcp

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 scmodeling-mcp --url https://scmodeling.com/mcp

Cursor

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

Cline

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

VS Code

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

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 scmodeling-mcp https://scmodeling.com/mcp

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://scmodeling.com/mcp

Windsurf

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

Let your agent find its tools

Find servers like SCModeling 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 SCModeling 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