SCModeling
Supply-chain network design via simulation, optimization, and greenfield analysis.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"public": {
"url": "https://scmodeling.com/mcp"
}
}
}远程端点
https://scmodeling.com/mcpstreamable-http它能做什么
工具清单
工具(12)
🟢run_simulation(model_id)
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.
输入模式
{
"type": "object",
"properties": {
"model_id": {
"type": "string",
"enum": [
"simple-sc-demo",
"cookie-making"
],
"description": "Which sample model to simulate"
}
},
"required": [
"model_id"
]
}输出模式
{
"type": "object",
"properties": {
"metadata": {
"type": "object",
"description": "Model name, version, timestamp"
},
"metrics": {
"type": "array",
"description": "Top-line scalar KPIs (orders, shipments, simulation_days)"
},
"details": {
"type": "object",
"description": "Full run detail: config, locations, materials, routing, demands, orders, shipments, inventory_timeseries"
}
}
}🟢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.
输入模式
{
"type": "object",
"properties": {}
}输出模式
{
"type": "object",
"properties": {
"content": {
"type": "array",
"description": "MCP content blocks — single text block with the response body"
}
}
}🟢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.
输入模式
{
"type": "object",
"properties": {}
}输出模式
{
"type": "object",
"properties": {
"content": {
"type": "array",
"description": "MCP content blocks — single text block with the response body"
}
}
}🟢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.
输入模式
{
"type": "object",
"properties": {}
}输出模式
{
"type": "object",
"properties": {
"content": {
"type": "array",
"description": "MCP content blocks — single text block with the response body"
}
}
}🟢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.
输入模式
{
"type": "object",
"properties": {}
}输出模式
{
"type": "object",
"properties": {
"content": {
"type": "array",
"description": "MCP content blocks — single text block with the response body"
}
}
}🟢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.
输入模式
{
"type": "object",
"properties": {}
}输出模式
{
"type": "object",
"properties": {
"content": {
"type": "array",
"description": "MCP content blocks — single text block with the response body"
}
}
}🟢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.
输入模式
{
"type": "object",
"properties": {}
}输出模式
{
"type": "object",
"properties": {
"content": {
"type": "array",
"description": "MCP content blocks — single text block with the response body"
}
}
}🟢describe_opt_demo(demo_id)
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.
输入模式
{
"type": "object",
"properties": {
"demo_id": {
"type": "string",
"enum": [
"tariff",
"coffee",
"sso-basic"
],
"description": "Which optimization demo to describe"
}
},
"required": [
"demo_id"
]
}输出模式
{
"type": "object",
"properties": {
"content": {
"type": "array",
"description": "MCP content blocks — single text block with the response body"
}
}
}🟢get_opt_result(demo_id, scenario_key)
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.
输入模式
{
"type": "object",
"properties": {
"demo_id": {
"type": "string",
"enum": [
"tariff",
"coffee",
"sso-basic"
],
"description": "Which optimization demo"
},
"scenario_key": {
"type": "string",
"description": "Scenario key within the demo. Format varies per demo — call describe_opt_demo for the exact valid keys before guessing. Tariff uses 'APAC=<N>' where N is one of 0, 7.5, 25, 50, 100. Coffee uses '<configKey>|DSL=<N>' where configKey is T/TA/TS/TAS and N is 20-70 in steps of 5 (10c units of $/gal). sso-basic is single-scenario; scenario_key is ignored."
}
},
"required": [
"demo_id"
]
}输出模式
{
"type": "object",
"properties": {
"content": {
"type": "array",
"description": "MCP content blocks — single text block with the response body"
}
}
}🟢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.
输入模式
{
"type": "object",
"properties": {}
}输出模式
{
"type": "object",
"properties": {
"content": {
"type": "array",
"description": "MCP content blocks — single text block with the response body"
}
}
}🟢describe_greenfield_demo(demo_id)
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.
输入模式
{
"type": "object",
"properties": {
"demo_id": {
"type": "string",
"enum": [
"us"
],
"description": "Which greenfield demo to describe"
}
},
"required": [
"demo_id"
]
}输出模式
{
"type": "object",
"properties": {
"content": {
"type": "array",
"description": "MCP content blocks — single text block with the response body"
}
}
}🟢get_greenfield_result(demo_id, dc_count)
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.
输入模式
{
"type": "object",
"properties": {
"demo_id": {
"type": "string",
"enum": [
"us"
],
"description": "Which greenfield demo"
},
"dc_count": {
"type": "string",
"enum": [
"2",
"3",
"4",
"5",
"6",
"7",
"8"
],
"description": "Number of DCs to site (2-8)"
}
},
"required": [
"demo_id",
"dc_count"
]
}输出模式
{
"type": "object",
"properties": {
"content": {
"type": "array",
"description": "MCP content blocks — single text block with the response body"
}
}
}社区
证据