← WebMCP Directory

Tool tree

line-mate.vercel.app

Productivity & BusinessTools verified
Website
One more technician on the line: a WebMCP-native shop floor where the manager and a browser agent recover a failing schedule together — the manager keeps authority.
Explore capabilities
    inspect_systemAction

    Overview of the active scenario: shift clock, constraints, bays and technicians, waiting jobs with their promises, the latest simulation KPIs, and recent human/agent changes. Includes a briefing on the room you have to act, and — while a proposal is on the manager's screen — the current draft with who set each choice. Use this first.

    View tool JSON
    {
      "name": "inspect_system",
      "kind": "act",
      "impl": "imperative",
      "description": "Overview of the active scenario: shift clock, constraints, bays and technicians, waiting jobs with their promises, the latest simulation KPIs, and recent human/agent changes. Includes a briefing on the room you have to act, and — while a proposal is on the manager's screen — the current draft with who set each choice. Use this first.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "scenarioId": {
            "type": "string",
            "minLength": 1
          }
        }
      }
    }
    inspect_resourceAction

    Detail for one bay or station: status and blocking reason, the jobs routed to it, its utilisation and queue from the last run, and which technicians can work there.

    View tool JSON
    {
      "name": "inspect_resource",
      "kind": "act",
      "impl": "imperative",
      "description": "Detail for one bay or station: status and blocking reason, the jobs routed to it, its utilisation and queue from the last run, and which technicians can work there.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "resourceId": {
            "type": "string",
            "minLength": 1
          },
          "scenarioId": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "resourceId"
        ]
      }
    }
    inspect_work_itemAnswer

    Detail for one vehicle's job: promise, priority, steps with the skill each needs and who has it, current route, and a feasibility signal (work remaining versus time to the promise). Includes last-run timings.

    View tool JSON
    {
      "name": "inspect_work_item",
      "kind": "answer",
      "impl": "imperative",
      "description": "Detail for one vehicle's job: promise, priority, steps with the skill each needs and who has it, current route, and a feasibility signal (work remaining versus time to the promise). Includes last-run timings.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "workItemId": {
            "type": "string",
            "minLength": 1
          },
          "scenarioId": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "workItemId"
        ]
      }
    }
    get_simulation_resultsAnswer

    Structured results of the last run for one scenario: promises met, completions, revenue and cost, utilisation, late and unfinished jobs, bottleneck. Fails if the scenario has not been simulated yet.

    View tool JSON
    {
      "name": "get_simulation_results",
      "kind": "answer",
      "impl": "imperative",
      "description": "Structured results of the last run for one scenario: promises met, completions, revenue and cost, utilisation, late and unfinished jobs, bottleneck. Fails if the scenario has not been simulated yet.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "scenarioId": {
            "type": "string",
            "minLength": 1
          },
          "includeTimeline": {
            "type": "boolean"
          }
        }
      }
    }
    compare_scenariosAction

    Aligned KPIs for two to four scenarios (promises, completions, revenue, labor cost, wait, lead time, constraint violations) with deltas against the first one and a one-line verdict. Simulates on the fly if needed.

    View tool JSON
    {
      "name": "compare_scenarios",
      "kind": "act",
      "impl": "imperative",
      "description": "Aligned KPIs for two to four scenarios (promises, completions, revenue, labor cost, wait, lead time, constraint violations) with deltas against the first one and a one-line verdict. Simulates on the fly if needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "scenarioIds": {
            "minItems": 2,
            "maxItems": 4,
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            }
          }
        },
        "required": [
          "scenarioIds"
        ]
      }
    }
    create_scenarioAction

    Clone a scenario into a named experiment and make it active. Do this before changing anything so the baseline stays intact for comparison.

    View tool JSON
    {
      "name": "create_scenario",
      "kind": "act",
      "impl": "imperative",
      "description": "Clone a scenario into a named experiment and make it active. Do this before changing anything so the baseline stays intact for comparison.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60
          },
          "description": {
            "type": "string",
            "maxLength": 280
          },
          "fromScenarioId": {
            "type": "string",
            "minLength": 1
          },
          "activate": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ]
      }
    }
    update_resourceAction

    Validated partial update of a bay or station: status, blocking, capacity, availability, cost, name. Cannot add resources or technicians.

    View tool JSON
    {
      "name": "update_resource",
      "kind": "act",
      "impl": "imperative",
      "description": "Validated partial update of a bay or station: status, blocking, capacity, availability, cost, name. Cannot add resources or technicians.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "resourceId": {
            "type": "string",
            "minLength": 1
          },
          "scenarioId": {
            "type": "string",
            "minLength": 1
          },
          "allowBaselineEdit": {
            "type": "boolean"
          },
          "changes": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1
              },
              "capacity": {
                "type": "integer",
                "minimum": 1,
                "maximum": 8
              },
              "availability": {
                "type": "number",
                "exclusiveMinimum": 0,
                "maximum": 1
              },
              "costPerHour": {
                "type": "number",
                "minimum": 0
              },
              "status": {
                "type": "string",
                "enum": [
                  "idle",
                  "working",
                  "blocked",
                  "down"
                ]
              },
              "blockedUntilMinute": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "blockingReason": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        },
        "required": [
          "resourceId",
          "changes"
        ]
      }
    }
    update_work_itemAction

    Change a job's priority (1 = first). Promises, steps and revenue are facts about the customer and cannot be edited; cancelling is not allowed.

    View tool JSON
    {
      "name": "update_work_item",
      "kind": "act",
      "impl": "imperative",
      "description": "Change a job's priority (1 = first). Promises, steps and revenue are facts about the customer and cannot be edited; cancelling is not allowed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "workItemId": {
            "type": "string",
            "minLength": 1
          },
          "scenarioId": {
            "type": "string",
            "minLength": 1
          },
          "allowBaselineEdit": {
            "type": "boolean"
          },
          "changes": {
            "type": "object",
            "properties": {
              "priority": {
                "type": "integer",
                "minimum": 1,
                "maximum": 5
              }
            },
            "required": [
              "priority"
            ]
          }
        },
        "required": [
          "workItemId",
          "changes"
        ]
      }
    }
    route_work_itemAction

    Send a job to a specific bay or station, optionally at a queue position (1 = next). resourceId null clears the pin so the job takes any eligible bay. The target must be able to run at least one of the job's steps. While a proposed plan is on the manager's screen for the active scenario, this edits that visible draft instead — attributed to you, and nothing lands in the world until the manager applies the plan.

    View tool JSON
    {
      "name": "route_work_item",
      "kind": "act",
      "impl": "imperative",
      "description": "Send a job to a specific bay or station, optionally at a queue position (1 = next). resourceId null clears the pin so the job takes any eligible bay. The target must be able to run at least one of the job's steps. While a proposed plan is on the manager's screen for the active scenario, this edits that visible draft instead — attributed to you, and nothing lands in the world until the manager applies the plan.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "workItemId": {
            "type": "string",
            "minLength": 1
          },
          "resourceId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1
              },
              {
                "type": "null"
              }
            ]
          },
          "position": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 20
              },
              {
                "type": "null"
              }
            ]
          },
          "scenarioId": {
            "type": "string",
            "minLength": 1
          },
          "allowBaselineEdit": {
            "type": "boolean"
          }
        },
        "required": [
          "workItemId",
          "resourceId"
        ]
      }
    }
    apply_planAction

    Apply a whole schedule plan — the ordered priority and routing changes explore_schedules returned, or the version the manager edited — as one attributed change. Same validation as the individual commands, and the baseline stays protected: branch with create_scenario first.

    View tool JSON
    {
      "name": "apply_plan",
      "kind": "act",
      "impl": "imperative",
      "description": "Apply a whole schedule plan — the ordered priority and routing changes explore_schedules returned, or the version the manager edited — as one attributed change. Same validation as the individual commands, and the baseline stays protected: branch with create_scenario first.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "scenarioId": {
            "type": "string",
            "minLength": 1
          },
          "plan": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1
              },
              "label": {
                "type": "string",
                "minLength": 1
              },
              "changes": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "type": "object",
                      "properties": {
                        "command": {
                          "type": "string",
                          "const": "update_work_item"
                        },
                        "workItemId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "priority": {
                          "type": "integer",
                          "minimum": 1,
                          "maximum": 5
                        }
                      },
                      "required": [
                        "command",
                        "workItemId",
                        "priority"
                      ]
                    },
                    {
                      "type": "object",
                      "properties": {
                        "command": {
                          "type": "string",
                          "const": "route_work_item"
                        },
                        "workItemId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "resourceId": {
                          "anyOf": [
                            {
                              "type": "string",
                              "minLength": 1
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "position": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "minimum": 1,
                              "maximum": 9007199254740991
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "required": [
                        "command",
                        "workItemId",
                        "resourceId",
                        "position"
                      ]
                    }
                  ]
                }
              }
            },
            "required": [
              "id",
              "label",
              "changes"
            ]
          },
          "allowBaselineEdit": {
            "type": "boolean"
          }
        },
        "required": [
          "plan"
        ]
      }
    }
    post_shift_noteAction

    Tell the team what changed. Records the shift note in the shop log against the scenario, tagged with its channels (slack, email, sms). This tool performs no external delivery of any kind: it makes no network request and no data leaves the page.

    View tool JSON
    {
      "name": "post_shift_note",
      "kind": "act",
      "impl": "imperative",
      "description": "Tell the team what changed. Records the shift note in the shop log against the scenario, tagged with its channels (slack, email, sms). This tool performs no external delivery of any kind: it makes no network request and no data leaves the page.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "scenarioId": {
            "type": "string",
            "minLength": 1
          },
          "text": {
            "type": "string",
            "minLength": 1,
            "maxLength": 400
          },
          "channels": {
            "minItems": 1,
            "maxItems": 3,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "slack",
                "email",
                "sms"
              ]
            }
          },
          "recipients": {
            "maxItems": 10,
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 80
            }
          }
        },
        "required": [
          "text",
          "channels"
        ]
      }
    }
    run_simulationAction

    Run the deterministic shift simulation for a scenario and cache the result. Same scenario in, same numbers out. Returns bounded results; pass includeTimeline: true for the event list.

    View tool JSON
    {
      "name": "run_simulation",
      "kind": "act",
      "impl": "imperative",
      "description": "Run the deterministic shift simulation for a scenario and cache the result. Same scenario in, same numbers out. Returns bounded results; pass includeTimeline: true for the event list.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "scenarioId": {
            "type": "string",
            "minLength": 1
          },
          "includeTimeline": {
            "type": "boolean"
          }
        }
      }
    }
    explore_schedulesAction

    Search for a better shift. Generates a bounded set of alternative schedules (promised jobs first, bay pins, queue positions, released pins) and scores each one across seeded replications of the day, so the answer carries how often it holds, not just one lucky run. Deterministic: the same seed always returns the same ranking. Returns the best plan and up to eight runners-up, ready to hand to apply_plan. Run it when the manager asks for options or a recovery — not as part of a look or a diagnosis. The manager's screen animates this search live for about ten seconds — you can narrate over it instead of describing it afterwards.

    View tool JSON
    {
      "name": "explore_schedules",
      "kind": "act",
      "impl": "imperative",
      "description": "Search for a better shift. Generates a bounded set of alternative schedules (promised jobs first, bay pins, queue positions, released pins) and scores each one across seeded replications of the day, so the answer carries how often it holds, not just one lucky run. Deterministic: the same seed always returns the same ranking. Returns the best plan and up to eight runners-up, ready to hand to apply_plan. Run it when the manager asks for options or a recovery — not as part of a look or a diagnosis. The manager's screen animates this search live for about ten seconds — you can narrate over it instead of describing it afterwards.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "scenarioId": {
            "type": "string",
            "minLength": 1
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "maximum": 4294967295
          },
          "replications": {
            "type": "integer",
            "minimum": 1,
            "maximum": 64
          },
          "includeTrace": {
            "type": "boolean"
          }
        }
      }
    }