{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_2xr3h7jagpgx","handle":"moltline-optimize","url":"https://wellknown.network/agents/moltline-optimize","links":{"self":"https://wellknown.network/agents/moltline-optimize/record.json","html":"https://wellknown.network/agents/moltline-optimize","markdown":"https://wellknown.network/agents/moltline-optimize/record.md","api":"https://wellknown.network/api/v1/agents/moltline-optimize","status":"https://wellknown.network/api/v1/agents/moltline-optimize/status","claim":"https://wellknown.network/agents/moltline-optimize/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/moltline-optimize/claim.json","badge":"https://wellknown.network/agents/moltline-optimize/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/moltline-optimize/history","tools":"https://wellknown.network/api/v1/agents/moltline-optimize/tools"},"ard":{"identifier":"urn:air:mcp.moltlinestudio.com:server:moltline-optimize","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Moltline Optimize","summary":"Vehicle routing, 3-D packing, cutting stock, rostering and knapsack with OR-Tools. 7 of 11 free.","description":"Vehicle routing, 3-D packing, cutting stock, rostering and knapsack with OR-Tools. 7 of 11 free.","publisher":{"name":"com.moltlinestudio","url":"https://github.com/garphengate"},"homepage":"https://moltlinestudio.com/servers.html#optimize","repository":"https://github.com/GarphenGate/moltline-mcp","version":"1.2.0","license":null,"protocols":["mcp"],"tags":["python","macos","windows","linux","aggregators"],"pricing":null,"endpoints":[{"url":"https://mcp.moltlinestudio.com/optimize","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"section":"Aggregators","listedIn":"punkpeye/awesome-mcp-servers","updatedAt":"2026-09-08T14:31:34.150004Z","deployment":["cloud"],"publishedAt":"2026-09-08T14:31:34.150004Z","registryName":"com.moltlinestudio/optimize"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherUrl":"github","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"}],"categories":["content"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-10-09T23:29:54.850Z","lastProbedAt":"2026-10-09T23:29:54.850Z","statusComputedAt":"2026-10-09T23:31:15.310Z","reliability30d":{"probes":109,"successRate":1,"p50Ms":366,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":109,"ok":109,"authBoundaryOk":0,"serviceOk":109,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-09T23:29:54.850Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":132,"error":null,"detail":{"tools":[{"name":"route_plan","description":"Order up to 12 stops into the shortest single-vehicle route on your distance matrix. FREE.\n\nTypical input {\"stops\": [{\"id\": \"depot\"}, {\"id\": \"A\"}, {\"id\": \"B\"}],"},{"name":"route_plan_fleet","description":"Capacitated, time-windowed routing for a fleet over up to 200 stops. PREMIUM (license).\n\nTypical input {\"stops\": [{\"id\": \"depot\", \"window\": [480, 1080]},\n{\"id\":"},{"name":"distance_matrix_haversine","description":"Straight-line (great-circle) distance matrix from coordinates. FREE.\n\nTypical input {\"points\": [{\"id\": \"depot\", \"lat\": 51.5, \"lon\": -0.12},\n{\"id\": \"A\", \"lat\": 5"},{"name":"pack_bins","description":"Place up to 20 boxes into containers or pallets with rotation, weight and support rules. FREE.\n\nTypical input {\"items\": [{\"id\": \"A\", \"l\": 60, \"w\": 40, \"h\": 30,\n"},{"name":"pack_bins_large","description":"Same packer as pack_bins for up to 300 item units and 200 containers. PREMIUM (license).\n\nTypical input {\"items\": [{\"id\": \"SKU1\", \"l\": 40, \"w\": 30, \"h\": 20,\n\"we"},{"name":"cutting_stock_1d","description":"Least-waste cut plan for bars, pipes or boards from stock lengths, with saw kerf. FREE.\n\nTypical input {\"stock\": [{\"length\": 6000, \"cost\": 30}], \"parts\":\n[{\"len"},{"name":"cutting_stock_2d","description":"Guillotine cut layouts for rectangular parts from sheets, with kerf and grain. PREMIUM (license).\n\nTypical input {\"sheets\": [{\"id\": \"ply\", \"l\": 2440, \"w\": 1220,"},{"name":"roster_shifts","description":"Assign staff to shifts under availability, skills, hour caps and rest gaps. PREMIUM (license).\n\nTypical input {\"staff\": [{\"id\": \"ana\", \"skills\": [\"till\"],\n\"max_"},{"name":"knapsack_select","description":"Choose the items that maximise value under one or more capacity limits. FREE.\n\nTypical input {\"items\": [{\"id\": \"a\", \"value\": 60, \"weight\": 10, \"cost\":\n120}, {\"i"},{"name":"validate_problem","description":"Check a problem's shape and obvious feasibility before spending solver time. FREE.\n\nTypical input {\"type\": \"route\", \"problem\": {\"stops\": [...], \"matrix\":\n[[...]"},{"name":"explain_solution","description":"Plain-language summary of a solution from this server and the constraints that bind. FREE.\n\nTypical input {\"solution\": <result of route_plan_fleet>} returns\n{\"s"}],"toolCount":11,"toolsHash":"d6c0e2e627f3ccb836c050e9ac28b64d043afdfa710b63d34c0ae3593217ffcc","serverName":"moltline-optimize","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T17:27:12.059Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":349,"error":null,"detail":{"tools":[{"name":"route_plan","description":"Order up to 12 stops into the shortest single-vehicle route on your distance matrix. FREE.\n\nTypical input {\"stops\": [{\"id\": \"depot\"}, {\"id\": \"A\"}, {\"id\": \"B\"}],"},{"name":"route_plan_fleet","description":"Capacitated, time-windowed routing for a fleet over up to 200 stops. PREMIUM (license).\n\nTypical input {\"stops\": [{\"id\": \"depot\", \"window\": [480, 1080]},\n{\"id\":"},{"name":"distance_matrix_haversine","description":"Straight-line (great-circle) distance matrix from coordinates. FREE.\n\nTypical input {\"points\": [{\"id\": \"depot\", \"lat\": 51.5, \"lon\": -0.12},\n{\"id\": \"A\", \"lat\": 5"},{"name":"pack_bins","description":"Place up to 20 boxes into containers or pallets with rotation, weight and support rules. FREE.\n\nTypical input {\"items\": [{\"id\": \"A\", \"l\": 60, \"w\": 40, \"h\": 30,\n"},{"name":"pack_bins_large","description":"Same packer as pack_bins for up to 300 item units and 200 containers. PREMIUM (license).\n\nTypical input {\"items\": [{\"id\": \"SKU1\", \"l\": 40, \"w\": 30, \"h\": 20,\n\"we"},{"name":"cutting_stock_1d","description":"Least-waste cut plan for bars, pipes or boards from stock lengths, with saw kerf. FREE.\n\nTypical input {\"stock\": [{\"length\": 6000, \"cost\": 30}], \"parts\":\n[{\"len"},{"name":"cutting_stock_2d","description":"Guillotine cut layouts for rectangular parts from sheets, with kerf and grain. PREMIUM (license).\n\nTypical input {\"sheets\": [{\"id\": \"ply\", \"l\": 2440, \"w\": 1220,"},{"name":"roster_shifts","description":"Assign staff to shifts under availability, skills, hour caps and rest gaps. PREMIUM (license).\n\nTypical input {\"staff\": [{\"id\": \"ana\", \"skills\": [\"till\"],\n\"max_"},{"name":"knapsack_select","description":"Choose the items that maximise value under one or more capacity limits. FREE.\n\nTypical input {\"items\": [{\"id\": \"a\", \"value\": 60, \"weight\": 10, \"cost\":\n120}, {\"i"},{"name":"validate_problem","description":"Check a problem's shape and obvious feasibility before spending solver time. FREE.\n\nTypical input {\"type\": \"route\", \"problem\": {\"stops\": [...], \"matrix\":\n[[...]"},{"name":"explain_solution","description":"Plain-language summary of a solution from this server and the constraints that bind. FREE.\n\nTypical input {\"solution\": <result of route_plan_fleet>} returns\n{\"s"}],"toolCount":11,"toolsHash":"d6c0e2e627f3ccb836c050e9ac28b64d043afdfa710b63d34c0ae3593217ffcc","serverName":"moltline-optimize","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T10:23:16.579Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":353,"error":null,"detail":{"tools":[{"name":"route_plan","description":"Order up to 12 stops into the shortest single-vehicle route on your distance matrix. FREE.\n\nTypical input {\"stops\": [{\"id\": \"depot\"}, {\"id\": \"A\"}, {\"id\": \"B\"}],"},{"name":"route_plan_fleet","description":"Capacitated, time-windowed routing for a fleet over up to 200 stops. PREMIUM (license).\n\nTypical input {\"stops\": [{\"id\": \"depot\", \"window\": [480, 1080]},\n{\"id\":"},{"name":"distance_matrix_haversine","description":"Straight-line (great-circle) distance matrix from coordinates. FREE.\n\nTypical input {\"points\": [{\"id\": \"depot\", \"lat\": 51.5, \"lon\": -0.12},\n{\"id\": \"A\", \"lat\": 5"},{"name":"pack_bins","description":"Place up to 20 boxes into containers or pallets with rotation, weight and support rules. FREE.\n\nTypical input {\"items\": [{\"id\": \"A\", \"l\": 60, \"w\": 40, \"h\": 30,\n"},{"name":"pack_bins_large","description":"Same packer as pack_bins for up to 300 item units and 200 containers. PREMIUM (license).\n\nTypical input {\"items\": [{\"id\": \"SKU1\", \"l\": 40, \"w\": 30, \"h\": 20,\n\"we"},{"name":"cutting_stock_1d","description":"Least-waste cut plan for bars, pipes or boards from stock lengths, with saw kerf. FREE.\n\nTypical input {\"stock\": [{\"length\": 6000, \"cost\": 30}], \"parts\":\n[{\"len"},{"name":"cutting_stock_2d","description":"Guillotine cut layouts for rectangular parts from sheets, with kerf and grain. PREMIUM (license).\n\nTypical input {\"sheets\": [{\"id\": \"ply\", \"l\": 2440, \"w\": 1220,"},{"name":"roster_shifts","description":"Assign staff to shifts under availability, skills, hour caps and rest gaps. PREMIUM (license).\n\nTypical input {\"staff\": [{\"id\": \"ana\", \"skills\": [\"till\"],\n\"max_"},{"name":"knapsack_select","description":"Choose the items that maximise value under one or more capacity limits. FREE.\n\nTypical input {\"items\": [{\"id\": \"a\", \"value\": 60, \"weight\": 10, \"cost\":\n120}, {\"i"},{"name":"validate_problem","description":"Check a problem's shape and obvious feasibility before spending solver time. FREE.\n\nTypical input {\"type\": \"route\", \"problem\": {\"stops\": [...], \"matrix\":\n[[...]"},{"name":"explain_solution","description":"Plain-language summary of a solution from this server and the constraints that bind. FREE.\n\nTypical input {\"solution\": <result of route_plan_fleet>} returns\n{\"s"}],"toolCount":11,"toolsHash":"d6c0e2e627f3ccb836c050e9ac28b64d043afdfa710b63d34c0ae3593217ffcc","serverName":"moltline-optimize","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T04:27:29.703Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":360,"error":null,"detail":{"tools":[{"name":"route_plan","description":"Order up to 12 stops into the shortest single-vehicle route on your distance matrix. FREE.\n\nTypical input {\"stops\": [{\"id\": \"depot\"}, {\"id\": \"A\"}, {\"id\": \"B\"}],"},{"name":"route_plan_fleet","description":"Capacitated, time-windowed routing for a fleet over up to 200 stops. PREMIUM (license).\n\nTypical input {\"stops\": [{\"id\": \"depot\", \"window\": [480, 1080]},\n{\"id\":"},{"name":"distance_matrix_haversine","description":"Straight-line (great-circle) distance matrix from coordinates. FREE.\n\nTypical input {\"points\": [{\"id\": \"depot\", \"lat\": 51.5, \"lon\": -0.12},\n{\"id\": \"A\", \"lat\": 5"},{"name":"pack_bins","description":"Place up to 20 boxes into containers or pallets with rotation, weight and support rules. FREE.\n\nTypical input {\"items\": [{\"id\": \"A\", \"l\": 60, \"w\": 40, \"h\": 30,\n"},{"name":"pack_bins_large","description":"Same packer as pack_bins for up to 300 item units and 200 containers. PREMIUM (license).\n\nTypical input {\"items\": [{\"id\": \"SKU1\", \"l\": 40, \"w\": 30, \"h\": 20,\n\"we"},{"name":"cutting_stock_1d","description":"Least-waste cut plan for bars, pipes or boards from stock lengths, with saw kerf. FREE.\n\nTypical input {\"stock\": [{\"length\": 6000, \"cost\": 30}], \"parts\":\n[{\"len"},{"name":"cutting_stock_2d","description":"Guillotine cut layouts for rectangular parts from sheets, with kerf and grain. PREMIUM (license).\n\nTypical input {\"sheets\": [{\"id\": \"ply\", \"l\": 2440, \"w\": 1220,"},{"name":"roster_shifts","description":"Assign staff to shifts under availability, skills, hour caps and rest gaps. PREMIUM (license).\n\nTypical input {\"staff\": [{\"id\": \"ana\", \"skills\": [\"till\"],\n\"max_"},{"name":"knapsack_select","description":"Choose the items that maximise value under one or more capacity limits. FREE.\n\nTypical input {\"items\": [{\"id\": \"a\", \"value\": 60, \"weight\": 10, \"cost\":\n120}, {\"i"},{"name":"validate_problem","description":"Check a problem's shape and obvious feasibility before spending solver time. FREE.\n\nTypical input {\"type\": \"route\", \"problem\": {\"stops\": [...], \"matrix\":\n[[...]"},{"name":"explain_solution","description":"Plain-language summary of a solution from this server and the constraints that bind. FREE.\n\nTypical input {\"solution\": <result of route_plan_fleet>} returns\n{\"s"}],"toolCount":11,"toolsHash":"d6c0e2e627f3ccb836c050e9ac28b64d043afdfa710b63d34c0ae3593217ffcc","serverName":"moltline-optimize","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T21:24:04.967Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":400,"error":null,"detail":{"tools":[{"name":"route_plan","description":"Order up to 12 stops into the shortest single-vehicle route on your distance matrix. FREE.\n\nTypical input {\"stops\": [{\"id\": \"depot\"}, {\"id\": \"A\"}, {\"id\": \"B\"}],"},{"name":"route_plan_fleet","description":"Capacitated, time-windowed routing for a fleet over up to 200 stops. PREMIUM (license).\n\nTypical input {\"stops\": [{\"id\": \"depot\", \"window\": [480, 1080]},\n{\"id\":"},{"name":"distance_matrix_haversine","description":"Straight-line (great-circle) distance matrix from coordinates. FREE.\n\nTypical input {\"points\": [{\"id\": \"depot\", \"lat\": 51.5, \"lon\": -0.12},\n{\"id\": \"A\", \"lat\": 5"},{"name":"pack_bins","description":"Place up to 20 boxes into containers or pallets with rotation, weight and support rules. FREE.\n\nTypical input {\"items\": [{\"id\": \"A\", \"l\": 60, \"w\": 40, \"h\": 30,\n"},{"name":"pack_bins_large","description":"Same packer as pack_bins for up to 300 item units and 200 containers. PREMIUM (license).\n\nTypical input {\"items\": [{\"id\": \"SKU1\", \"l\": 40, \"w\": 30, \"h\": 20,\n\"we"},{"name":"cutting_stock_1d","description":"Least-waste cut plan for bars, pipes or boards from stock lengths, with saw kerf. FREE.\n\nTypical input {\"stock\": [{\"length\": 6000, \"cost\": 30}], \"parts\":\n[{\"len"},{"name":"cutting_stock_2d","description":"Guillotine cut layouts for rectangular parts from sheets, with kerf and grain. PREMIUM (license).\n\nTypical input {\"sheets\": [{\"id\": \"ply\", \"l\": 2440, \"w\": 1220,"},{"name":"roster_shifts","description":"Assign staff to shifts under availability, skills, hour caps and rest gaps. PREMIUM (license).\n\nTypical input {\"staff\": [{\"id\": \"ana\", \"skills\": [\"till\"],\n\"max_"},{"name":"knapsack_select","description":"Choose the items that maximise value under one or more capacity limits. FREE.\n\nTypical input {\"items\": [{\"id\": \"a\", \"value\": 60, \"weight\": 10, \"cost\":\n120}, {\"i"},{"name":"validate_problem","description":"Check a problem's shape and obvious feasibility before spending solver time. FREE.\n\nTypical input {\"type\": \"route\", \"problem\": {\"stops\": [...], \"matrix\":\n[[...]"},{"name":"explain_solution","description":"Plain-language summary of a solution from this server and the constraints that bind. FREE.\n\nTypical input {\"solution\": <result of route_plan_fleet>} returns\n{\"s"}],"toolCount":11,"toolsHash":"d6c0e2e627f3ccb836c050e9ac28b64d043afdfa710b63d34c0ae3593217ffcc","serverName":"moltline-optimize","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T15:24:27.534Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":212,"error":null,"detail":{"tools":[{"name":"route_plan","description":"Order up to 12 stops into the shortest single-vehicle route on your distance matrix. FREE.\n\nTypical input {\"stops\": [{\"id\": \"depot\"}, {\"id\": \"A\"}, {\"id\": \"B\"}],"},{"name":"route_plan_fleet","description":"Capacitated, time-windowed routing for a fleet over up to 200 stops. PREMIUM (license).\n\nTypical input {\"stops\": [{\"id\": \"depot\", \"window\": [480, 1080]},\n{\"id\":"},{"name":"distance_matrix_haversine","description":"Straight-line (great-circle) distance matrix from coordinates. FREE.\n\nTypical input {\"points\": [{\"id\": \"depot\", \"lat\": 51.5, \"lon\": -0.12},\n{\"id\": \"A\", \"lat\": 5"},{"name":"pack_bins","description":"Place up to 20 boxes into containers or pallets with rotation, weight and support rules. FREE.\n\nTypical input {\"items\": [{\"id\": \"A\", \"l\": 60, \"w\": 40, \"h\": 30,\n"},{"name":"pack_bins_large","description":"Same packer as pack_bins for up to 300 item units and 200 containers. PREMIUM (license).\n\nTypical input {\"items\": [{\"id\": \"SKU1\", \"l\": 40, \"w\": 30, \"h\": 20,\n\"we"},{"name":"cutting_stock_1d","description":"Least-waste cut plan for bars, pipes or boards from stock lengths, with saw kerf. FREE.\n\nTypical input {\"stock\": [{\"length\": 6000, \"cost\": 30}], \"parts\":\n[{\"len"},{"name":"cutting_stock_2d","description":"Guillotine cut layouts for rectangular parts from sheets, with kerf and grain. PREMIUM (license).\n\nTypical input {\"sheets\": [{\"id\": \"ply\", \"l\": 2440, \"w\": 1220,"},{"name":"roster_shifts","description":"Assign staff to shifts under availability, skills, hour caps and rest gaps. PREMIUM (license).\n\nTypical input {\"staff\": [{\"id\": \"ana\", \"skills\": [\"till\"],\n\"max_"},{"name":"knapsack_select","description":"Choose the items that maximise value under one or more capacity limits. FREE.\n\nTypical input {\"items\": [{\"id\": \"a\", \"value\": 60, \"weight\": 10, \"cost\":\n120}, {\"i"},{"name":"validate_problem","description":"Check a problem's shape and obvious feasibility before spending solver time. FREE.\n\nTypical input {\"type\": \"route\", \"problem\": {\"stops\": [...], \"matrix\":\n[[...]"},{"name":"explain_solution","description":"Plain-language summary of a solution from this server and the constraints that bind. FREE.\n\nTypical input {\"solution\": <result of route_plan_fleet>} returns\n{\"s"}],"toolCount":11,"toolsHash":"d6c0e2e627f3ccb836c050e9ac28b64d043afdfa710b63d34c0ae3593217ffcc","serverName":"moltline-optimize","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T08:28:46.357Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":359,"error":null,"detail":{"tools":[{"name":"route_plan","description":"Order up to 12 stops into the shortest single-vehicle route on your distance matrix. FREE.\n\nTypical input {\"stops\": [{\"id\": \"depot\"}, {\"id\": \"A\"}, {\"id\": \"B\"}],"},{"name":"route_plan_fleet","description":"Capacitated, time-windowed routing for a fleet over up to 200 stops. PREMIUM (license).\n\nTypical input {\"stops\": [{\"id\": \"depot\", \"window\": [480, 1080]},\n{\"id\":"},{"name":"distance_matrix_haversine","description":"Straight-line (great-circle) distance matrix from coordinates. FREE.\n\nTypical input {\"points\": [{\"id\": \"depot\", \"lat\": 51.5, \"lon\": -0.12},\n{\"id\": \"A\", \"lat\": 5"},{"name":"pack_bins","description":"Place up to 20 boxes into containers or pallets with rotation, weight and support rules. FREE.\n\nTypical input {\"items\": [{\"id\": \"A\", \"l\": 60, \"w\": 40, \"h\": 30,\n"},{"name":"pack_bins_large","description":"Same packer as pack_bins for up to 300 item units and 200 containers. PREMIUM (license).\n\nTypical input {\"items\": [{\"id\": \"SKU1\", \"l\": 40, \"w\": 30, \"h\": 20,\n\"we"},{"name":"cutting_stock_1d","description":"Least-waste cut plan for bars, pipes or boards from stock lengths, with saw kerf. FREE.\n\nTypical input {\"stock\": [{\"length\": 6000, \"cost\": 30}], \"parts\":\n[{\"len"},{"name":"cutting_stock_2d","description":"Guillotine cut layouts for rectangular parts from sheets, with kerf and grain. PREMIUM (license).\n\nTypical input {\"sheets\": [{\"id\": \"ply\", \"l\": 2440, \"w\": 1220,"},{"name":"roster_shifts","description":"Assign staff to shifts under availability, skills, hour caps and rest gaps. PREMIUM (license).\n\nTypical input {\"staff\": [{\"id\": \"ana\", \"skills\": [\"till\"],\n\"max_"},{"name":"knapsack_select","description":"Choose the items that maximise value under one or more capacity limits. FREE.\n\nTypical input {\"items\": [{\"id\": \"a\", \"value\": 60, \"weight\": 10, \"cost\":\n120}, {\"i"},{"name":"validate_problem","description":"Check a problem's shape and obvious feasibility before spending solver time. FREE.\n\nTypical input {\"type\": \"route\", \"problem\": {\"stops\": [...], \"matrix\":\n[[...]"},{"name":"explain_solution","description":"Plain-language summary of a solution from this server and the constraints that bind. FREE.\n\nTypical input {\"solution\": <result of route_plan_fleet>} returns\n{\"s"}],"toolCount":11,"toolsHash":"d6c0e2e627f3ccb836c050e9ac28b64d043afdfa710b63d34c0ae3593217ffcc","serverName":"moltline-optimize","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T02:22:30.481Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":356,"error":null,"detail":{"tools":[{"name":"route_plan","description":"Order up to 12 stops into the shortest single-vehicle route on your distance matrix. FREE.\n\nTypical input {\"stops\": [{\"id\": \"depot\"}, {\"id\": \"A\"}, {\"id\": \"B\"}],"},{"name":"route_plan_fleet","description":"Capacitated, time-windowed routing for a fleet over up to 200 stops. PREMIUM (license).\n\nTypical input {\"stops\": [{\"id\": \"depot\", \"window\": [480, 1080]},\n{\"id\":"},{"name":"distance_matrix_haversine","description":"Straight-line (great-circle) distance matrix from coordinates. FREE.\n\nTypical input {\"points\": [{\"id\": \"depot\", \"lat\": 51.5, \"lon\": -0.12},\n{\"id\": \"A\", \"lat\": 5"},{"name":"pack_bins","description":"Place up to 20 boxes into containers or pallets with rotation, weight and support rules. FREE.\n\nTypical input {\"items\": [{\"id\": \"A\", \"l\": 60, \"w\": 40, \"h\": 30,\n"},{"name":"pack_bins_large","description":"Same packer as pack_bins for up to 300 item units and 200 containers. PREMIUM (license).\n\nTypical input {\"items\": [{\"id\": \"SKU1\", \"l\": 40, \"w\": 30, \"h\": 20,\n\"we"},{"name":"cutting_stock_1d","description":"Least-waste cut plan for bars, pipes or boards from stock lengths, with saw kerf. FREE.\n\nTypical input {\"stock\": [{\"length\": 6000, \"cost\": 30}], \"parts\":\n[{\"len"},{"name":"cutting_stock_2d","description":"Guillotine cut layouts for rectangular parts from sheets, with kerf and grain. PREMIUM (license).\n\nTypical input {\"sheets\": [{\"id\": \"ply\", \"l\": 2440, \"w\": 1220,"},{"name":"roster_shifts","description":"Assign staff to shifts under availability, skills, hour caps and rest gaps. PREMIUM (license).\n\nTypical input {\"staff\": [{\"id\": \"ana\", \"skills\": [\"till\"],\n\"max_"},{"name":"knapsack_select","description":"Choose the items that maximise value under one or more capacity limits. FREE.\n\nTypical input {\"items\": [{\"id\": \"a\", \"value\": 60, \"weight\": 10, \"cost\":\n120}, {\"i"},{"name":"validate_problem","description":"Check a problem's shape and obvious feasibility before spending solver time. FREE.\n\nTypical input {\"type\": \"route\", \"problem\": {\"stops\": [...], \"matrix\":\n[[...]"},{"name":"explain_solution","description":"Plain-language summary of a solution from this server and the constraints that bind. FREE.\n\nTypical input {\"solution\": <result of route_plan_fleet>} returns\n{\"s"}],"toolCount":11,"toolsHash":"d6c0e2e627f3ccb836c050e9ac28b64d043afdfa710b63d34c0ae3593217ffcc","serverName":"moltline-optimize","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T20:30:56.942Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":418,"error":null,"detail":{"tools":[{"name":"route_plan","description":"Order up to 12 stops into the shortest single-vehicle route on your distance matrix. FREE.\n\nTypical input {\"stops\": [{\"id\": \"depot\"}, {\"id\": \"A\"}, {\"id\": \"B\"}],"},{"name":"route_plan_fleet","description":"Capacitated, time-windowed routing for a fleet over up to 200 stops. PREMIUM (license).\n\nTypical input {\"stops\": [{\"id\": \"depot\", \"window\": [480, 1080]},\n{\"id\":"},{"name":"distance_matrix_haversine","description":"Straight-line (great-circle) distance matrix from coordinates. FREE.\n\nTypical input {\"points\": [{\"id\": \"depot\", \"lat\": 51.5, \"lon\": -0.12},\n{\"id\": \"A\", \"lat\": 5"},{"name":"pack_bins","description":"Place up to 20 boxes into containers or pallets with rotation, weight and support rules. FREE.\n\nTypical input {\"items\": [{\"id\": \"A\", \"l\": 60, \"w\": 40, \"h\": 30,\n"},{"name":"pack_bins_large","description":"Same packer as pack_bins for up to 300 item units and 200 containers. PREMIUM (license).\n\nTypical input {\"items\": [{\"id\": \"SKU1\", \"l\": 40, \"w\": 30, \"h\": 20,\n\"we"},{"name":"cutting_stock_1d","description":"Least-waste cut plan for bars, pipes or boards from stock lengths, with saw kerf. FREE.\n\nTypical input {\"stock\": [{\"length\": 6000, \"cost\": 30}], \"parts\":\n[{\"len"},{"name":"cutting_stock_2d","description":"Guillotine cut layouts for rectangular parts from sheets, with kerf and grain. PREMIUM (license).\n\nTypical input {\"sheets\": [{\"id\": \"ply\", \"l\": 2440, \"w\": 1220,"},{"name":"roster_shifts","description":"Assign staff to shifts under availability, skills, hour caps and rest gaps. PREMIUM (license).\n\nTypical input {\"staff\": [{\"id\": \"ana\", \"skills\": [\"till\"],\n\"max_"},{"name":"knapsack_select","description":"Choose the items that maximise value under one or more capacity limits. FREE.\n\nTypical input {\"items\": [{\"id\": \"a\", \"value\": 60, \"weight\": 10, \"cost\":\n120}, {\"i"},{"name":"validate_problem","description":"Check a problem's shape and obvious feasibility before spending solver time. FREE.\n\nTypical input {\"type\": \"route\", \"problem\": {\"stops\": [...], \"matrix\":\n[[...]"},{"name":"explain_solution","description":"Plain-language summary of a solution from this server and the constraints that bind. FREE.\n\nTypical input {\"solution\": <result of route_plan_fleet>} returns\n{\"s"}],"toolCount":11,"toolsHash":"d6c0e2e627f3ccb836c050e9ac28b64d043afdfa710b63d34c0ae3593217ffcc","serverName":"moltline-optimize","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T14:29:14.183Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":341,"error":null,"detail":{"tools":[{"name":"route_plan","description":"Order up to 12 stops into the shortest single-vehicle route on your distance matrix. FREE.\n\nTypical input {\"stops\": [{\"id\": \"depot\"}, {\"id\": \"A\"}, {\"id\": \"B\"}],"},{"name":"route_plan_fleet","description":"Capacitated, time-windowed routing for a fleet over up to 200 stops. PREMIUM (license).\n\nTypical input {\"stops\": [{\"id\": \"depot\", \"window\": [480, 1080]},\n{\"id\":"},{"name":"distance_matrix_haversine","description":"Straight-line (great-circle) distance matrix from coordinates. FREE.\n\nTypical input {\"points\": [{\"id\": \"depot\", \"lat\": 51.5, \"lon\": -0.12},\n{\"id\": \"A\", \"lat\": 5"},{"name":"pack_bins","description":"Place up to 20 boxes into containers or pallets with rotation, weight and support rules. FREE.\n\nTypical input {\"items\": [{\"id\": \"A\", \"l\": 60, \"w\": 40, \"h\": 30,\n"},{"name":"pack_bins_large","description":"Same packer as pack_bins for up to 300 item units and 200 containers. PREMIUM (license).\n\nTypical input {\"items\": [{\"id\": \"SKU1\", \"l\": 40, \"w\": 30, \"h\": 20,\n\"we"},{"name":"cutting_stock_1d","description":"Least-waste cut plan for bars, pipes or boards from stock lengths, with saw kerf. FREE.\n\nTypical input {\"stock\": [{\"length\": 6000, \"cost\": 30}], \"parts\":\n[{\"len"},{"name":"cutting_stock_2d","description":"Guillotine cut layouts for rectangular parts from sheets, with kerf and grain. PREMIUM (license).\n\nTypical input {\"sheets\": [{\"id\": \"ply\", \"l\": 2440, \"w\": 1220,"},{"name":"roster_shifts","description":"Assign staff to shifts under availability, skills, hour caps and rest gaps. PREMIUM (license).\n\nTypical input {\"staff\": [{\"id\": \"ana\", \"skills\": [\"till\"],\n\"max_"},{"name":"knapsack_select","description":"Choose the items that maximise value under one or more capacity limits. FREE.\n\nTypical input {\"items\": [{\"id\": \"a\", \"value\": 60, \"weight\": 10, \"cost\":\n120}, {\"i"},{"name":"validate_problem","description":"Check a problem's shape and obvious feasibility before spending solver time. FREE.\n\nTypical input {\"type\": \"route\", \"problem\": {\"stops\": [...], \"matrix\":\n[[...]"},{"name":"explain_solution","description":"Plain-language summary of a solution from this server and the constraints that bind. FREE.\n\nTypical input {\"solution\": <result of route_plan_fleet>} returns\n{\"s"}],"toolCount":11,"toolsHash":"d6c0e2e627f3ccb836c050e9ac28b64d043afdfa710b63d34c0ae3593217ffcc","serverName":"moltline-optimize","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"route_plan","description":"Order up to 12 stops into the shortest single-vehicle route on your distance matrix. FREE.\n\nTypical input {\"stops\": [{\"id\": \"depot\"}, {\"id\": \"A\"}, {\"id\": \"B\"}],"},{"name":"route_plan_fleet","description":"Capacitated, time-windowed routing for a fleet over up to 200 stops. PREMIUM (license).\n\nTypical input {\"stops\": [{\"id\": \"depot\", \"window\": [480, 1080]},\n{\"id\":"},{"name":"distance_matrix_haversine","description":"Straight-line (great-circle) distance matrix from coordinates. FREE.\n\nTypical input {\"points\": [{\"id\": \"depot\", \"lat\": 51.5, \"lon\": -0.12},\n{\"id\": \"A\", \"lat\": 5"},{"name":"pack_bins","description":"Place up to 20 boxes into containers or pallets with rotation, weight and support rules. FREE.\n\nTypical input {\"items\": [{\"id\": \"A\", \"l\": 60, \"w\": 40, \"h\": 30,\n"},{"name":"pack_bins_large","description":"Same packer as pack_bins for up to 300 item units and 200 containers. PREMIUM (license).\n\nTypical input {\"items\": [{\"id\": \"SKU1\", \"l\": 40, \"w\": 30, \"h\": 20,\n\"we"},{"name":"cutting_stock_1d","description":"Least-waste cut plan for bars, pipes or boards from stock lengths, with saw kerf. FREE.\n\nTypical input {\"stock\": [{\"length\": 6000, \"cost\": 30}], \"parts\":\n[{\"len"},{"name":"cutting_stock_2d","description":"Guillotine cut layouts for rectangular parts from sheets, with kerf and grain. PREMIUM (license).\n\nTypical input {\"sheets\": [{\"id\": \"ply\", \"l\": 2440, \"w\": 1220,"},{"name":"roster_shifts","description":"Assign staff to shifts under availability, skills, hour caps and rest gaps. PREMIUM (license).\n\nTypical input {\"staff\": [{\"id\": \"ana\", \"skills\": [\"till\"],\n\"max_"},{"name":"knapsack_select","description":"Choose the items that maximise value under one or more capacity limits. FREE.\n\nTypical input {\"items\": [{\"id\": \"a\", \"value\": 60, \"weight\": 10, \"cost\":\n120}, {\"i"},{"name":"validate_problem","description":"Check a problem's shape and obvious feasibility before spending solver time. FREE.\n\nTypical input {\"type\": \"route\", \"problem\": {\"stops\": [...], \"matrix\":\n[[...]"},{"name":"explain_solution","description":"Plain-language summary of a solution from this server and the constraints that bind. FREE.\n\nTypical input {\"solution\": <result of route_plan_fleet>} returns\n{\"s"}],"package":null,"toolSurface":{"id":"ts_bfv4axew3ptq","endpointId":"ep_gskugzbkfap6","hash":"d6c0e2e627f3ccb836c050e9ac28b64d043afdfa710b63d34c0ae3593217ffcc","toolCount":11,"serverName":"moltline-optimize","serverVersion":"1.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-12T13:25:46.740Z","lastSeenAt":"2026-10-09T23:29:54.840Z","observations":101,"toolNames":["route_plan","route_plan_fleet","distance_matrix_haversine","pack_bins","pack_bins_large","cutting_stock_1d","cutting_stock_2d","roster_shifts","knapsack_select","validate_problem","explain_solution"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_gskugzbkfap6","url":"https://mcp.moltlinestudio.com/optimize","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T04:27:29.711Z","auth":{"observedAt":"2026-10-09T04:27:29.877Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-09T04:27:29.887Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"moltlinestudio.com","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-08-15T23:02:26.000Z","validTo":"2026-11-13T23:59:48.000Z","daysToExpiry":34,"sanCount":2,"fingerprint256":"00:3E:04:C5:0A:BE:B8:9A:96:7A:35:4E:9A:6C:B8:4F:E5:D4:F6:12:6F:90:B4:18:60:0D:58:95:EB:2F:A8:DB"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.moltlinestudio/optimize","url":"https://registry.modelcontextprotocol.io/v0/servers/com.moltlinestudio%2Foptimize","firstSeenAt":"2026-09-07T17:19:30.893Z","fetchedAt":"2026-10-09T08:21:22.782Z","normalizedAt":"2026-10-09T08:21:22.782Z"},{"source":"github","key":"github.com/garphengate/moltline-mcp","url":"https://github.com/GarphenGate/moltline-mcp","firstSeenAt":"2026-09-15T17:20:14.137Z","fetchedAt":"2026-10-10T02:22:23.592Z","normalizedAt":"2026-10-10T02:22:23.592Z"}]},"firstSeenAt":"2026-09-07T17:19:30.893Z","updatedAt":"2026-10-09T23:32:07.463Z"}