← WebMCP Directory

mcp-siege.vercel.app

mcp-siege.vercel.app

live Unverified (seed import) Media & Personal 6 tools imperative implementation

A large-scale battle command game that exposes its live battlefield to an external AI Marshal through WebMCP.

First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com

Answer 2 · Act 4 · Transact 0 · Score: Not yet scored

Tool inspector

design_operation

act imperative

Write a battle of your own: pick a battlefield, place both armies on named ground, say which regiment each king rides with, and give the enemy commander a timetable. The design is validated, drawn on the War Council table and selected — but nothing is fought until launch_operation. Designing again replaces the operation on the table.

Input schema

PropertyTypeRequiredDescription
name string yes —
mapId string yes A battlefield. Call describe_battlefield for its ground before designing on it.
summary string no —
briefingLine string no —
twist string no —
objective string no —
playerArmyName string no —
enemyArmyName string no —
playerKingName string no —
enemyKingName string no —
playerRegiments array yes —
enemyRegiments array yes —
enemyPlan array no The enemy commander, written as a timetable. Each entry fires once, at its second, on the difficulty’s own clock. A reactive layer answers what the player does; this is what gives the battle its shape.
Raw JSON schema
{
  "type": "object",
  "description": "A whole battle: a battlefield, two armies placed on named ground, and a timetable for the enemy commander. Nothing is fought until launch_operation is called.",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 48
    },
    "mapId": {
      "type": "string",
      "enum": [
        "river_vale",
        "ashfall_pass",
        "goldmere",
        "sunken_causeway"
      ],
      "description": "A battlefield. Call describe_battlefield for its ground before designing on it."
    },
    "summary": {
      "type": "string",
      "maxLength": 400
    },
    "briefingLine": {
      "type": "string",
      "maxLength": 400
    },
    "twist": {
      "type": "string",
      "maxLength": 400
    },
    "objective": {
      "type": "string",
      "maxLength": 400
    },
    "playerArmyName": {
      "type": "string",
      "maxLength": 48
    },
    "enemyArmyName": {
      "type": "string",
      "maxLength": 48
    },
    "playerKingName": {
      "type": "string",
      "maxLength": 48
    },
    "enemyKingName": {
      "type": "string",
      "maxLength": 48
    },
    "playerRegiments": {
      "type": "array",
      "minItems": 3,
      "maxItems": 12,
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]{1,30}$",
            "description": "Lowercase slug, unique on its side. This becomes the group id in play."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 48
          },
          "zone": {
            "type": "string",
            "enum": [
              "player_base",
              "west_forest",
              "west_crossing",
              "central_field",
              "central_bridge",
              "central_hill",
              "village",
              "east_field",
              "east_crossing",
              "east_forest",
              "northern_ridge",
              "enemy_outer_defense",
              "enemy_base",
              "crown_camp",
              "south_orchard",
              "smoke_road",
              "slag_flats",
              "broken_scree",
              "east_scarp",
              "cinder_gap",
              "ashfall_gate",
              "upper_terrace",
              "obsidian_wood",
              "emberhold",
              "smelters_hill",
              "ash_citadel",
              "harvest_camp",
              "millbrook",
              "south_downs",
              "hollow_wood",
              "west_pasture",
              "goldmere_town",
              "east_pasture",
              "long_barrow",
              "crowsfoot_wood",
              "beacon_hill",
              "hartfell",
              "stone_row",
              "ashen_camp",
              "tidewatch",
              "drowned_wood",
              "causeway_approach",
              "oyster_town",
              "gull_hill",
              "reed_flats",
              "long_causeway",
              "salt_ford",
              "north_strand",
              "black_pines",
              "beacon_tower",
              "herring_quay",
              "ashen_anchorage"
            ],
            "description": "Named ground. It must be on the operation’s own map — describe_battlefield lists it."
          },
          "troops": {
            "type": "array",
            "minItems": 1,
            "maxItems": 10,
            "description": "What the regiment is made of. infantry hold a line, spearman beat cavalry, archer shoot at range and fold in melee, cavalry break formations from the flank, heavy_infantry are slow and very hard, siege outranges everything and is helpless up close, scout sees far.",
            "items": {
              "type": "object",
              "properties": {
                "category": {
                  "type": "string",
                  "enum": [
                    "infantry",
                    "spearman",
                    "archer",
                    "handgunner",
                    "cavalry",
                    "heavy_infantry",
                    "siege",
                    "cannon",
                    "scout",
                    "surgeon"
                  ]
                },
                "count": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 1200
                }
              },
              "required": [
                "category",
                "count"
              ],
              "additionalProperties": false
            }
          },
          "formation": {
            "type": "string",
            "enum": [
              "line",
              "column",
              "block",
              "wedge",
              "double_line",
              "loose",
              "square"
            ]
          },
          "stance": {
            "type": "string",
            "enum": [
              "aggressive",
              "defensive",
              "hold_ground"
            ]
          },
          "carriesKing": {
            "type": "boolean",
            "description": "Exactly one regiment per side must carry its king. Taking a king wins the battle, so this regiment is the objective standing on the field."
          }
        },
        "required": [
          "id",
          "name",
          "zone",
          "troops"
        ],
        "additionalProperties": false
      }
    },
    "enemyRegiments": {
      "type": "array",
      "minItems": 3,
      "maxItems": 12,
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]{1,30}$",
            "description": "Lowercase slug, unique on its side. This becomes the group id in play."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 48
          },
          "zone": {
            "type": "string",
            "enum": [
              "player_base",
              "west_forest",
              "west_crossing",
              "central_field",
              "central_bridge",
              "central_hill",
              "village",
              "east_field",
              "east_crossing",
              "east_forest",
              "northern_ridge",
              "enemy_outer_defense",
              "enemy_base",
              "crown_camp",
              "south_orchard",
              "smoke_road",
              "slag_flats",
              "broken_scree",
              "east_scarp",
              "cinder_gap",
              "ashfall_gate",
              "upper_terrace",
              "obsidian_wood",
              "emberhold",
              "smelters_hill",
              "ash_citadel",
              "harvest_camp",
              "millbrook",
              "south_downs",
              "hollow_wood",
              "west_pasture",
              "goldmere_town",
              "east_pasture",
              "long_barrow",
              "crowsfoot_wood",
              "beacon_hill",
              "hartfell",
              "stone_row",
              "ashen_camp",
              "tidewatch",
              "drowned_wood",
              "causeway_approach",
              "oyster_town",
              "gull_hill",
              "reed_flats",
              "long_causeway",
              "salt_ford",
              "north_strand",
              "black_pines",
              "beacon_tower",
              "herring_quay",
              "ashen_anchorage"
            ],
            "description": "Named ground. It must be on the operation’s own map — describe_battlefield lists it."
          },
          "troops": {
            "type": "array",
            "minItems": 1,
            "maxItems": 10,
            "description": "What the regiment is made of. infantry hold a line, spearman beat cavalry, archer shoot at range and fold in melee, cavalry break formations from the flank, heavy_infantry are slow and very hard, siege outranges everything and is helpless up close, scout sees far.",
            "items": {
              "type": "object",
              "properties": {
                "category": {
                  "type": "string",
                  "enum": [
                    "infantry",
                    "spearman",
                    "archer",
                    "handgunner",
                    "cavalry",
                    "heavy_infantry",
                    "siege",
                    "cannon",
                    "scout",
                    "surgeon"
                  ]
                },
                "count": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 1200
                }
              },
              "required": [
                "category",
                "count"
              ],
              "additionalProperties": false
            }
          },
          "formation": {
            "type": "string",
            "enum": [
              "line",
              "column",
              "block",
              "wedge",
              "double_line",
              "loose",
              "square"
            ]
          },
          "stance": {
            "type": "string",
            "enum": [
              "aggressive",
              "defensive",
              "hold_ground"
            ]
          },
          "carriesKing": {
            "type": "boolean",
            "description": "Exactly one regiment per side must carry its king. Taking a king wins the battle, so this regiment is the objective standing on the field."
          }
        },
        "required": [
          "id",
          "name",
          "zone",
          "troops"
        ],
        "additionalProperties": false
      }
    },
    "enemyPlan": {
      "type": "array",
      "maxItems": 28,
      "description": "The enemy commander, written as a timetable. Each entry fires once, at its second, on the difficulty’s own clock. A reactive layer answers what the player does; this is what gives the battle its shape.",
      "items": {
        "type": "object",
        "properties": {
          "atSeconds": {
            "type": "integer",
            "minimum": 0,
            "maximum": 900
          },
          "groupId": {
            "type": "string",
            "description": "An id from enemyRegiments."
          },
          "order": {
            "type": "string",
            "enum": [
              "move",
              "attack_zone",
              "defend_zone",
              "hold",
              "retreat",
              "scout"
            ]
          },
          "targetZone": {
            "type": "string",
            "enum": [
              "player_base",
              "west_forest",
              "west_crossing",
              "central_field",
              "central_bridge",
              "central_hill",
              "village",
              "east_field",
              "east_crossing",
              "east_forest",
              "northern_ridge",
              "enemy_outer_defense",
              "enemy_base",
              "crown_camp",
              "south_orchard",
              "smoke_road",
              "slag_flats",
              "broken_scree",
              "east_scarp",
              "cinder_gap",
              "ashfall_gate",
              "upper_terrace",
              "obsidian_wood",
              "emberhold",
              "smelters_hill",
              "ash_citadel",
              "harvest_camp",
              "millbrook",
              "south_downs",
              "hollow_wood",
              "west_pasture",
              "goldmere_town",
              "east_pasture",
              "long_barrow",
              "crowsfoot_wood",
              "beacon_hill",
              "hartfell",
              "stone_row",
              "ashen_camp",
              "tidewatch",
              "drowned_wood",
              "causeway_approach",
              "oyster_town",
              "gull_hill",
              "reed_flats",
              "long_causeway",
              "salt_ford",
              "north_strand",
              "black_pines",
              "beacon_tower",
              "herring_quay",
              "ashen_anchorage"
            ],
            "description": "Named ground. It must be on the operation’s own map — describe_battlefield lists it."
          },
          "formation": {
            "type": "string",
            "enum": [
              "line",
              "column",
              "block",
              "wedge",
              "double_line",
              "loose",
              "square"
            ]
          },
          "stance": {
            "type": "string",
            "enum": [
              "aggressive",
              "defensive",
              "hold_ground"
            ]
          }
        },
        "required": [
          "atSeconds",
          "groupId",
          "order"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "name",
    "mapId",
    "playerRegiments",
    "enemyRegiments"
  ],
  "additionalProperties": false
}

Similar websites

wfsim.app

wfsim.app

A Warframe calculator that simulates the fight instead of estimating it — builder, simulator, optimizer. Every formula cites its source, and the golden tests ar…

live Unverified Media & Personal
101 tools A12 / Act89 / T0 Not yet scored Seen 2026-11-05
enemies_targets_list enemies_target_new enemies_target_copy enemies_target_open enemies_target_set
Inspect tools
commonplace-webmcp.vercel.app

commonplace-webmcp.vercel.app

Commonplace is an editable social reading space built for people and their browser agents.

live Unverified Media & Personal Transact tools
89 tools A10 / Act77 / T2 Not yet scored Seen 2026-11-05
commonplace.get_page_state commonplace_get_page_state commonplace.get_reading_list commonplace_get_reading_list commonplace.get_profile
Inspect tools
pixelforge-studio.appcaster.chatgpt.site

pixelforge-studio.appcaster.chatgpt.site

A professional browser pixel-art editor for drawing, frame animation, palettes, sprite sheets, GIF export, and WebMCP automation.

live Unverified Media & Personal Transact tools
88 tools A12 / Act70 / T6 Not yet scored Seen 2026-11-05
plan_text_creation get_text_creation_status create_from_text claim_text_creation update_text_creation
Inspect tools
pixelite.taskcraft.site

pixelite.taskcraft.site

Pixelite

live Unverified Media & Personal Transact tools
83 tools A4 / Act78 / T1 Not yet scored Seen 2026-11-05
get_document_info list_layers get_active_layer get_selection_info new_document
Inspect tools

Related on Influzer