← WebMCP Directory

Tool tree

overloaded.fpahmad36.workers.dev

Media & PersonalTools verified
Website
Overloaded is a Napoleonic command game: you stand on the field while your own agent uses WebMCP to run a much larger control surface.
Explore capabilities
    overviewAction

    The whole readable state in one call: crates and income, depots held, every friendly formation and work, production in hand, visible enemy contacts, the standing-order book, recent dispatches, and an ASCII map. Call this first. Enemy equipment is never shown — only what your side can see.

    View tool JSON
    {
      "name": "overview",
      "kind": "act",
      "impl": "imperative",
      "description": "The whole readable state in one call: crates and income, depots held, every friendly formation and work, production in hand, visible enemy contacts, the standing-order book, recent dispatches, and an ASCII map. Call this first. Enemy equipment is never shown — only what your side can see.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {}
      }
    }
    inspect_bindingAction

    One friendly formation's strength, order, engagement settings and position.

    View tool JSON
    {
      "name": "inspect_binding",
      "kind": "act",
      "impl": "imperative",
      "description": "One friendly formation's strength, order, engagement settings and position.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string"
          }
        }
      }
    }
    inspect_structureAction

    One base, forward work or depot: health, build progress, yield, and whether its supply route home is open.

    View tool JSON
    {
      "name": "inspect_structure",
      "kind": "act",
      "impl": "imperative",
      "description": "One base, forward work or depot: health, build progress, yield, and whether its supply route home is open.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string"
          }
        }
      }
    }
    inspect_cellAnswer

    Terrain, height, ownership, whether the cell is interdicted by the enemy, and who is visible there.

    View tool JSON
    {
      "name": "inspect_cell",
      "kind": "answer",
      "impl": "imperative",
      "description": "Terrain, height, ownership, whether the cell is interdicted by the enemy, and who is visible there.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "x",
          "y"
        ],
        "properties": {
          "x": {
            "type": "integer"
          },
          "y": {
            "type": "integer"
          }
        }
      }
    }
    inspect_contactSensitive Action

    What is known about one visible enemy contact. Distance decides how much that is.

    View tool JSON
    {
      "name": "inspect_contact",
      "kind": "transact",
      "impl": "imperative",
      "description": "What is known about one visible enemy contact. Distance decides how much that is.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string"
          }
        }
      }
    }
    read_alertsAnswer

    The dispatch feed, newest first: what happened, to whom, and which standing order answered it.

    View tool JSON
    {
      "name": "read_alerts",
      "kind": "answer",
      "impl": "imperative",
      "description": "The dispatch feed, newest first: what happened, to whom, and which standing order answered it.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 60
          }
        }
      }
    }
    list_rulesAnswer

    Every standing order you hold, as the English sentence it reads on screen, plus how many times it has acted.

    View tool JSON
    {
      "name": "list_rules",
      "kind": "answer",
      "impl": "imperative",
      "description": "Every standing order you hold, as the English sentence it reads on screen, plus how many times it has acted.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {}
      }
    }
    set_matchAction

    Choose the ground, the length and the opposition. Only before the battle starts.

    View tool JSON
    {
      "name": "set_match",
      "kind": "act",
      "impl": "imperative",
      "description": "Choose the ground, the length and the opposition. Only before the battle starts.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "mapId": {
            "enum": [
              "plain",
              "ridge",
              "longfield",
              "village"
            ]
          },
          "mapArea": {
            "enum": [
              1,
              2,
              5
            ],
            "description": "How much ground: 1 compact, 2 standard, 5 grand."
          },
          "timeLimitS": {
            "type": "integer",
            "minimum": 120,
            "maximum": 3600
          },
          "difficulty": {
            "type": "integer",
            "minimum": 1,
            "maximum": 3
          }
        }
      }
    }
    start_battleAction

    Begin. Both sides deploy a garrison at their headquarters and the clock runs.

    View tool JSON
    {
      "name": "start_battle",
      "kind": "act",
      "impl": "imperative",
      "description": "Begin. Both sides deploy a garrison at their headquarters and the clock runs.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {}
      }
    }
    set_pausedAction

    Halt or resume the clock without leaving the field.

    View tool JSON
    {
      "name": "set_paused",
      "kind": "act",
      "impl": "imperative",
      "description": "Halt or resume the clock without leaving the field.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "paused"
        ],
        "properties": {
          "paused": {
            "type": "boolean"
          }
        }
      }
    }
    recruitAction

    Spend crates to raise a new formation at one of your works. It takes time and arrives with a name of its own. A work whose supply route is cut cannot recruit.

    View tool JSON
    {
      "name": "recruit",
      "kind": "act",
      "impl": "imperative",
      "description": "Spend crates to raise a new formation at one of your works. It takes time and arrives with a name of its own. A work whose supply route is cut cannot recruit.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "structureId",
          "type",
          "count"
        ],
        "properties": {
          "structureId": {
            "type": "string",
            "description": "From overview.structures — the base to raise it at."
          },
          "type": {
            "enum": [
              "infantry",
              "cavalry",
              "artillery"
            ]
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 60
          },
          "grade": {
            "type": "integer",
            "minimum": 1,
            "maximum": 3,
            "description": "Quality. 2 by default; better costs more and takes longer."
          }
        }
      }
    }
    build_workAction

    Put a work on a cell. It must sit within reach of your existing network, clear of other works, and on ground the enemy does not interdict. Each kind wants particular ground beside it and is stronger or faster when it gets it: fort (300 crates, stronger on broken or high ground); barracks (220 crates, faster beside a road); stables (260 crates, faster with open ground to graze); foundry (340 crates, faster beside woods, for charcoal); watchtower (120 crates, sees further from high ground). Call inspect_cell first if you are unsure what is on the ground.

    View tool JSON
    {
      "name": "build_work",
      "kind": "act",
      "impl": "imperative",
      "description": "Put a work on a cell. It must sit within reach of your existing network, clear of other works, and on ground the enemy does not interdict. Each kind wants particular ground beside it and is stronger or faster when it gets it: fort (300 crates, stronger on broken or high ground); barracks (220 crates, faster beside a road); stables (260 crates, faster with open ground to graze); foundry (340 crates, faster beside woods, for charcoal); watchtower (120 crates, sees further from high ground). Call inspect_cell first if you are unsure what is on the ground.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "kind",
          "x",
          "y"
        ],
        "properties": {
          "kind": {
            "enum": [
              "fort",
              "barracks",
              "stables",
              "foundry",
              "watchtower"
            ],
            "description": "Which work to raise."
          },
          "x": {
            "type": "integer"
          },
          "y": {
            "type": "integer"
          }
        }
      }
    }
    issueAction

    Give one formation a standing order. Orders that go somewhere need cells. Everything here is also what a rule's action does, so an order you can give by hand is one a rule can give for you.

    View tool JSON
    {
      "name": "issue",
      "kind": "act",
      "impl": "imperative",
      "description": "Give one formation a standing order. Orders that go somewhere need cells. Everything here is also what a rule's action does, so an order you can give by hand is one a rule can give for you.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "order": {
            "enum": [
              "move",
              "hold",
              "attack_area",
              "bombard",
              "charge",
              "retreat",
              "reserve"
            ]
          },
          "cells": {
            "type": "array",
            "maxItems": 8,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "x",
                "y"
              ],
              "properties": {
                "x": {
                  "type": "integer"
                },
                "y": {
                  "type": "integer"
                }
              }
            }
          },
          "shape": {
            "enum": [
              "line",
              "column",
              "square",
              "skirmish"
            ]
          },
          "spacing": {
            "type": "number",
            "minimum": 1,
            "maximum": 8
          },
          "facing": {
            "type": "number"
          },
          "holdFire": {
            "type": "boolean"
          },
          "fireAtWill": {
            "type": "boolean"
          },
          "engageRange": {
            "type": "number",
            "minimum": 10,
            "maximum": 400,
            "description": "Metres. Below this they open fire."
          },
          "priority": {
            "enum": [
              "infantry",
              "cavalry",
              "artillery",
              "structure",
              "nearest"
            ]
          },
          "load": {
            "enum": [
              "round",
              "canister"
            ]
          }
        }
      }
    }
    bindAction

    Group loose units under one name so they move and fight together.

    View tool JSON
    {
      "name": "bind",
      "kind": "act",
      "impl": "imperative",
      "description": "Group loose units under one name so they move and fight together.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "unitIds"
        ],
        "properties": {
          "unitIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 200
          },
          "name": {
            "type": "string",
            "maxLength": 24
          }
        }
      }
    }
    unbindAction

    Release a formation's units back to loose order.

    View tool JSON
    {
      "name": "unbind",
      "kind": "act",
      "impl": "imperative",
      "description": "Release a formation's units back to loose order.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string"
          }
        }
      }
    }
    rename_bindingAction

    Give a formation a name your rules can refer to.

    View tool JSON
    {
      "name": "rename_binding",
      "kind": "act",
      "impl": "imperative",
      "description": "Give a formation a name your rules can refer to.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "from",
          "to"
        ],
        "properties": {
          "from": {
            "type": "string"
          },
          "to": {
            "type": "string",
            "maxLength": 24
          }
        }
      }
    }
    add_ruleAction

    The heart of the game. An order is written to one named formation or one named base and set off by one named thing: "Alpha attacks the attacker when it comes under fire", "Headquarters raises 16 infantry when the war chest passes 800 crates". Nothing in an order is a wildcard and every place it names is a place you can point at. It then acts on its own, for the rest of the battle, with no second call. Use list_rules for the vocabulary.

    View tool JSON
    {
      "name": "add_rule",
      "kind": "act",
      "impl": "imperative",
      "description": "The heart of the game. An order is written to one named formation or one named base and set off by one named thing: \"Alpha attacks the attacker when it comes under fire\", \"Headquarters raises 16 infantry when the war chest passes 800 crates\". Nothing in an order is a wildcard and every place it names is a place you can point at. It then acts on its own, for the rest of the battle, with no second call. Use list_rules for the vocabulary.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "watch",
          "trigger",
          "actor",
          "action"
        ],
        "properties": {
          "watch": {
            "description": "What the order is written against, and it must be one named thing: a formation name like \"Alpha\", a structure id like \"base1\", or \"chest\" for your own war chest. There is no wildcard.",
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "kind"
                ],
                "properties": {
                  "kind": {
                    "enum": [
                      "binding",
                      "structure",
                      "chest"
                    ]
                  },
                  "ref": {
                    "type": "string"
                  }
                }
              }
            ]
          },
          "trigger": {
            "enum": [
              "under_fire",
              "spotted",
              "weakened",
              "arrived",
              "idle",
              "threatened",
              "supply_cut",
              "supply_restored",
              "captured",
              "lost",
              "destroyed",
              "supply_above"
            ],
            "description": "What the watched thing has to do. A formation reports under_fire, spotted, weakened, arrived, idle, destroyed; a base reports threatened, supply_cut, supply_restored, captured, lost, destroyed; the chest reports supply_above."
          },
          "threshold": {
            "type": "number",
            "description": "For 'weakened' a percentage of establishment, so 45 or 0.45 both mean forty-five percent; for 'supply_above' a number of crates."
          },
          "actor": {
            "description": "Who carries the order out: a formation name like \"Alpha\", or a structure id like \"base1\" (a base can only raise men).",
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "kind",
                  "ref"
                ],
                "properties": {
                  "kind": {
                    "enum": [
                      "binding",
                      "structure"
                    ]
                  },
                  "ref": {
                    "type": "string"
                  }
                }
              }
            ]
          },
          "action": {
            "enum": [
              "move",
              "hold",
              "attack_area",
              "bombard",
              "charge",
              "retreat",
              "reserve",
              "recruit"
            ],
            "description": "A formation can march, hold, attack, retreat or stand in reserve; only cavalry can charge and only artillery can bombard; only a base can recruit."
          },
          "place": {
            "description": "The ground the order aims at, always named: \"attacker\" for the enemy that set the watch off (only for under_fire, spotted and threatened), a formation name, a structure id, or { x, y } for a marked spot. Orders that go nowhere -- fall back, stand in reserve, raise men -- take no place.",
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "x",
                  "y"
                ],
                "properties": {
                  "x": {
                    "type": "integer"
                  },
                  "y": {
                    "type": "integer"
                  }
                }
              }
            ]
          },
          "unitType": {
            "enum": [
              "infantry",
              "cavalry",
              "artillery"
            ],
            "description": "For the recruit action."
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 60,
            "description": "For the recruit action."
          },
          "once": {
            "type": "boolean",
            "description": "Retire the order after it acts once."
          },
          "cooldownS": {
            "type": "number",
            "minimum": 0,
            "maximum": 600,
            "description": "Seconds before it may act again."
          }
        }
      }
    }
    update_ruleAction

    Change any part of an order already in the book. Only the fields you send are touched.

    View tool JSON
    {
      "name": "update_rule",
      "kind": "act",
      "impl": "imperative",
      "description": "Change any part of an order already in the book. Only the fields you send are touched.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "watch": {
            "description": "What the order is written against, and it must be one named thing: a formation name like \"Alpha\", a structure id like \"base1\", or \"chest\" for your own war chest. There is no wildcard.",
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "kind"
                ],
                "properties": {
                  "kind": {
                    "enum": [
                      "binding",
                      "structure",
                      "chest"
                    ]
                  },
                  "ref": {
                    "type": "string"
                  }
                }
              }
            ]
          },
          "trigger": {
            "enum": [
              "under_fire",
              "spotted",
              "weakened",
              "arrived",
              "idle",
              "threatened",
              "supply_cut",
              "supply_restored",
              "captured",
              "lost",
              "destroyed",
              "supply_above"
            ]
          },
          "threshold": {
            "type": "number"
          },
          "actor": {
            "description": "Who carries the order out: a formation name like \"Alpha\", or a structure id like \"base1\" (a base can only raise men).",
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "kind",
                  "ref"
                ],
                "properties": {
                  "kind": {
                    "enum": [
                      "binding",
                      "structure"
                    ]
                  },
                  "ref": {
                    "type": "string"
                  }
                }
              }
            ]
          },
          "action": {
            "enum": [
              "move",
              "hold",
              "attack_area",
              "bombard",
              "charge",
              "retreat",
              "reserve",
              "recruit"
            ]
          },
          "place": {
            "description": "The ground the order aims at, always named: \"attacker\" for the enemy that set the watch off (only for under_fire, spotted and threatened), a formation name, a structure id, or { x, y } for a marked spot. Orders that go nowhere -- fall back, stand in reserve, raise men -- take no place.",
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "x",
                  "y"
                ],
                "properties": {
                  "x": {
                    "type": "integer"
                  },
                  "y": {
                    "type": "integer"
                  }
                }
              }
            ]
          },
          "unitType": {
            "enum": [
              "infantry",
              "cavalry",
              "artillery"
            ]
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 60
          },
          "once": {
            "type": "boolean"
          },
          "cooldownS": {
            "type": "number",
            "minimum": 0,
            "maximum": 600
          }
        }
      }
    }
    remove_ruleAction

    Take a line out of the book.

    View tool JSON
    {
      "name": "remove_rule",
      "kind": "act",
      "impl": "imperative",
      "description": "Take a line out of the book.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string"
          }
        }
      }
    }