Moltline Optimize
What this MCP does
Solves operational optimization problems including vehicle routing, packing, cutting stock, staff rostering, knapsack selection, distance matrices, and solution validation.
Tools
Input schema
{'type': 'object', 'required': ['stock', 'parts'], 'properties': {'kerf': {'type': 'number', 'default': 0.0, 'description': 'material lost per cut (same unit as lengths).'}, 'parts': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'required pieces: {length, qty}.'}, 'stock': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'stock lengths available: {length, cost, qty} (qty = how many of that length may be used; default unlimited).'}, 'time_limit_s': {'type': 'number', 'default': 3.0, 'maximum': 15.0, 'minimum': 0, 'description': 'solver time budget in seconds (default 3, max 15).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['sheets', 'parts'], 'properties': {'kerf': {'type': 'number', 'default': 0.0, 'description': 'saw blade width lost per cut.'}, 'grain': {'type': 'boolean', 'default': False, 'description': "true when parts must keep their orientation (l along the sheet's l)."}, 'parts': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': '{id, l, w, qty, rotate}; rotate overrides the grain rule per part.'}, 'sheets': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': '{id, l, w, qty}; used in the order given.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['points'], 'properties': {'unit': {'type': 'string', 'default': 'km', 'description': 'km (default) or mi.'}, 'points': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'list of {id, lat, lon} (up to 200).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['solution'], 'properties': {'solution': {'type': 'object', 'description': "the result object returned by one of this server's solve tools.", 'additionalProperties': True}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['items', 'limits'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': '{id, value, qty, <resource fields>}: value to maximise plus one number per limited resource.'}, 'limits': {'type': 'object', 'description': '{resource_name: capacity} for each constrained field.', 'additionalProperties': True}, 'time_limit_s': {'type': 'number', 'default': 3.0, 'maximum': 15.0, 'minimum': 0, 'description': 'solver time budget in seconds (default 3, max 15).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['items', 'containers'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'list of {id, l, w, h, weight, qty, rotation, fragile}, all in one length unit.'}, 'rules': {'type': 'object', 'default': {}, 'description': 'optional {min_support: 0-1, default_rotation: any|upright|fixed}.', 'additionalProperties': True}, 'containers': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'list of {id, l, w, h, max_weight, qty}; used in the order given.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['items', 'containers'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'list of {id, l, w, h, weight, qty, rotation, fragile}.'}, 'rules': {'type': 'object', 'default': {}, 'description': 'optional {min_support: 0-1, default_rotation: any|upright|fixed}.', 'additionalProperties': True}, 'containers': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'list of {id, l, w, h, max_weight, qty}.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['staff', 'shifts'], 'properties': {'rules': {'type': 'object', 'default': {}, 'description': '{min_rest_hours (default 0), max_consecutive_days (default 7), max_shifts_per_day (default 1)}.', 'additionalProperties': True}, 'staff': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': '{id, skills[], max_hours, min_hours, unavailable[], prefer[], avoid[], max_shifts}.'}, 'shifts': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': '{id, start, end (ISO 8601 local), required, skill, weight}.'}, 'time_limit_s': {'type': 'number', 'default': 10.0, 'maximum': 60.0, 'minimum': 0, 'description': 'solver time budget in seconds (default 10, max 60).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['stops', 'matrix'], 'properties': {'depot': {'type': 'integer', 'default': 0, 'description': 'index of the depot in stops (default 0).'}, 'stops': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'list of stop objects, depot first: id, optional demand.'}, 'matrix': {'type': 'array', 'items': {'type': 'array', 'items': {'type': 'number'}}, 'description': 'square distance (or time) matrix, row i column j = cost from stop i to stop j.'}, 'time_limit_s': {'type': 'number', 'default': 3.0, 'maximum': 15.0, 'minimum': 0, 'description': 'solver time budget in seconds (default 3, max 15).'}, 'vehicle_capacity': {'type': 'number', 'default': 0.0, 'description': 'optional capacity in the units of demand (0 = unlimited).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['stops', 'matrix', 'vehicles'], 'properties': {'depot': {'type': 'integer', 'default': 0, 'description': 'index of the depot in stops (default 0).'}, 'stops': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'depot first; each: id, demand, window [earliest_min, latest_min], service_min.'}, 'matrix': {'type': 'array', 'items': {'type': 'array', 'items': {'type': 'number'}}, 'description': 'square distance matrix in your units.'}, 'vehicles': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'list of {id, capacity, max_distance}; capacity in the units of demand.'}, 'time_matrix': {'type': 'array', 'items': {'type': 'array', 'items': {'type': 'number'}}, 'default': [], 'description': 'optional square travel-time matrix in minutes (defaults to matrix).'}, 'drop_penalty': {'type': 'number', 'default': 0.0, 'description': 'cost of leaving a stop unserved (0 = every stop must be served).'}, 'time_limit_s': {'type': 'number', 'default': 10.0, 'maximum': 60.0, 'minimum': 0, 'description': 'solver time budget in seconds (default 10, max 60).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['type', 'problem'], 'properties': {'type': {'type': 'string', 'description': 'route, pack, cut1d, cut2d, roster or knapsack.'}, 'problem': {'type': 'object', 'description': 'the same object you would pass to the tool (stops/matrix/vehicles, items/containers, ...).', 'additionalProperties': True}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Recent tool changes
Similar MCP servers
civilquants
Calculates parametric civil-engineering quantities and Bills of Quantities for drainage, earthworks, retaining walls, pavements, …
Sbir
Provides SBIR/STTR public data, including agency-level award statistics and related federal innovation-program information.
Trustbase Lab · Global Chemical Recycling Intelligence
Provides recovered carbon black and chemical recycling data covering suppliers, grades, standards, policies, prices, trade flows,…
mfgcalcs
Provides manufacturing calculators, sourcing optimization, tariff and economic data, forecasts, benchmarks, citations, provenance…
steel-tools
Provides steel takeoff, weight, and gauge calculations along with RFQ, RFI, NCR, and Bluebeam markup document generation.
SpaceNexus space data
Provides read-only data on space launches, schedule changes, funding, companies, jobs, space weather, and Moon missions.
cpp-cpm-engine
Performs forensic Primavera P6 schedule analysis, delay attribution, critical-path validation, DCMA-14 checks, time-impact analys…
Faber Machine Market
Produces paid structured research and decision-support outputs covering evidence quality, information changes, infrastructure, re…