04 / TECHNICAL REFERENCEEvery tool, one place.
Generated from the server's actual MCP tool discovery. Expand a tool for its input schema. Resource IDs and entity IDs belong to the loaded world; discover them again after loading.
54 tools
tf3_statusRead
Inspect installed game, running process and companion mod. Does not prove bridge activation.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_launchAction
Launch installed Transport Fever 3 through Steam. No purchase or save loading.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_savesRead
List local save files by modification time.
{
"type": "object",
"properties": {
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_backup_saveAction
Copy a named save and its sidecars into a new unique local backup directory.
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_modsRead
List manually installed local game mods; does not prove activation in a save.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_game_snapshotRead
Read live player finances, simulation speed and time. Requires active AI MCP Bridge in a loaded world.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_start_company_gameAction
Save the completed loaded Lithuania editor map to a unique checkpoint and load it as a playable game. Preserves previous saves. A transition receipt is not proof of gameplay; poll tf3_game_snapshot until isMapEditor is false. Requires gameplayVersion 1.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_company_nameAction
Name the local player company in a playable game. Does not create extra players, change money or affect other companies.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_import_lithuaniaAction
Import Lithuania island terrain, 33 population-scaled towns and 16 industries into an empty 64x64-tile Map Editor world. Creates a backup first and a unique map save. Poll tf3_map_import_status. Requires mapImportVersion 5 and its native widget. repairExistingTowns resumes the verified island checkpoint with 33 towns and zero industries. repairCargoNeeds fills missing commercial/industrial demands on the completed island with 16 industries.
{
"type": "object",
"properties": {
"repairExistingTowns": {
"type": "boolean",
"default": false
},
"repairCargoNeeds": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_map_import_statusRead
Read the queued or running map import job, failure, or verified completion. Does not start or retry imports.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_mapAction
Save the loaded Map Editor world to a uniquely named map in the Load Map namespace.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}tf3_statusRead
Inspect installed game, running process and companion mod. Does not prove bridge activation.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_launchAction
Launch installed Transport Fever 3 through Steam. No purchase or save loading.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_savesRead
List local save files by modification time.
{
"type": "object",
"properties": {
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_backup_saveAction
Copy a named save and its sidecars into a new unique local backup directory.
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_modsRead
List manually installed local game mods; does not prove activation in a save.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_game_snapshotRead
Read live player finances, simulation speed and time. Requires active AI MCP Bridge in a loaded world.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_start_company_gameAction
Save the completed loaded Lithuania editor map to a unique checkpoint and load it as a playable game. Preserves previous saves. A transition receipt is not proof of gameplay; poll tf3_game_snapshot until isMapEditor is false. Requires gameplayVersion 1.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_company_nameAction
Name the local player company in a playable game. Does not create extra players, change money or affect other companies.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_import_lithuaniaAction
Import Lithuania island terrain, 33 population-scaled towns and 16 industries into an empty 64x64-tile Map Editor world. Creates a backup first and a unique map save. Poll tf3_map_import_status. Requires mapImportVersion 5 and its native widget. repairExistingTowns resumes the verified island checkpoint with 33 towns and zero industries. repairCargoNeeds fills missing commercial/industrial demands on the completed island with 16 industries.
{
"type": "object",
"properties": {
"repairExistingTowns": {
"type": "boolean",
"default": false
},
"repairCargoNeeds": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_map_import_statusRead
Read the queued or running map import job, failure, or verified completion. Does not start or retry imports.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_mapAction
Save the loaded Map Editor world to a uniquely named map in the Load Map namespace.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}tf3_statusRead
Inspect installed game, running process and companion mod. Does not prove bridge activation.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_launchAction
Launch installed Transport Fever 3 through Steam. No purchase or save loading.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_savesRead
List local save files by modification time.
{
"type": "object",
"properties": {
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_backup_saveAction
Copy a named save and its sidecars into a new unique local backup directory.
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_modsRead
List manually installed local game mods; does not prove activation in a save.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_game_snapshotRead
Read live player finances, simulation speed and time. Requires active AI MCP Bridge in a loaded world.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_start_company_gameAction
Save the completed loaded Lithuania editor map to a unique checkpoint and load it as a playable game. Preserves previous saves. A transition receipt is not proof of gameplay; poll tf3_game_snapshot until isMapEditor is false. Requires gameplayVersion 1.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_company_nameAction
Name the local player company in a playable game. Does not create extra players, change money or affect other companies.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_import_lithuaniaAction
Import Lithuania island terrain, 33 population-scaled towns and 16 industries into an empty 64x64-tile Map Editor world. Creates a backup first and a unique map save. Poll tf3_map_import_status. Requires mapImportVersion 5 and its native widget. repairExistingTowns resumes the verified island checkpoint with 33 towns and zero industries. repairCargoNeeds fills missing commercial/industrial demands on the completed island with 16 industries.
{
"type": "object",
"properties": {
"repairExistingTowns": {
"type": "boolean",
"default": false
},
"repairCargoNeeds": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_map_import_statusRead
Read the queued or running map import job, failure, or verified completion. Does not start or retry imports.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_mapAction
Save the loaded Map Editor world to a uniquely named map in the Load Map namespace.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}tf3_statusRead
Inspect installed game, running process and companion mod. Does not prove bridge activation.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_launchAction
Launch installed Transport Fever 3 through Steam. No purchase or save loading.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_savesRead
List local save files by modification time.
{
"type": "object",
"properties": {
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_backup_saveAction
Copy a named save and its sidecars into a new unique local backup directory.
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_modsRead
List manually installed local game mods; does not prove activation in a save.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_game_snapshotRead
Read live player finances, simulation speed and time. Requires active AI MCP Bridge in a loaded world.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_start_company_gameAction
Save the completed loaded Lithuania editor map to a unique checkpoint and load it as a playable game. Preserves previous saves. A transition receipt is not proof of gameplay; poll tf3_game_snapshot until isMapEditor is false. Requires gameplayVersion 1.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_company_nameAction
Name the local player company in a playable game. Does not create extra players, change money or affect other companies.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_import_lithuaniaAction
Import Lithuania island terrain, 33 population-scaled towns and 16 industries into an empty 64x64-tile Map Editor world. Creates a backup first and a unique map save. Poll tf3_map_import_status. Requires mapImportVersion 5 and its native widget. repairExistingTowns resumes the verified island checkpoint with 33 towns and zero industries. repairCargoNeeds fills missing commercial/industrial demands on the completed island with 16 industries.
{
"type": "object",
"properties": {
"repairExistingTowns": {
"type": "boolean",
"default": false
},
"repairCargoNeeds": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_map_import_statusRead
Read the queued or running map import job, failure, or verified completion. Does not start or retry imports.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_mapAction
Save the loaded Map Editor world to a uniquely named map in the Load Map namespace.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}$",
"default": "Lietuva"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_entitiesRead
List lines, vehicles, stations, depots, towns or industries from the loaded world. Includes entity IDs for management.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"lines",
"vehicles",
"stations",
"depots",
"towns",
"industries"
]
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_speedAction
Set live simulation multiplier. 0 pauses; 1 resumes normal speed. Returns game command acknowledgement and observed speed.
{
"type": "object",
"properties": {
"speed": {
"type": "number",
"enum": [
0,
1,
2,
4
]
}
},
"required": [
"speed"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_rename_entityAction
Rename a player-owned line, vehicle, station or depot.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"entity",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_assign_vehicleAction
Assign a player-owned vehicle to a player-owned existing line. stopIndex is zero-based.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"line": {
"$ref": "#/properties/vehicle"
},
"stopIndex": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"required": [
"vehicle",
"line"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_stop_vehicleAction
Stop or resume a player-owned vehicle.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"stopped": {
"type": "boolean"
}
},
"required": [
"vehicle",
"stopped"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_send_vehicle_to_depotAction
Send a player-owned vehicle to its depot without selling it.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_gameAction
Create a uniquely named MCP save of the loaded world. No overwrite or save deletion.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}$",
"default": "checkpoint"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_load_saveAction
Checkpoint the loaded world, then request loading an exact listed game or map save. Requires an active world bridge; cannot operate from the main menu. Poll snapshot after transition.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
},
"asEditor": {
"type": "boolean",
"default": false
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_resourcesRead
Search loaded resource names and IDs for vehicles, streets, cargo or constructions. Availability and compatibility still require native validation.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"vehicles",
"streets",
"constructions",
"cargo"
]
},
"query": {
"type": "string",
"maxLength": 100,
"default": ""
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 30
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_entity_detailsRead
Read bounded fields needed to manage station groups, road nodes, lines, depots and vehicles.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
}
},
"required": [
"entity"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_create_lineAction
Create a line between owned stations. Indices are zero-based. Native validation decides route compatibility.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"type": "integer",
"minimum": 0
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"name",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_update_lineAction
Replace the stops and loading modes of an owned line, preserving its other settings.
{
"type": "object",
"properties": {
"line": {
"type": "integer",
"minimum": 0
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"$ref": "#/properties/line"
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"line",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_buy_vehicleAction
Quote or buy one vehicle/consist at an owned depot. Defaults to quote only. maxPrice limits the quoted purchase price; native game validates compatibility and funds.
{
"type": "object",
"properties": {
"depot": {
"type": "integer",
"minimum": 0
},
"models": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"minItems": 1,
"maxItems": 16
},
"maxPrice": {
"type": "number",
"minimum": 0
},
"purchase": {
"type": "boolean",
"default": false
}
},
"required": [
"depot",
"models",
"maxPrice"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_sell_vehicleAction
Send an owned vehicle to a depot and sell it on arrival. Sale may be delayed; acknowledgement is not proof of sale.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_roadAction
Preview geometry or construct a single straight surface road, 5–500 m. Existing endpoint node IDs allow connections. Does not split existing edges or build bridges/tunnels. Preview is a geometry/base-price estimate, not an engine collision or total-cost quote.
{
"type": "object",
"properties": {
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"template",
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_constructionAction
Preview specification or build a station/depot from the resource catalog. Native costs/collisions apply. Preview does not quote price. Does not automatically connect roads.
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"position": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"rotation": {
"type": "number",
"minimum": -3.141592653589793,
"maximum": 3.141592653589793,
"default": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"params": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 120
}
]
},
"propertyNames": {
"maxLength": 80
},
"default": {}
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"resource",
"position",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} quot;,
"default": "Lietuva"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_entitiesRead
List lines, vehicles, stations, depots, towns or industries from the loaded world. Includes entity IDs for management.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"lines",
"vehicles",
"stations",
"depots",
"towns",
"industries",
"stationGroups",
"roadNodes"
]
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_speedAction
Set live simulation multiplier. 0 pauses; 1 resumes normal speed. Returns game command acknowledgement and observed speed.
{
"type": "object",
"properties": {
"speed": {
"type": "number",
"enum": [
0,
1,
2,
4
]
}
},
"required": [
"speed"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_rename_entityAction
Rename a player-owned line, vehicle, station or depot.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"entity",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_assign_vehicleAction
Assign a player-owned vehicle to a player-owned existing line. stopIndex is zero-based.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"line": {
"$ref": "#/properties/vehicle"
},
"stopIndex": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"required": [
"vehicle",
"line"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_stop_vehicleAction
Stop or resume a player-owned vehicle.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"stopped": {
"type": "boolean"
}
},
"required": [
"vehicle",
"stopped"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_send_vehicle_to_depotAction
Send a player-owned vehicle to its depot without selling it.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_gameAction
Create a uniquely named MCP save of the loaded world. No overwrite or save deletion.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}tf3_statusRead
Inspect installed game, running process and companion mod. Does not prove bridge activation.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_launchAction
Launch installed Transport Fever 3 through Steam. No purchase or save loading.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_savesRead
List local save files by modification time.
{
"type": "object",
"properties": {
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_backup_saveAction
Copy a named save and its sidecars into a new unique local backup directory.
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_modsRead
List manually installed local game mods; does not prove activation in a save.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_game_snapshotRead
Read live player finances, simulation speed and time. Requires active AI MCP Bridge in a loaded world.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_start_company_gameAction
Save the completed loaded Lithuania editor map to a unique checkpoint and load it as a playable game. Preserves previous saves. A transition receipt is not proof of gameplay; poll tf3_game_snapshot until isMapEditor is false. Requires gameplayVersion 1.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_company_nameAction
Name the local player company in a playable game. Does not create extra players, change money or affect other companies.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_import_lithuaniaAction
Import Lithuania island terrain, 33 population-scaled towns and 16 industries into an empty 64x64-tile Map Editor world. Creates a backup first and a unique map save. Poll tf3_map_import_status. Requires mapImportVersion 5 and its native widget. repairExistingTowns resumes the verified island checkpoint with 33 towns and zero industries. repairCargoNeeds fills missing commercial/industrial demands on the completed island with 16 industries.
{
"type": "object",
"properties": {
"repairExistingTowns": {
"type": "boolean",
"default": false
},
"repairCargoNeeds": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_map_import_statusRead
Read the queued or running map import job, failure, or verified completion. Does not start or retry imports.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_mapAction
Save the loaded Map Editor world to a uniquely named map in the Load Map namespace.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}$",
"default": "Lietuva"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_entitiesRead
List lines, vehicles, stations, depots, towns or industries from the loaded world. Includes entity IDs for management.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"lines",
"vehicles",
"stations",
"depots",
"towns",
"industries"
]
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_speedAction
Set live simulation multiplier. 0 pauses; 1 resumes normal speed. Returns game command acknowledgement and observed speed.
{
"type": "object",
"properties": {
"speed": {
"type": "number",
"enum": [
0,
1,
2,
4
]
}
},
"required": [
"speed"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_rename_entityAction
Rename a player-owned line, vehicle, station or depot.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"entity",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_assign_vehicleAction
Assign a player-owned vehicle to a player-owned existing line. stopIndex is zero-based.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"line": {
"$ref": "#/properties/vehicle"
},
"stopIndex": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"required": [
"vehicle",
"line"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_stop_vehicleAction
Stop or resume a player-owned vehicle.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"stopped": {
"type": "boolean"
}
},
"required": [
"vehicle",
"stopped"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_send_vehicle_to_depotAction
Send a player-owned vehicle to its depot without selling it.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_gameAction
Create a uniquely named MCP save of the loaded world. No overwrite or save deletion.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}$",
"default": "checkpoint"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_load_saveAction
Checkpoint the loaded world, then request loading an exact listed game or map save. Requires an active world bridge; cannot operate from the main menu. Poll snapshot after transition.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
},
"asEditor": {
"type": "boolean",
"default": false
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_resourcesRead
Search loaded resource names and IDs for vehicles, streets, cargo or constructions. Availability and compatibility still require native validation.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"vehicles",
"streets",
"constructions",
"cargo"
]
},
"query": {
"type": "string",
"maxLength": 100,
"default": ""
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 30
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_entity_detailsRead
Read bounded fields needed to manage station groups, road nodes, lines, depots and vehicles.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
}
},
"required": [
"entity"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_create_lineAction
Create a line between owned stations. Indices are zero-based. Native validation decides route compatibility.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"type": "integer",
"minimum": 0
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"name",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_update_lineAction
Replace the stops and loading modes of an owned line, preserving its other settings.
{
"type": "object",
"properties": {
"line": {
"type": "integer",
"minimum": 0
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"$ref": "#/properties/line"
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"line",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_buy_vehicleAction
Quote or buy one vehicle/consist at an owned depot. Defaults to quote only. maxPrice limits the quoted purchase price; native game validates compatibility and funds.
{
"type": "object",
"properties": {
"depot": {
"type": "integer",
"minimum": 0
},
"models": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"minItems": 1,
"maxItems": 16
},
"maxPrice": {
"type": "number",
"minimum": 0
},
"purchase": {
"type": "boolean",
"default": false
}
},
"required": [
"depot",
"models",
"maxPrice"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_sell_vehicleAction
Send an owned vehicle to a depot and sell it on arrival. Sale may be delayed; acknowledgement is not proof of sale.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_roadAction
Preview geometry or construct a single straight surface road, 5–500 m. Existing endpoint node IDs allow connections. Does not split existing edges or build bridges/tunnels. Preview is a geometry/base-price estimate, not an engine collision or total-cost quote.
{
"type": "object",
"properties": {
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"template",
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_constructionAction
Preview specification or build a station/depot from the resource catalog. Native costs/collisions apply. Preview does not quote price. Does not automatically connect roads.
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"position": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"rotation": {
"type": "number",
"minimum": -3.141592653589793,
"maximum": 3.141592653589793,
"default": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"params": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 120
}
]
},
"propertyNames": {
"maxLength": 80
},
"default": {}
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"resource",
"position",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} quot;,
"default": "checkpoint"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_terrain_heightRead
Read terrain height at a world coordinate before placing infrastructure.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_load_saveAction
Checkpoint the loaded world, then request loading an exact listed game or map save. Requires an active world bridge; cannot operate from the main menu. Poll snapshot after transition.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
},
"asEditor": {
"type": "boolean",
"default": false
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_resourcesRead
Search loaded resource names and IDs for vehicles, streets, cargo or constructions. Availability and compatibility still require native validation.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"vehicles",
"streets",
"constructions",
"cargo"
]
},
"query": {
"type": "string",
"maxLength": 100,
"default": ""
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 30
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_entity_detailsRead
Read bounded fields needed to manage station groups, road nodes, lines, depots and vehicles.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
}
},
"required": [
"entity"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_create_lineAction
Create a line between owned stations. Indices are zero-based. Native validation decides route compatibility.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"type": "integer",
"minimum": 0
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"name",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_update_lineAction
Replace the stops and loading modes of an owned line, preserving its other settings.
{
"type": "object",
"properties": {
"line": {
"type": "integer",
"minimum": 0
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"$ref": "#/properties/line"
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"line",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_buy_vehicleAction
Quote or buy one vehicle/consist at an owned depot. Defaults to quote only. maxPrice limits the quoted purchase price; native game validates compatibility and funds.
{
"type": "object",
"properties": {
"depot": {
"type": "integer",
"minimum": 0
},
"models": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"minItems": 1,
"maxItems": 16
},
"maxPrice": {
"type": "number",
"minimum": 0
},
"purchase": {
"type": "boolean",
"default": false
}
},
"required": [
"depot",
"models",
"maxPrice"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_sell_vehicleAction
Send an owned vehicle to a depot and sell it on arrival. Sale may be delayed; acknowledgement is not proof of sale.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_roadAction
Preview geometry or construct a single straight surface road, 5–500 m. Existing endpoint node IDs allow connections. Does not split existing edges or build bridges/tunnels. Preview is a geometry/base-price estimate, not an engine collision or total-cost quote.
{
"type": "object",
"properties": {
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"template",
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_constructionAction
Preview specification or build a station/depot from the resource catalog. Native costs/collisions apply. Preview does not quote price. Does not automatically connect roads.
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"position": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"rotation": {
"type": "number",
"minimum": -3.141592653589793,
"maximum": 3.141592653589793,
"default": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"params": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 120
}
]
},
"propertyNames": {
"maxLength": 80
},
"default": {}
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"resource",
"position",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} quot;,
"default": "Lietuva"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_entitiesRead
List lines, vehicles, stations, depots, towns or industries from the loaded world. Includes entity IDs for management.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"lines",
"vehicles",
"stations",
"depots",
"towns",
"industries",
"stationGroups",
"roadNodes"
]
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_speedAction
Set live simulation multiplier. 0 pauses; 1 resumes normal speed. Returns game command acknowledgement and observed speed.
{
"type": "object",
"properties": {
"speed": {
"type": "number",
"enum": [
0,
1,
2,
4
]
}
},
"required": [
"speed"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_rename_entityAction
Rename a player-owned line, vehicle, station or depot.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"entity",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_assign_vehicleAction
Assign a player-owned vehicle to a player-owned existing line. stopIndex is zero-based.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"line": {
"$ref": "#/properties/vehicle"
},
"stopIndex": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"required": [
"vehicle",
"line"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_stop_vehicleAction
Stop or resume a player-owned vehicle.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"stopped": {
"type": "boolean"
}
},
"required": [
"vehicle",
"stopped"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_send_vehicle_to_depotAction
Send a player-owned vehicle to its depot without selling it.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_gameAction
Create a uniquely named MCP save of the loaded world. No overwrite or save deletion.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}tf3_statusRead
Inspect installed game, running process and companion mod. Does not prove bridge activation.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_launchAction
Launch installed Transport Fever 3 through Steam. No purchase or save loading.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_savesRead
List local save files by modification time.
{
"type": "object",
"properties": {
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_backup_saveAction
Copy a named save and its sidecars into a new unique local backup directory.
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_modsRead
List manually installed local game mods; does not prove activation in a save.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_game_snapshotRead
Read live player finances, simulation speed and time. Requires active AI MCP Bridge in a loaded world.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_start_company_gameAction
Save the completed loaded Lithuania editor map to a unique checkpoint and load it as a playable game. Preserves previous saves. A transition receipt is not proof of gameplay; poll tf3_game_snapshot until isMapEditor is false. Requires gameplayVersion 1.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_company_nameAction
Name the local player company in a playable game. Does not create extra players, change money or affect other companies.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_import_lithuaniaAction
Import Lithuania island terrain, 33 population-scaled towns and 16 industries into an empty 64x64-tile Map Editor world. Creates a backup first and a unique map save. Poll tf3_map_import_status. Requires mapImportVersion 5 and its native widget. repairExistingTowns resumes the verified island checkpoint with 33 towns and zero industries. repairCargoNeeds fills missing commercial/industrial demands on the completed island with 16 industries.
{
"type": "object",
"properties": {
"repairExistingTowns": {
"type": "boolean",
"default": false
},
"repairCargoNeeds": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_map_import_statusRead
Read the queued or running map import job, failure, or verified completion. Does not start or retry imports.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_mapAction
Save the loaded Map Editor world to a uniquely named map in the Load Map namespace.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}tf3_statusRead
Inspect installed game, running process and companion mod. Does not prove bridge activation.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_launchAction
Launch installed Transport Fever 3 through Steam. No purchase or save loading.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_savesRead
List local save files by modification time.
{
"type": "object",
"properties": {
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_backup_saveAction
Copy a named save and its sidecars into a new unique local backup directory.
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_modsRead
List manually installed local game mods; does not prove activation in a save.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_game_snapshotRead
Read live player finances, simulation speed and time. Requires active AI MCP Bridge in a loaded world.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_start_company_gameAction
Save the completed loaded Lithuania editor map to a unique checkpoint and load it as a playable game. Preserves previous saves. A transition receipt is not proof of gameplay; poll tf3_game_snapshot until isMapEditor is false. Requires gameplayVersion 1.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_company_nameAction
Name the local player company in a playable game. Does not create extra players, change money or affect other companies.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_import_lithuaniaAction
Import Lithuania island terrain, 33 population-scaled towns and 16 industries into an empty 64x64-tile Map Editor world. Creates a backup first and a unique map save. Poll tf3_map_import_status. Requires mapImportVersion 5 and its native widget. repairExistingTowns resumes the verified island checkpoint with 33 towns and zero industries. repairCargoNeeds fills missing commercial/industrial demands on the completed island with 16 industries.
{
"type": "object",
"properties": {
"repairExistingTowns": {
"type": "boolean",
"default": false
},
"repairCargoNeeds": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_map_import_statusRead
Read the queued or running map import job, failure, or verified completion. Does not start or retry imports.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_mapAction
Save the loaded Map Editor world to a uniquely named map in the Load Map namespace.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}$",
"default": "Lietuva"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_entitiesRead
List lines, vehicles, stations, depots, towns or industries from the loaded world. Includes entity IDs for management.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"lines",
"vehicles",
"stations",
"depots",
"towns",
"industries"
]
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_speedAction
Set live simulation multiplier. 0 pauses; 1 resumes normal speed. Returns game command acknowledgement and observed speed.
{
"type": "object",
"properties": {
"speed": {
"type": "number",
"enum": [
0,
1,
2,
4
]
}
},
"required": [
"speed"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_rename_entityAction
Rename a player-owned line, vehicle, station or depot.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"entity",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_assign_vehicleAction
Assign a player-owned vehicle to a player-owned existing line. stopIndex is zero-based.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"line": {
"$ref": "#/properties/vehicle"
},
"stopIndex": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"required": [
"vehicle",
"line"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_stop_vehicleAction
Stop or resume a player-owned vehicle.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"stopped": {
"type": "boolean"
}
},
"required": [
"vehicle",
"stopped"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_send_vehicle_to_depotAction
Send a player-owned vehicle to its depot without selling it.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_gameAction
Create a uniquely named MCP save of the loaded world. No overwrite or save deletion.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}$",
"default": "checkpoint"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_load_saveAction
Checkpoint the loaded world, then request loading an exact listed game or map save. Requires an active world bridge; cannot operate from the main menu. Poll snapshot after transition.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
},
"asEditor": {
"type": "boolean",
"default": false
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_resourcesRead
Search loaded resource names and IDs for vehicles, streets, cargo or constructions. Availability and compatibility still require native validation.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"vehicles",
"streets",
"constructions",
"cargo"
]
},
"query": {
"type": "string",
"maxLength": 100,
"default": ""
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 30
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_entity_detailsRead
Read bounded fields needed to manage station groups, road nodes, lines, depots and vehicles.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
}
},
"required": [
"entity"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_create_lineAction
Create a line between owned stations. Indices are zero-based. Native validation decides route compatibility.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"type": "integer",
"minimum": 0
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"name",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_update_lineAction
Replace the stops and loading modes of an owned line, preserving its other settings.
{
"type": "object",
"properties": {
"line": {
"type": "integer",
"minimum": 0
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"$ref": "#/properties/line"
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"line",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_buy_vehicleAction
Quote or buy one vehicle/consist at an owned depot. Defaults to quote only. maxPrice limits the quoted purchase price; native game validates compatibility and funds.
{
"type": "object",
"properties": {
"depot": {
"type": "integer",
"minimum": 0
},
"models": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"minItems": 1,
"maxItems": 16
},
"maxPrice": {
"type": "number",
"minimum": 0
},
"purchase": {
"type": "boolean",
"default": false
}
},
"required": [
"depot",
"models",
"maxPrice"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_sell_vehicleAction
Send an owned vehicle to a depot and sell it on arrival. Sale may be delayed; acknowledgement is not proof of sale.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_roadAction
Preview geometry or construct a single straight surface road, 5–500 m. Existing endpoint node IDs allow connections. Does not split existing edges or build bridges/tunnels. Preview is a geometry/base-price estimate, not an engine collision or total-cost quote.
{
"type": "object",
"properties": {
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"template",
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_constructionAction
Preview specification or build a station/depot from the resource catalog. Native costs/collisions apply. Preview does not quote price. Does not automatically connect roads.
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"position": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"rotation": {
"type": "number",
"minimum": -3.141592653589793,
"maximum": 3.141592653589793,
"default": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"params": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 120
}
]
},
"propertyNames": {
"maxLength": 80
},
"default": {}
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"resource",
"position",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} quot;,
"default": "Lietuva"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_entitiesRead
List lines, vehicles, stations, depots, towns or industries from the loaded world. Includes entity IDs for management.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"lines",
"vehicles",
"stations",
"depots",
"towns",
"industries",
"stationGroups",
"roadNodes"
]
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_speedAction
Set live simulation multiplier. 0 pauses; 1 resumes normal speed. Returns game command acknowledgement and observed speed.
{
"type": "object",
"properties": {
"speed": {
"type": "number",
"enum": [
0,
1,
2,
4
]
}
},
"required": [
"speed"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_rename_entityAction
Rename a player-owned line, vehicle, station or depot.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"entity",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_assign_vehicleAction
Assign a player-owned vehicle to a player-owned existing line. stopIndex is zero-based.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"line": {
"$ref": "#/properties/vehicle"
},
"stopIndex": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"required": [
"vehicle",
"line"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_stop_vehicleAction
Stop or resume a player-owned vehicle.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"stopped": {
"type": "boolean"
}
},
"required": [
"vehicle",
"stopped"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_send_vehicle_to_depotAction
Send a player-owned vehicle to its depot without selling it.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_gameAction
Create a uniquely named MCP save of the loaded world. No overwrite or save deletion.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}tf3_statusRead
Inspect installed game, running process and companion mod. Does not prove bridge activation.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_launchAction
Launch installed Transport Fever 3 through Steam. No purchase or save loading.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_savesRead
List local save files by modification time.
{
"type": "object",
"properties": {
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_backup_saveAction
Copy a named save and its sidecars into a new unique local backup directory.
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_modsRead
List manually installed local game mods; does not prove activation in a save.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_game_snapshotRead
Read live player finances, simulation speed and time. Requires active AI MCP Bridge in a loaded world.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_start_company_gameAction
Save the completed loaded Lithuania editor map to a unique checkpoint and load it as a playable game. Preserves previous saves. A transition receipt is not proof of gameplay; poll tf3_game_snapshot until isMapEditor is false. Requires gameplayVersion 1.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_company_nameAction
Name the local player company in a playable game. Does not create extra players, change money or affect other companies.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_import_lithuaniaAction
Import Lithuania island terrain, 33 population-scaled towns and 16 industries into an empty 64x64-tile Map Editor world. Creates a backup first and a unique map save. Poll tf3_map_import_status. Requires mapImportVersion 5 and its native widget. repairExistingTowns resumes the verified island checkpoint with 33 towns and zero industries. repairCargoNeeds fills missing commercial/industrial demands on the completed island with 16 industries.
{
"type": "object",
"properties": {
"repairExistingTowns": {
"type": "boolean",
"default": false
},
"repairCargoNeeds": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_map_import_statusRead
Read the queued or running map import job, failure, or verified completion. Does not start or retry imports.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_mapAction
Save the loaded Map Editor world to a uniquely named map in the Load Map namespace.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}$",
"default": "Lietuva"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_entitiesRead
List lines, vehicles, stations, depots, towns or industries from the loaded world. Includes entity IDs for management.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"lines",
"vehicles",
"stations",
"depots",
"towns",
"industries"
]
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_speedAction
Set live simulation multiplier. 0 pauses; 1 resumes normal speed. Returns game command acknowledgement and observed speed.
{
"type": "object",
"properties": {
"speed": {
"type": "number",
"enum": [
0,
1,
2,
4
]
}
},
"required": [
"speed"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_rename_entityAction
Rename a player-owned line, vehicle, station or depot.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"entity",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_assign_vehicleAction
Assign a player-owned vehicle to a player-owned existing line. stopIndex is zero-based.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"line": {
"$ref": "#/properties/vehicle"
},
"stopIndex": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"required": [
"vehicle",
"line"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_stop_vehicleAction
Stop or resume a player-owned vehicle.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"stopped": {
"type": "boolean"
}
},
"required": [
"vehicle",
"stopped"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_send_vehicle_to_depotAction
Send a player-owned vehicle to its depot without selling it.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_gameAction
Create a uniquely named MCP save of the loaded world. No overwrite or save deletion.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}$",
"default": "checkpoint"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_load_saveAction
Checkpoint the loaded world, then request loading an exact listed game or map save. Requires an active world bridge; cannot operate from the main menu. Poll snapshot after transition.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
},
"asEditor": {
"type": "boolean",
"default": false
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_resourcesRead
Search loaded resource names and IDs for vehicles, streets, cargo or constructions. Availability and compatibility still require native validation.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"vehicles",
"streets",
"constructions",
"cargo"
]
},
"query": {
"type": "string",
"maxLength": 100,
"default": ""
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 30
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_entity_detailsRead
Read bounded fields needed to manage station groups, road nodes, lines, depots and vehicles.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
}
},
"required": [
"entity"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_create_lineAction
Create a line between owned stations. Indices are zero-based. Native validation decides route compatibility.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"type": "integer",
"minimum": 0
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"name",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_update_lineAction
Replace the stops and loading modes of an owned line, preserving its other settings.
{
"type": "object",
"properties": {
"line": {
"type": "integer",
"minimum": 0
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"$ref": "#/properties/line"
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"line",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_buy_vehicleAction
Quote or buy one vehicle/consist at an owned depot. Defaults to quote only. maxPrice limits the quoted purchase price; native game validates compatibility and funds.
{
"type": "object",
"properties": {
"depot": {
"type": "integer",
"minimum": 0
},
"models": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"minItems": 1,
"maxItems": 16
},
"maxPrice": {
"type": "number",
"minimum": 0
},
"purchase": {
"type": "boolean",
"default": false
}
},
"required": [
"depot",
"models",
"maxPrice"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_sell_vehicleAction
Send an owned vehicle to a depot and sell it on arrival. Sale may be delayed; acknowledgement is not proof of sale.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_roadAction
Preview geometry or construct a single straight surface road, 5–500 m. Existing endpoint node IDs allow connections. Does not split existing edges or build bridges/tunnels. Preview is a geometry/base-price estimate, not an engine collision or total-cost quote.
{
"type": "object",
"properties": {
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"template",
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_constructionAction
Preview specification or build a station/depot from the resource catalog. Native costs/collisions apply. Preview does not quote price. Does not automatically connect roads.
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"position": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"rotation": {
"type": "number",
"minimum": -3.141592653589793,
"maximum": 3.141592653589793,
"default": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"params": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 120
}
]
},
"propertyNames": {
"maxLength": 80
},
"default": {}
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"resource",
"position",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} quot;,
"default": "checkpoint"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_terrain_heightRead
Read terrain height at a world coordinate before placing infrastructure.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_load_saveAction
Checkpoint the loaded world, then request loading an exact listed game or map save. Requires an active world bridge; cannot operate from the main menu. Poll snapshot after transition.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
},
"asEditor": {
"type": "boolean",
"default": false
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_resourcesRead
Search loaded resource names and IDs for vehicles, streets, cargo or constructions. Availability and compatibility still require native validation.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"vehicles",
"streets",
"constructions",
"cargo"
]
},
"query": {
"type": "string",
"maxLength": 100,
"default": ""
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 30
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_entity_detailsRead
Read bounded fields needed to manage station groups, road nodes, lines, depots and vehicles.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
}
},
"required": [
"entity"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_create_lineAction
Create a line between owned stations. Indices are zero-based. Native validation decides route compatibility.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"type": "integer",
"minimum": 0
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"name",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_update_lineAction
Replace the stops and loading modes of an owned line, preserving its other settings.
{
"type": "object",
"properties": {
"line": {
"type": "integer",
"minimum": 0
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"$ref": "#/properties/line"
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"line",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_buy_vehicleAction
Quote or buy one vehicle/consist at an owned depot. Defaults to quote only. maxPrice limits the quoted purchase price; native game validates compatibility and funds.
{
"type": "object",
"properties": {
"depot": {
"type": "integer",
"minimum": 0
},
"models": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"minItems": 1,
"maxItems": 16
},
"maxPrice": {
"type": "number",
"minimum": 0
},
"purchase": {
"type": "boolean",
"default": false
}
},
"required": [
"depot",
"models",
"maxPrice"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_sell_vehicleAction
Send an owned vehicle to a depot and sell it on arrival. Sale may be delayed; acknowledgement is not proof of sale.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_roadAction
Preview geometry or construct a single straight surface road, 5–500 m. Existing endpoint node IDs allow connections. Does not split existing edges or build bridges/tunnels. Preview is a geometry/base-price estimate, not an engine collision or total-cost quote.
{
"type": "object",
"properties": {
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"template",
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_constructionAction
Preview specification or build a station/depot from the resource catalog. Native costs/collisions apply. Preview does not quote price. Does not automatically connect roads.
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"position": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"rotation": {
"type": "number",
"minimum": -3.141592653589793,
"maximum": 3.141592653589793,
"default": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"params": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 120
}
]
},
"propertyNames": {
"maxLength": 80
},
"default": {}
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"resource",
"position",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} quot;,
"default": "checkpoint"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_terrain_heightRead
Read terrain height at a world coordinate before placing infrastructure.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_terrain_scanRead
Heights on a grid around a point (rows south to north, columns west to east). Shows land, water (below about 1.5) and steep cliffs in one call. Use before choosing depot, stop or road positions.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"radius": {
"type": "number",
"minimum": 40,
"maximum": 600,
"default": 200
},
"step": {
"type": "number",
"minimum": 10,
"maximum": 100,
"default": 40
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_plan_roadRead
Find a feasible road route over land between two points or free-end nodes: avoids water and steep slopes (A* over terrain heights). Returns waypoints to pass to tf3_build_road_path. Buildings are not known here: always preview the path afterwards and read its validation.
{
"type": "object",
"properties": {
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/from/properties/x"
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
},
"tx": {
"type": "number",
"minimum": -1,
"maximum": 1,
"description": "Optional road heading at this waypoint (unit x); tf3_plan_connect fills it"
},
"ty": {
"type": "number",
"minimum": -1,
"maximum": 1
}
},
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"maxGrade": {
"type": "number",
"minimum": 0.02,
"maximum": 0.2,
"default": 0.08
},
"step": {
"type": "number",
"minimum": 15,
"maximum": 100,
"default": 25
},
"margin": {
"type": "number",
"minimum": 100,
"maximum": 1500,
"default": 600
},
"thin": {
"type": "integer",
"minimum": 1,
"maximum": 8,
"default": 3
}
},
"required": [
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_plan_connectRead
Plan a road between two road ends (free-end nodes or points). Unlike tf3_plan_road it leaves and arrives along each free end's direction, keeps clear of existing roads and water, and smooths the result into up to 70 waypoints. Preview the result with tf3_build_road_path; or use tf3_connect_roads to plan, preview and build in one call.
{
"type": "object",
"properties": {
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/from/properties/x"
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
},
"tx": {
"type": "number",
"minimum": -1,
"maximum": 1,
"description": "Optional road heading at this waypoint (unit x); tf3_plan_connect fills it"
},
"ty": {
"type": "number",
"minimum": -1,
"maximum": 1
}
},
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"stub": {
"type": "number",
"minimum": 15,
"maximum": 120,
"default": 35
},
"clearance": {
"type": "number",
"minimum": 5,
"maximum": 60,
"default": 14
},
"step": {
"type": "number",
"minimum": 10,
"maximum": 60,
"default": 20
},
"maxGrade": {
"type": "number",
"minimum": 0.02,
"maximum": 0.3,
"default": 0.15
},
"spacing": {
"type": "number",
"minimum": 20,
"maximum": 120,
"default": 30
},
"margin": {
"type": "number",
"minimum": 100,
"maximum": 1500,
"default": 250
}
},
"required": [
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_connect_roadsAction
Join two road ends in one call: plans with tf3_plan_connect, previews each candidate with the game validator, tries several stub/clearance/step settings and builds the first accepted one when build=true. Returns the attempt log, so a failure shows what blocked each try. Default template country_old_small (two lanes). After building it rebuilds the join edge at each end with the existing road's template through the game's own segment replacement, which removes the red no-entry sign (set fixJoins=false to skip). Returns joins[] with what was replaced. Junctions are still refused: both ends must be free ends (canConnect=true).
{
"type": "object",
"properties": {
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/from/properties/x"
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
},
"tx": {
"type": "number",
"minimum": -1,
"maximum": 1,
"description": "Optional road heading at this waypoint (unit x); tf3_plan_connect fills it"
},
"ty": {
"type": "number",
"minimum": -1,
"maximum": 1
}
},
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240,
"default": "::/infrastructure/street/country/country_old_small.street_template"
},
"build": {
"type": "boolean",
"default": false
},
"allowWarnings": {
"type": "boolean",
"default": false
},
"fixJoins": {
"type": "boolean",
"default": true
},
"maxGrade": {
"type": "number",
"minimum": 0.02,
"maximum": 0.3,
"default": 0.15
},
"margin": {
"type": "number",
"minimum": 100,
"maximum": 1500,
"default": 250
}
},
"required": [
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_depot_nearAction
DEPRECATED, its depots cannot serve lines (use tf3_place_depot). Build a road depot at the first valid site near x,y: the game validator tries rings of positions and four rotations, so it skips buildings, cliffs and water. Returns the depot and its connection node (free end) to join with tf3_build_road_path. Costs about 500k.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"radius": {
"type": "number",
"minimum": 0,
"maximum": 300,
"default": 160
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"default": "Depot"
},
"resource": {
"type": "string",
"maxLength": 240
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_line_dumpRead
Read-only: every stop setting of a line (cargo config, waiting times, filters). Use to compare a line made in the game UI with one made through the bridge.
{
"type": "object",
"properties": {
"line": {
"type": "integer",
"minimum": 0
}
},
"required": [
"line"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_path_checkRead
Check whether two road nodes are on the same connected road network (topological: lane direction and turn bans are not tested). Use it before creating a line to confirm a join worked; tf3_line_status gives the game's own path verdict for a line.
{
"type": "object",
"properties": {
"from": {
"type": "integer",
"minimum": 0
},
"to": {
"$ref": "#/properties/from"
}
},
"required": [
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_buildings_nearRead
Read-only: town buildings (houses, shops, workplaces) near a point, with their footprint box. Roads cannot pass through them; stops need them within about 120 m.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"radius": {
"type": "number",
"minimum": 10,
"maximum": 1000,
"default": 150
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 40
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_suggest_stopsRead
Read-only: where to put bus stops. Lists road points (at least 12 m from junctions) ranked by the number of town buildings within catchment metres, spaced at least separation metres apart, with the road network they are on and whether your depots and stops are on that network. Give a town entity or x,y. Place stops at the top points with tf3_place_stop, on a network with networkMyDepots>0.
{
"type": "object",
"properties": {
"town": {
"type": "integer",
"minimum": 0
},
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"radius": {
"type": "number",
"minimum": 50,
"maximum": 3000,
"default": 400
},
"catchment": {
"type": "number",
"minimum": 30,
"maximum": 400,
"default": 120
},
"separation": {
"type": "number",
"minimum": 20,
"maximum": 2000,
"default": 120
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"default": 10
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_node_edgesRead
Read-only: the road edges that meet at a node, with street template and lane count. Use it to see which template a town street uses before joining it.
{
"type": "object",
"properties": {
"node": {
"type": "integer",
"minimum": 0
}
},
"required": [
"node"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_replace_segmentAction
Rebuild one road edge with the game's own segment replacement (the Replace Road tool), optionally with another street template. Fixes a red no-entry sign at a join: replace the new edge touching the joined node with the template of the existing road there. tf3_connect_roads does this automatically after a build.
{
"type": "object",
"properties": {
"edge": {
"type": "integer",
"minimum": 0
},
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"edge"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_network_summaryRead
Read-only survey: every connected road network with edge count, bounding box, towns inside, industries attached, street templates and your stops/depots on it. Run it first: two places on one network need only stops, a depot and a line, no new road.
{
"type": "object",
"properties": {
"minEdges": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"default": 3
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 40
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_industry_statusRead
Read-only: industries with type, input and output cargo, output/shipped/delivered per year, road connection node and road network. Omit entity for all.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_line_statusRead
Read-only line diagnostics with the Line Manager figures: per line balance over the last game year, passengers transported per year, utilisation; per stop the town buildings in catchment and passengers waiting; per vehicle state, position, passengers and stop index; the game's path problems. Omit line for all your lines. Check it two game months after opening a line: catchables 0 or utilisation 0 means move the stops.
{
"type": "object",
"properties": {
"line": {
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_load_saveAction
Checkpoint the loaded world, then request loading an exact listed game or map save. Requires an active world bridge; cannot operate from the main menu. Poll snapshot after transition.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
},
"asEditor": {
"type": "boolean",
"default": false
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_resourcesRead
Search loaded resource names and IDs for vehicles, streets, cargo or constructions. Availability and compatibility still require native validation.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"vehicles",
"streets",
"constructions",
"cargo",
"stops"
]
},
"query": {
"type": "string",
"maxLength": 100,
"default": ""
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 30
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_entity_detailsRead
Read bounded fields needed to manage station groups, road nodes, lines, depots and vehicles.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
}
},
"required": [
"entity"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_create_lineAction
Create a line between owned stations. Indices are zero-based. Native validation decides route compatibility.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"type": "integer",
"minimum": 0
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
},
"cargo": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 20,
"default": [
"PASSENGERS"
],
"description": "Cargo type names this stop loads: PASSENGERS for buses, a cargo name such as COAL for trucks, or [\"ALL\"]"
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"name",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_update_lineAction
Replace the stops and loading modes of an owned line, preserving its other settings.
{
"type": "object",
"properties": {
"line": {
"type": "integer",
"minimum": 0
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"$ref": "#/properties/line"
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
},
"cargo": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 20,
"default": [
"PASSENGERS"
],
"description": "Cargo type names this stop loads: PASSENGERS for buses, a cargo name such as COAL for trucks, or [\"ALL\"]"
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"line",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_buy_vehicleAction
Quote or buy one vehicle/consist at an owned depot. Defaults to quote only. maxPrice limits the quoted purchase price; native game validates compatibility and funds.
{
"type": "object",
"properties": {
"depot": {
"type": "integer",
"minimum": 0
},
"models": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"minItems": 1,
"maxItems": 16
},
"maxPrice": {
"type": "number",
"minimum": 0
},
"purchase": {
"type": "boolean",
"default": false
}
},
"required": [
"depot",
"models",
"maxPrice"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_loansRead
List the bank loans the game currently offers and the loans the company holds, with amounts, terms and interest.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_take_loanAction
Take one bank loan offered by the native finance system (max 4 held). maxAmount rejects a larger offer. Acknowledgement is not proof: read tf3_loans or the snapshot balance afterwards.
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Small",
"Medium",
"Large",
"ExtraLarge"
]
},
"maxAmount": {
"type": "integer",
"minimum": 0
}
},
"required": [
"type",
"maxAmount"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_repay_loanAction
Repay one held loan in full if the balance covers it. Confirm with tf3_loans afterwards.
{
"type": "object",
"properties": {
"loan": {
"type": "integer",
"minimum": 0
}
},
"required": [
"loan"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_sell_vehicleAction
Send an owned vehicle to a depot and sell it on arrival. Sale may be delayed; acknowledgement is not proof of sale.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_roadAction
Preview or build one road between two points (5-500 m). Points are an existing node {node} or {x,y[,z]} (z defaults to ground). Only free ends (nodes joining fewer than 2 roads) can be connected: junctions are refused because they crash this game build. At a free end the road continues in the stub direction, which is what stations and depots need. snap (m) attaches a point to the nearest free end within that distance. Rejections return the game reason and cost.
{
"type": "object",
"properties": {
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/from/properties/x"
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
},
"tx": {
"type": "number",
"minimum": -1,
"maximum": 1,
"description": "Optional road heading at this waypoint (unit x); tf3_plan_connect fills it"
},
"ty": {
"type": "number",
"minimum": -1,
"maximum": 1
}
},
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"snap": {
"type": "number",
"minimum": 0,
"maximum": 100,
"default": 0
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"template",
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_road_pathAction
Preview or build a smooth multi-segment road through 2-80 points in one atomic proposal (each segment 5-500 m). Use waypoints to curve around towns, rivers and slopes. Same point and free-end rules as tf3_build_road. Optional stops (EXPERIMENTAL, the game accepts them but creates no stop on build 40425) place street bus/truck stops on the new segments (segment is 1-based, param 0.1-0.9 along it; models from tf3_resources kind=stops); a stop on your own road is connected by construction. Returns the new road nodes with their free ends.
{
"type": "object",
"properties": {
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"points": {
"type": "array",
"items": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/points/items/properties/x"
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
},
"tx": {
"type": "number",
"minimum": -1,
"maximum": 1,
"description": "Optional road heading at this waypoint (unit x); tf3_plan_connect fills it"
},
"ty": {
"type": "number",
"minimum": -1,
"maximum": 1
}
},
"additionalProperties": false
},
"minItems": 2,
"maxItems": 80
},
"snap": {
"type": "number",
"minimum": 0,
"maximum": 100,
"default": 0
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"segment": {
"type": "integer",
"minimum": 1
},
"param": {
"type": "number",
"minimum": 0.1,
"maximum": 0.9,
"default": 0.5
},
"left": {
"type": "boolean",
"default": false
},
"model": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"segment",
"model"
],
"additionalProperties": false
},
"maxItems": 8,
"default": []
},
"stopIdMode": {
"type": "string",
"enum": [
"index",
"shared",
"none"
]
},
"build": {
"type": "boolean",
"default": false
},
"allowWarnings": {
"type": "boolean",
"default": false
}
},
"required": [
"template",
"points"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_road_network_nearRead
List road nodes within a radius of a point, nearest first: position, how many roads join there, whether it is a free end you may connect to (canConnect) and its outward direction. Use before every road build.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"radius": {
"type": "number",
"minimum": 10,
"maximum": 2000,
"default": 300
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 80,
"default": 40
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_game_overviewRead
One-call state for planning: year, balance, loan, your station groups (with station indices and positions), depots, lines, vehicles, and every town and industry with position and type. Prefer this over many list calls.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_place_stopAction
Place a street stop (bus/truck stop) ON an existing road at x,y using the game's own stop tool, operated through computer use. The point must lie on a road you or the town built, at least 10 m from a junction or road end. Slow (about 1-3 minutes); the call waits for the operator. Returns the new stationGroup to use in lines, or a reason it could not be placed.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"cargo": {
"type": "boolean",
"default": false
}
},
"required": [
"x",
"y",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_place_depotAction
Place a road depot with the game's own depot tool, operated through computer use. Scripted depots (tf3_build_depot_near, tf3_build_construction) are NOT connected to the road for vehicle routing: vehicles bought there cannot be assigned to lines. Pick open flat ground right beside a road you built (the depot entrance must touch the road side). Slow (1-3 minutes); the call waits for the operator. Returns the new depot entity, or a reason.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"default": "Depot"
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_cameraRead
Move the player camera to a map position so humans watching can see the work. Does not change the world.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"distance": {
"type": "number",
"minimum": 20,
"maximum": 3000,
"default": 250
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_stationAction
EXPERIMENTAL, not working on TF3 build 40425: the game accepts the request but creates no station. Preview or build a road station that works with lines: a modular street terminal with platforms and an entrance (passenger by default, cargo=true for trucks). Place it on open ground beside a town or next to an industry, then call tf3_road_network_near at its position to find its road stubs and connect them. Use this instead of small street stops, which this bridge cannot place.
{
"type": "object",
"properties": {
"position": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/position/properties/x"
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"rotation": {
"type": "number",
"minimum": -3.141592653589793,
"maximum": 3.141592653589793,
"default": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"cargo": {
"type": "boolean",
"default": false
},
"platforms": {
"type": "integer",
"minimum": 1,
"maximum": 2,
"default": 1
},
"nameStyle": {
"type": "string",
"enum": [
"full",
"plain",
"short"
]
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"position",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_constructionAction
Preview specification or build a station/depot from the resource catalog. Native costs/collisions apply. Preview does not quote price. Does not automatically connect roads.
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"position": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/position/properties/x"
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"rotation": {
"type": "number",
"minimum": -3.141592653589793,
"maximum": 3.141592653589793,
"default": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"params": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 120
}
]
},
"propertyNames": {
"maxLength": 80
},
"default": {}
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"resource",
"position",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_game_rulesRead
How the game works for an AI player: what a working service needs, money and loans, vehicle years, the proven road-building recipe, this bridge’s limits (no junctions) and efficient play. Read once at the start.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
} quot;,
"default": "Lietuva"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_entitiesRead
List lines, vehicles, stations, depots, towns or industries from the loaded world. Includes entity IDs for management.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"lines",
"vehicles",
"stations",
"depots",
"towns",
"industries",
"stationGroups",
"roadNodes"
]
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_speedAction
Set live simulation multiplier. 0 pauses; 1 resumes normal speed. Returns game command acknowledgement and observed speed.
{
"type": "object",
"properties": {
"speed": {
"type": "number",
"enum": [
0,
1,
2,
4
]
}
},
"required": [
"speed"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_rename_entityAction
Rename a player-owned line, vehicle, station or depot.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"entity",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_assign_vehicleAction
Assign a player-owned vehicle to a player-owned existing line. stopIndex is zero-based.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"line": {
"$ref": "#/properties/vehicle"
},
"stopIndex": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"required": [
"vehicle",
"line"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_stop_vehicleAction
Stop or resume a player-owned vehicle.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"stopped": {
"type": "boolean"
}
},
"required": [
"vehicle",
"stopped"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_send_vehicle_to_depotAction
Send a player-owned vehicle to its depot without selling it.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_gameAction
Create a uniquely named MCP save of the loaded world. No overwrite or save deletion.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}tf3_statusRead
Inspect installed game, running process and companion mod. Does not prove bridge activation.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_launchAction
Launch installed Transport Fever 3 through Steam. No purchase or save loading.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_savesRead
List local save files by modification time.
{
"type": "object",
"properties": {
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_backup_saveAction
Copy a named save and its sidecars into a new unique local backup directory.
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_modsRead
List manually installed local game mods; does not prove activation in a save.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_game_snapshotRead
Read live player finances, simulation speed and time. Requires active AI MCP Bridge in a loaded world.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_start_company_gameAction
Save the completed loaded Lithuania editor map to a unique checkpoint and load it as a playable game. Preserves previous saves. A transition receipt is not proof of gameplay; poll tf3_game_snapshot until isMapEditor is false. Requires gameplayVersion 1.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_company_nameAction
Name the local player company in a playable game. Does not create extra players, change money or affect other companies.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_import_lithuaniaAction
Import Lithuania island terrain, 33 population-scaled towns and 16 industries into an empty 64x64-tile Map Editor world. Creates a backup first and a unique map save. Poll tf3_map_import_status. Requires mapImportVersion 5 and its native widget. repairExistingTowns resumes the verified island checkpoint with 33 towns and zero industries. repairCargoNeeds fills missing commercial/industrial demands on the completed island with 16 industries.
{
"type": "object",
"properties": {
"repairExistingTowns": {
"type": "boolean",
"default": false
},
"repairCargoNeeds": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_map_import_statusRead
Read the queued or running map import job, failure, or verified completion. Does not start or retry imports.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_mapAction
Save the loaded Map Editor world to a uniquely named map in the Load Map namespace.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}tf3_statusRead
Inspect installed game, running process and companion mod. Does not prove bridge activation.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_launchAction
Launch installed Transport Fever 3 through Steam. No purchase or save loading.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_savesRead
List local save files by modification time.
{
"type": "object",
"properties": {
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_backup_saveAction
Copy a named save and its sidecars into a new unique local backup directory.
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_modsRead
List manually installed local game mods; does not prove activation in a save.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_game_snapshotRead
Read live player finances, simulation speed and time. Requires active AI MCP Bridge in a loaded world.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_start_company_gameAction
Save the completed loaded Lithuania editor map to a unique checkpoint and load it as a playable game. Preserves previous saves. A transition receipt is not proof of gameplay; poll tf3_game_snapshot until isMapEditor is false. Requires gameplayVersion 1.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_company_nameAction
Name the local player company in a playable game. Does not create extra players, change money or affect other companies.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_import_lithuaniaAction
Import Lithuania island terrain, 33 population-scaled towns and 16 industries into an empty 64x64-tile Map Editor world. Creates a backup first and a unique map save. Poll tf3_map_import_status. Requires mapImportVersion 5 and its native widget. repairExistingTowns resumes the verified island checkpoint with 33 towns and zero industries. repairCargoNeeds fills missing commercial/industrial demands on the completed island with 16 industries.
{
"type": "object",
"properties": {
"repairExistingTowns": {
"type": "boolean",
"default": false
},
"repairCargoNeeds": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_map_import_statusRead
Read the queued or running map import job, failure, or verified completion. Does not start or retry imports.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_mapAction
Save the loaded Map Editor world to a uniquely named map in the Load Map namespace.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}tf3_statusRead
Inspect installed game, running process and companion mod. Does not prove bridge activation.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_launchAction
Launch installed Transport Fever 3 through Steam. No purchase or save loading.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_savesRead
List local save files by modification time.
{
"type": "object",
"properties": {
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_backup_saveAction
Copy a named save and its sidecars into a new unique local backup directory.
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_modsRead
List manually installed local game mods; does not prove activation in a save.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_game_snapshotRead
Read live player finances, simulation speed and time. Requires active AI MCP Bridge in a loaded world.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_start_company_gameAction
Save the completed loaded Lithuania editor map to a unique checkpoint and load it as a playable game. Preserves previous saves. A transition receipt is not proof of gameplay; poll tf3_game_snapshot until isMapEditor is false. Requires gameplayVersion 1.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_company_nameAction
Name the local player company in a playable game. Does not create extra players, change money or affect other companies.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_import_lithuaniaAction
Import Lithuania island terrain, 33 population-scaled towns and 16 industries into an empty 64x64-tile Map Editor world. Creates a backup first and a unique map save. Poll tf3_map_import_status. Requires mapImportVersion 5 and its native widget. repairExistingTowns resumes the verified island checkpoint with 33 towns and zero industries. repairCargoNeeds fills missing commercial/industrial demands on the completed island with 16 industries.
{
"type": "object",
"properties": {
"repairExistingTowns": {
"type": "boolean",
"default": false
},
"repairCargoNeeds": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_map_import_statusRead
Read the queued or running map import job, failure, or verified completion. Does not start or retry imports.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_mapAction
Save the loaded Map Editor world to a uniquely named map in the Load Map namespace.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}$",
"default": "Lietuva"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_entitiesRead
List lines, vehicles, stations, depots, towns or industries from the loaded world. Includes entity IDs for management.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"lines",
"vehicles",
"stations",
"depots",
"towns",
"industries"
]
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_speedAction
Set live simulation multiplier. 0 pauses; 1 resumes normal speed. Returns game command acknowledgement and observed speed.
{
"type": "object",
"properties": {
"speed": {
"type": "number",
"enum": [
0,
1,
2,
4
]
}
},
"required": [
"speed"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_rename_entityAction
Rename a player-owned line, vehicle, station or depot.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"entity",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_assign_vehicleAction
Assign a player-owned vehicle to a player-owned existing line. stopIndex is zero-based.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"line": {
"$ref": "#/properties/vehicle"
},
"stopIndex": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"required": [
"vehicle",
"line"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_stop_vehicleAction
Stop or resume a player-owned vehicle.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"stopped": {
"type": "boolean"
}
},
"required": [
"vehicle",
"stopped"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_send_vehicle_to_depotAction
Send a player-owned vehicle to its depot without selling it.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_gameAction
Create a uniquely named MCP save of the loaded world. No overwrite or save deletion.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}$",
"default": "checkpoint"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_load_saveAction
Checkpoint the loaded world, then request loading an exact listed game or map save. Requires an active world bridge; cannot operate from the main menu. Poll snapshot after transition.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
},
"asEditor": {
"type": "boolean",
"default": false
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_resourcesRead
Search loaded resource names and IDs for vehicles, streets, cargo or constructions. Availability and compatibility still require native validation.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"vehicles",
"streets",
"constructions",
"cargo"
]
},
"query": {
"type": "string",
"maxLength": 100,
"default": ""
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 30
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_entity_detailsRead
Read bounded fields needed to manage station groups, road nodes, lines, depots and vehicles.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
}
},
"required": [
"entity"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_create_lineAction
Create a line between owned stations. Indices are zero-based. Native validation decides route compatibility.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"type": "integer",
"minimum": 0
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"name",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_update_lineAction
Replace the stops and loading modes of an owned line, preserving its other settings.
{
"type": "object",
"properties": {
"line": {
"type": "integer",
"minimum": 0
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"$ref": "#/properties/line"
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"line",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_buy_vehicleAction
Quote or buy one vehicle/consist at an owned depot. Defaults to quote only. maxPrice limits the quoted purchase price; native game validates compatibility and funds.
{
"type": "object",
"properties": {
"depot": {
"type": "integer",
"minimum": 0
},
"models": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"minItems": 1,
"maxItems": 16
},
"maxPrice": {
"type": "number",
"minimum": 0
},
"purchase": {
"type": "boolean",
"default": false
}
},
"required": [
"depot",
"models",
"maxPrice"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_sell_vehicleAction
Send an owned vehicle to a depot and sell it on arrival. Sale may be delayed; acknowledgement is not proof of sale.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_roadAction
Preview geometry or construct a single straight surface road, 5–500 m. Existing endpoint node IDs allow connections. Does not split existing edges or build bridges/tunnels. Preview is a geometry/base-price estimate, not an engine collision or total-cost quote.
{
"type": "object",
"properties": {
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"template",
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_constructionAction
Preview specification or build a station/depot from the resource catalog. Native costs/collisions apply. Preview does not quote price. Does not automatically connect roads.
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"position": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"rotation": {
"type": "number",
"minimum": -3.141592653589793,
"maximum": 3.141592653589793,
"default": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"params": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 120
}
]
},
"propertyNames": {
"maxLength": 80
},
"default": {}
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"resource",
"position",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} quot;,
"default": "Lietuva"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_entitiesRead
List lines, vehicles, stations, depots, towns or industries from the loaded world. Includes entity IDs for management.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"lines",
"vehicles",
"stations",
"depots",
"towns",
"industries",
"stationGroups",
"roadNodes"
]
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_speedAction
Set live simulation multiplier. 0 pauses; 1 resumes normal speed. Returns game command acknowledgement and observed speed.
{
"type": "object",
"properties": {
"speed": {
"type": "number",
"enum": [
0,
1,
2,
4
]
}
},
"required": [
"speed"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_rename_entityAction
Rename a player-owned line, vehicle, station or depot.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"entity",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_assign_vehicleAction
Assign a player-owned vehicle to a player-owned existing line. stopIndex is zero-based.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"line": {
"$ref": "#/properties/vehicle"
},
"stopIndex": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"required": [
"vehicle",
"line"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_stop_vehicleAction
Stop or resume a player-owned vehicle.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"stopped": {
"type": "boolean"
}
},
"required": [
"vehicle",
"stopped"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_send_vehicle_to_depotAction
Send a player-owned vehicle to its depot without selling it.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_gameAction
Create a uniquely named MCP save of the loaded world. No overwrite or save deletion.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}tf3_statusRead
Inspect installed game, running process and companion mod. Does not prove bridge activation.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_launchAction
Launch installed Transport Fever 3 through Steam. No purchase or save loading.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_savesRead
List local save files by modification time.
{
"type": "object",
"properties": {
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_backup_saveAction
Copy a named save and its sidecars into a new unique local backup directory.
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_modsRead
List manually installed local game mods; does not prove activation in a save.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_game_snapshotRead
Read live player finances, simulation speed and time. Requires active AI MCP Bridge in a loaded world.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_start_company_gameAction
Save the completed loaded Lithuania editor map to a unique checkpoint and load it as a playable game. Preserves previous saves. A transition receipt is not proof of gameplay; poll tf3_game_snapshot until isMapEditor is false. Requires gameplayVersion 1.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_company_nameAction
Name the local player company in a playable game. Does not create extra players, change money or affect other companies.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_import_lithuaniaAction
Import Lithuania island terrain, 33 population-scaled towns and 16 industries into an empty 64x64-tile Map Editor world. Creates a backup first and a unique map save. Poll tf3_map_import_status. Requires mapImportVersion 5 and its native widget. repairExistingTowns resumes the verified island checkpoint with 33 towns and zero industries. repairCargoNeeds fills missing commercial/industrial demands on the completed island with 16 industries.
{
"type": "object",
"properties": {
"repairExistingTowns": {
"type": "boolean",
"default": false
},
"repairCargoNeeds": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_map_import_statusRead
Read the queued or running map import job, failure, or verified completion. Does not start or retry imports.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_mapAction
Save the loaded Map Editor world to a uniquely named map in the Load Map namespace.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}$",
"default": "Lietuva"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_entitiesRead
List lines, vehicles, stations, depots, towns or industries from the loaded world. Includes entity IDs for management.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"lines",
"vehicles",
"stations",
"depots",
"towns",
"industries"
]
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_speedAction
Set live simulation multiplier. 0 pauses; 1 resumes normal speed. Returns game command acknowledgement and observed speed.
{
"type": "object",
"properties": {
"speed": {
"type": "number",
"enum": [
0,
1,
2,
4
]
}
},
"required": [
"speed"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_rename_entityAction
Rename a player-owned line, vehicle, station or depot.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"entity",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_assign_vehicleAction
Assign a player-owned vehicle to a player-owned existing line. stopIndex is zero-based.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"line": {
"$ref": "#/properties/vehicle"
},
"stopIndex": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"required": [
"vehicle",
"line"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_stop_vehicleAction
Stop or resume a player-owned vehicle.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"stopped": {
"type": "boolean"
}
},
"required": [
"vehicle",
"stopped"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_send_vehicle_to_depotAction
Send a player-owned vehicle to its depot without selling it.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_gameAction
Create a uniquely named MCP save of the loaded world. No overwrite or save deletion.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}$",
"default": "checkpoint"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_load_saveAction
Checkpoint the loaded world, then request loading an exact listed game or map save. Requires an active world bridge; cannot operate from the main menu. Poll snapshot after transition.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
},
"asEditor": {
"type": "boolean",
"default": false
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_resourcesRead
Search loaded resource names and IDs for vehicles, streets, cargo or constructions. Availability and compatibility still require native validation.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"vehicles",
"streets",
"constructions",
"cargo"
]
},
"query": {
"type": "string",
"maxLength": 100,
"default": ""
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 30
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_entity_detailsRead
Read bounded fields needed to manage station groups, road nodes, lines, depots and vehicles.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
}
},
"required": [
"entity"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_create_lineAction
Create a line between owned stations. Indices are zero-based. Native validation decides route compatibility.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"type": "integer",
"minimum": 0
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"name",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_update_lineAction
Replace the stops and loading modes of an owned line, preserving its other settings.
{
"type": "object",
"properties": {
"line": {
"type": "integer",
"minimum": 0
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"$ref": "#/properties/line"
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"line",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_buy_vehicleAction
Quote or buy one vehicle/consist at an owned depot. Defaults to quote only. maxPrice limits the quoted purchase price; native game validates compatibility and funds.
{
"type": "object",
"properties": {
"depot": {
"type": "integer",
"minimum": 0
},
"models": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"minItems": 1,
"maxItems": 16
},
"maxPrice": {
"type": "number",
"minimum": 0
},
"purchase": {
"type": "boolean",
"default": false
}
},
"required": [
"depot",
"models",
"maxPrice"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_sell_vehicleAction
Send an owned vehicle to a depot and sell it on arrival. Sale may be delayed; acknowledgement is not proof of sale.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_roadAction
Preview geometry or construct a single straight surface road, 5–500 m. Existing endpoint node IDs allow connections. Does not split existing edges or build bridges/tunnels. Preview is a geometry/base-price estimate, not an engine collision or total-cost quote.
{
"type": "object",
"properties": {
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"template",
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_constructionAction
Preview specification or build a station/depot from the resource catalog. Native costs/collisions apply. Preview does not quote price. Does not automatically connect roads.
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"position": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"rotation": {
"type": "number",
"minimum": -3.141592653589793,
"maximum": 3.141592653589793,
"default": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"params": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 120
}
]
},
"propertyNames": {
"maxLength": 80
},
"default": {}
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"resource",
"position",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} quot;,
"default": "checkpoint"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_terrain_heightRead
Read terrain height at a world coordinate before placing infrastructure.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_load_saveAction
Checkpoint the loaded world, then request loading an exact listed game or map save. Requires an active world bridge; cannot operate from the main menu. Poll snapshot after transition.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
},
"asEditor": {
"type": "boolean",
"default": false
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_resourcesRead
Search loaded resource names and IDs for vehicles, streets, cargo or constructions. Availability and compatibility still require native validation.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"vehicles",
"streets",
"constructions",
"cargo"
]
},
"query": {
"type": "string",
"maxLength": 100,
"default": ""
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 30
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_entity_detailsRead
Read bounded fields needed to manage station groups, road nodes, lines, depots and vehicles.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
}
},
"required": [
"entity"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_create_lineAction
Create a line between owned stations. Indices are zero-based. Native validation decides route compatibility.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"type": "integer",
"minimum": 0
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"name",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_update_lineAction
Replace the stops and loading modes of an owned line, preserving its other settings.
{
"type": "object",
"properties": {
"line": {
"type": "integer",
"minimum": 0
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"$ref": "#/properties/line"
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"line",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_buy_vehicleAction
Quote or buy one vehicle/consist at an owned depot. Defaults to quote only. maxPrice limits the quoted purchase price; native game validates compatibility and funds.
{
"type": "object",
"properties": {
"depot": {
"type": "integer",
"minimum": 0
},
"models": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"minItems": 1,
"maxItems": 16
},
"maxPrice": {
"type": "number",
"minimum": 0
},
"purchase": {
"type": "boolean",
"default": false
}
},
"required": [
"depot",
"models",
"maxPrice"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_sell_vehicleAction
Send an owned vehicle to a depot and sell it on arrival. Sale may be delayed; acknowledgement is not proof of sale.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_roadAction
Preview geometry or construct a single straight surface road, 5–500 m. Existing endpoint node IDs allow connections. Does not split existing edges or build bridges/tunnels. Preview is a geometry/base-price estimate, not an engine collision or total-cost quote.
{
"type": "object",
"properties": {
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"template",
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_constructionAction
Preview specification or build a station/depot from the resource catalog. Native costs/collisions apply. Preview does not quote price. Does not automatically connect roads.
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"position": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"rotation": {
"type": "number",
"minimum": -3.141592653589793,
"maximum": 3.141592653589793,
"default": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"params": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 120
}
]
},
"propertyNames": {
"maxLength": 80
},
"default": {}
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"resource",
"position",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} quot;,
"default": "Lietuva"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_entitiesRead
List lines, vehicles, stations, depots, towns or industries from the loaded world. Includes entity IDs for management.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"lines",
"vehicles",
"stations",
"depots",
"towns",
"industries",
"stationGroups",
"roadNodes"
]
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_speedAction
Set live simulation multiplier. 0 pauses; 1 resumes normal speed. Returns game command acknowledgement and observed speed.
{
"type": "object",
"properties": {
"speed": {
"type": "number",
"enum": [
0,
1,
2,
4
]
}
},
"required": [
"speed"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_rename_entityAction
Rename a player-owned line, vehicle, station or depot.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"entity",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_assign_vehicleAction
Assign a player-owned vehicle to a player-owned existing line. stopIndex is zero-based.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"line": {
"$ref": "#/properties/vehicle"
},
"stopIndex": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"required": [
"vehicle",
"line"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_stop_vehicleAction
Stop or resume a player-owned vehicle.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"stopped": {
"type": "boolean"
}
},
"required": [
"vehicle",
"stopped"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_send_vehicle_to_depotAction
Send a player-owned vehicle to its depot without selling it.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_gameAction
Create a uniquely named MCP save of the loaded world. No overwrite or save deletion.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}tf3_statusRead
Inspect installed game, running process and companion mod. Does not prove bridge activation.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_launchAction
Launch installed Transport Fever 3 through Steam. No purchase or save loading.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_savesRead
List local save files by modification time.
{
"type": "object",
"properties": {
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_backup_saveAction
Copy a named save and its sidecars into a new unique local backup directory.
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_modsRead
List manually installed local game mods; does not prove activation in a save.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_game_snapshotRead
Read live player finances, simulation speed and time. Requires active AI MCP Bridge in a loaded world.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_start_company_gameAction
Save the completed loaded Lithuania editor map to a unique checkpoint and load it as a playable game. Preserves previous saves. A transition receipt is not proof of gameplay; poll tf3_game_snapshot until isMapEditor is false. Requires gameplayVersion 1.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_company_nameAction
Name the local player company in a playable game. Does not create extra players, change money or affect other companies.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_import_lithuaniaAction
Import Lithuania island terrain, 33 population-scaled towns and 16 industries into an empty 64x64-tile Map Editor world. Creates a backup first and a unique map save. Poll tf3_map_import_status. Requires mapImportVersion 5 and its native widget. repairExistingTowns resumes the verified island checkpoint with 33 towns and zero industries. repairCargoNeeds fills missing commercial/industrial demands on the completed island with 16 industries.
{
"type": "object",
"properties": {
"repairExistingTowns": {
"type": "boolean",
"default": false
},
"repairCargoNeeds": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_map_import_statusRead
Read the queued or running map import job, failure, or verified completion. Does not start or retry imports.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_mapAction
Save the loaded Map Editor world to a uniquely named map in the Load Map namespace.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}tf3_statusRead
Inspect installed game, running process and companion mod. Does not prove bridge activation.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_launchAction
Launch installed Transport Fever 3 through Steam. No purchase or save loading.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_savesRead
List local save files by modification time.
{
"type": "object",
"properties": {
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_backup_saveAction
Copy a named save and its sidecars into a new unique local backup directory.
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_modsRead
List manually installed local game mods; does not prove activation in a save.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_game_snapshotRead
Read live player finances, simulation speed and time. Requires active AI MCP Bridge in a loaded world.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_start_company_gameAction
Save the completed loaded Lithuania editor map to a unique checkpoint and load it as a playable game. Preserves previous saves. A transition receipt is not proof of gameplay; poll tf3_game_snapshot until isMapEditor is false. Requires gameplayVersion 1.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_company_nameAction
Name the local player company in a playable game. Does not create extra players, change money or affect other companies.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_import_lithuaniaAction
Import Lithuania island terrain, 33 population-scaled towns and 16 industries into an empty 64x64-tile Map Editor world. Creates a backup first and a unique map save. Poll tf3_map_import_status. Requires mapImportVersion 5 and its native widget. repairExistingTowns resumes the verified island checkpoint with 33 towns and zero industries. repairCargoNeeds fills missing commercial/industrial demands on the completed island with 16 industries.
{
"type": "object",
"properties": {
"repairExistingTowns": {
"type": "boolean",
"default": false
},
"repairCargoNeeds": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_map_import_statusRead
Read the queued or running map import job, failure, or verified completion. Does not start or retry imports.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_mapAction
Save the loaded Map Editor world to a uniquely named map in the Load Map namespace.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}$",
"default": "Lietuva"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_entitiesRead
List lines, vehicles, stations, depots, towns or industries from the loaded world. Includes entity IDs for management.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"lines",
"vehicles",
"stations",
"depots",
"towns",
"industries"
]
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_speedAction
Set live simulation multiplier. 0 pauses; 1 resumes normal speed. Returns game command acknowledgement and observed speed.
{
"type": "object",
"properties": {
"speed": {
"type": "number",
"enum": [
0,
1,
2,
4
]
}
},
"required": [
"speed"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_rename_entityAction
Rename a player-owned line, vehicle, station or depot.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"entity",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_assign_vehicleAction
Assign a player-owned vehicle to a player-owned existing line. stopIndex is zero-based.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"line": {
"$ref": "#/properties/vehicle"
},
"stopIndex": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"required": [
"vehicle",
"line"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_stop_vehicleAction
Stop or resume a player-owned vehicle.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"stopped": {
"type": "boolean"
}
},
"required": [
"vehicle",
"stopped"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_send_vehicle_to_depotAction
Send a player-owned vehicle to its depot without selling it.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_gameAction
Create a uniquely named MCP save of the loaded world. No overwrite or save deletion.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}$",
"default": "checkpoint"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_load_saveAction
Checkpoint the loaded world, then request loading an exact listed game or map save. Requires an active world bridge; cannot operate from the main menu. Poll snapshot after transition.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
},
"asEditor": {
"type": "boolean",
"default": false
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_resourcesRead
Search loaded resource names and IDs for vehicles, streets, cargo or constructions. Availability and compatibility still require native validation.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"vehicles",
"streets",
"constructions",
"cargo"
]
},
"query": {
"type": "string",
"maxLength": 100,
"default": ""
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 30
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_entity_detailsRead
Read bounded fields needed to manage station groups, road nodes, lines, depots and vehicles.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
}
},
"required": [
"entity"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_create_lineAction
Create a line between owned stations. Indices are zero-based. Native validation decides route compatibility.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"type": "integer",
"minimum": 0
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"name",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_update_lineAction
Replace the stops and loading modes of an owned line, preserving its other settings.
{
"type": "object",
"properties": {
"line": {
"type": "integer",
"minimum": 0
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"$ref": "#/properties/line"
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"line",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_buy_vehicleAction
Quote or buy one vehicle/consist at an owned depot. Defaults to quote only. maxPrice limits the quoted purchase price; native game validates compatibility and funds.
{
"type": "object",
"properties": {
"depot": {
"type": "integer",
"minimum": 0
},
"models": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"minItems": 1,
"maxItems": 16
},
"maxPrice": {
"type": "number",
"minimum": 0
},
"purchase": {
"type": "boolean",
"default": false
}
},
"required": [
"depot",
"models",
"maxPrice"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_sell_vehicleAction
Send an owned vehicle to a depot and sell it on arrival. Sale may be delayed; acknowledgement is not proof of sale.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_roadAction
Preview geometry or construct a single straight surface road, 5–500 m. Existing endpoint node IDs allow connections. Does not split existing edges or build bridges/tunnels. Preview is a geometry/base-price estimate, not an engine collision or total-cost quote.
{
"type": "object",
"properties": {
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"template",
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_constructionAction
Preview specification or build a station/depot from the resource catalog. Native costs/collisions apply. Preview does not quote price. Does not automatically connect roads.
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"position": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"rotation": {
"type": "number",
"minimum": -3.141592653589793,
"maximum": 3.141592653589793,
"default": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"params": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 120
}
]
},
"propertyNames": {
"maxLength": 80
},
"default": {}
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"resource",
"position",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} quot;,
"default": "Lietuva"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_entitiesRead
List lines, vehicles, stations, depots, towns or industries from the loaded world. Includes entity IDs for management.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"lines",
"vehicles",
"stations",
"depots",
"towns",
"industries",
"stationGroups",
"roadNodes"
]
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_speedAction
Set live simulation multiplier. 0 pauses; 1 resumes normal speed. Returns game command acknowledgement and observed speed.
{
"type": "object",
"properties": {
"speed": {
"type": "number",
"enum": [
0,
1,
2,
4
]
}
},
"required": [
"speed"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_rename_entityAction
Rename a player-owned line, vehicle, station or depot.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"entity",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_assign_vehicleAction
Assign a player-owned vehicle to a player-owned existing line. stopIndex is zero-based.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"line": {
"$ref": "#/properties/vehicle"
},
"stopIndex": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"required": [
"vehicle",
"line"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_stop_vehicleAction
Stop or resume a player-owned vehicle.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"stopped": {
"type": "boolean"
}
},
"required": [
"vehicle",
"stopped"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_send_vehicle_to_depotAction
Send a player-owned vehicle to its depot without selling it.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_gameAction
Create a uniquely named MCP save of the loaded world. No overwrite or save deletion.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}tf3_statusRead
Inspect installed game, running process and companion mod. Does not prove bridge activation.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_launchAction
Launch installed Transport Fever 3 through Steam. No purchase or save loading.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_savesRead
List local save files by modification time.
{
"type": "object",
"properties": {
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_backup_saveAction
Copy a named save and its sidecars into a new unique local backup directory.
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_modsRead
List manually installed local game mods; does not prove activation in a save.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_game_snapshotRead
Read live player finances, simulation speed and time. Requires active AI MCP Bridge in a loaded world.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_start_company_gameAction
Save the completed loaded Lithuania editor map to a unique checkpoint and load it as a playable game. Preserves previous saves. A transition receipt is not proof of gameplay; poll tf3_game_snapshot until isMapEditor is false. Requires gameplayVersion 1.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_company_nameAction
Name the local player company in a playable game. Does not create extra players, change money or affect other companies.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_import_lithuaniaAction
Import Lithuania island terrain, 33 population-scaled towns and 16 industries into an empty 64x64-tile Map Editor world. Creates a backup first and a unique map save. Poll tf3_map_import_status. Requires mapImportVersion 5 and its native widget. repairExistingTowns resumes the verified island checkpoint with 33 towns and zero industries. repairCargoNeeds fills missing commercial/industrial demands on the completed island with 16 industries.
{
"type": "object",
"properties": {
"repairExistingTowns": {
"type": "boolean",
"default": false
},
"repairCargoNeeds": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_map_import_statusRead
Read the queued or running map import job, failure, or verified completion. Does not start or retry imports.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_mapAction
Save the loaded Map Editor world to a uniquely named map in the Load Map namespace.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}$",
"default": "Lietuva"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_list_entitiesRead
List lines, vehicles, stations, depots, towns or industries from the loaded world. Includes entity IDs for management.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"lines",
"vehicles",
"stations",
"depots",
"towns",
"industries"
]
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_set_speedAction
Set live simulation multiplier. 0 pauses; 1 resumes normal speed. Returns game command acknowledgement and observed speed.
{
"type": "object",
"properties": {
"speed": {
"type": "number",
"enum": [
0,
1,
2,
4
]
}
},
"required": [
"speed"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_rename_entityAction
Rename a player-owned line, vehicle, station or depot.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"entity",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_assign_vehicleAction
Assign a player-owned vehicle to a player-owned existing line. stopIndex is zero-based.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"line": {
"$ref": "#/properties/vehicle"
},
"stopIndex": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"required": [
"vehicle",
"line"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_stop_vehicleAction
Stop or resume a player-owned vehicle.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
},
"stopped": {
"type": "boolean"
}
},
"required": [
"vehicle",
"stopped"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_send_vehicle_to_depotAction
Send a player-owned vehicle to its depot without selling it.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_save_gameAction
Create a uniquely named MCP save of the loaded world. No overwrite or save deletion.
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,32}$",
"default": "checkpoint"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_load_saveAction
Checkpoint the loaded world, then request loading an exact listed game or map save. Requires an active world bridge; cannot operate from the main menu. Poll snapshot after transition.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
},
"asEditor": {
"type": "boolean",
"default": false
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_resourcesRead
Search loaded resource names and IDs for vehicles, streets, cargo or constructions. Availability and compatibility still require native validation.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"vehicles",
"streets",
"constructions",
"cargo"
]
},
"query": {
"type": "string",
"maxLength": 100,
"default": ""
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 30
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_entity_detailsRead
Read bounded fields needed to manage station groups, road nodes, lines, depots and vehicles.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
}
},
"required": [
"entity"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_create_lineAction
Create a line between owned stations. Indices are zero-based. Native validation decides route compatibility.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"type": "integer",
"minimum": 0
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"name",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_update_lineAction
Replace the stops and loading modes of an owned line, preserving its other settings.
{
"type": "object",
"properties": {
"line": {
"type": "integer",
"minimum": 0
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"$ref": "#/properties/line"
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"line",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_buy_vehicleAction
Quote or buy one vehicle/consist at an owned depot. Defaults to quote only. maxPrice limits the quoted purchase price; native game validates compatibility and funds.
{
"type": "object",
"properties": {
"depot": {
"type": "integer",
"minimum": 0
},
"models": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"minItems": 1,
"maxItems": 16
},
"maxPrice": {
"type": "number",
"minimum": 0
},
"purchase": {
"type": "boolean",
"default": false
}
},
"required": [
"depot",
"models",
"maxPrice"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_sell_vehicleAction
Send an owned vehicle to a depot and sell it on arrival. Sale may be delayed; acknowledgement is not proof of sale.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_roadAction
Preview geometry or construct a single straight surface road, 5–500 m. Existing endpoint node IDs allow connections. Does not split existing edges or build bridges/tunnels. Preview is a geometry/base-price estimate, not an engine collision or total-cost quote.
{
"type": "object",
"properties": {
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"template",
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_constructionAction
Preview specification or build a station/depot from the resource catalog. Native costs/collisions apply. Preview does not quote price. Does not automatically connect roads.
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"position": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"rotation": {
"type": "number",
"minimum": -3.141592653589793,
"maximum": 3.141592653589793,
"default": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"params": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 120
}
]
},
"propertyNames": {
"maxLength": 80
},
"default": {}
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"resource",
"position",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} quot;,
"default": "checkpoint"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_terrain_heightRead
Read terrain height at a world coordinate before placing infrastructure.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_load_saveAction
Checkpoint the loaded world, then request loading an exact listed game or map save. Requires an active world bridge; cannot operate from the main menu. Poll snapshot after transition.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
},
"asEditor": {
"type": "boolean",
"default": false
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_resourcesRead
Search loaded resource names and IDs for vehicles, streets, cargo or constructions. Availability and compatibility still require native validation.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"vehicles",
"streets",
"constructions",
"cargo"
]
},
"query": {
"type": "string",
"maxLength": 100,
"default": ""
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 30
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_entity_detailsRead
Read bounded fields needed to manage station groups, road nodes, lines, depots and vehicles.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
}
},
"required": [
"entity"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_create_lineAction
Create a line between owned stations. Indices are zero-based. Native validation decides route compatibility.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"type": "integer",
"minimum": 0
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"name",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_update_lineAction
Replace the stops and loading modes of an owned line, preserving its other settings.
{
"type": "object",
"properties": {
"line": {
"type": "integer",
"minimum": 0
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"$ref": "#/properties/line"
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"line",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_buy_vehicleAction
Quote or buy one vehicle/consist at an owned depot. Defaults to quote only. maxPrice limits the quoted purchase price; native game validates compatibility and funds.
{
"type": "object",
"properties": {
"depot": {
"type": "integer",
"minimum": 0
},
"models": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"minItems": 1,
"maxItems": 16
},
"maxPrice": {
"type": "number",
"minimum": 0
},
"purchase": {
"type": "boolean",
"default": false
}
},
"required": [
"depot",
"models",
"maxPrice"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_sell_vehicleAction
Send an owned vehicle to a depot and sell it on arrival. Sale may be delayed; acknowledgement is not proof of sale.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_roadAction
Preview geometry or construct a single straight surface road, 5–500 m. Existing endpoint node IDs allow connections. Does not split existing edges or build bridges/tunnels. Preview is a geometry/base-price estimate, not an engine collision or total-cost quote.
{
"type": "object",
"properties": {
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"template",
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_constructionAction
Preview specification or build a station/depot from the resource catalog. Native costs/collisions apply. Preview does not quote price. Does not automatically connect roads.
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"position": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"rotation": {
"type": "number",
"minimum": -3.141592653589793,
"maximum": 3.141592653589793,
"default": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"params": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 120
}
]
},
"propertyNames": {
"maxLength": 80
},
"default": {}
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"resource",
"position",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} quot;,
"default": "checkpoint"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_terrain_heightRead
Read terrain height at a world coordinate before placing infrastructure.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_terrain_scanRead
Heights on a grid around a point (rows south to north, columns west to east). Shows land, water (below about 1.5) and steep cliffs in one call. Use before choosing depot, stop or road positions.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"radius": {
"type": "number",
"minimum": 40,
"maximum": 600,
"default": 200
},
"step": {
"type": "number",
"minimum": 10,
"maximum": 100,
"default": 40
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_plan_roadRead
Find a feasible road route over land between two points or free-end nodes: avoids water and steep slopes (A* over terrain heights). Returns waypoints to pass to tf3_build_road_path. Buildings are not known here: always preview the path afterwards and read its validation.
{
"type": "object",
"properties": {
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/from/properties/x"
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
},
"tx": {
"type": "number",
"minimum": -1,
"maximum": 1,
"description": "Optional road heading at this waypoint (unit x); tf3_plan_connect fills it"
},
"ty": {
"type": "number",
"minimum": -1,
"maximum": 1
}
},
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"maxGrade": {
"type": "number",
"minimum": 0.02,
"maximum": 0.2,
"default": 0.08
},
"step": {
"type": "number",
"minimum": 15,
"maximum": 100,
"default": 25
},
"margin": {
"type": "number",
"minimum": 100,
"maximum": 1500,
"default": 600
},
"thin": {
"type": "integer",
"minimum": 1,
"maximum": 8,
"default": 3
}
},
"required": [
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_plan_connectRead
Plan a road between two road ends (free-end nodes or points). Unlike tf3_plan_road it leaves and arrives along each free end's direction, keeps clear of existing roads and water, and smooths the result into up to 70 waypoints. Preview the result with tf3_build_road_path; or use tf3_connect_roads to plan, preview and build in one call.
{
"type": "object",
"properties": {
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/from/properties/x"
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
},
"tx": {
"type": "number",
"minimum": -1,
"maximum": 1,
"description": "Optional road heading at this waypoint (unit x); tf3_plan_connect fills it"
},
"ty": {
"type": "number",
"minimum": -1,
"maximum": 1
}
},
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"stub": {
"type": "number",
"minimum": 15,
"maximum": 120,
"default": 35
},
"clearance": {
"type": "number",
"minimum": 5,
"maximum": 60,
"default": 14
},
"step": {
"type": "number",
"minimum": 10,
"maximum": 60,
"default": 20
},
"maxGrade": {
"type": "number",
"minimum": 0.02,
"maximum": 0.3,
"default": 0.15
},
"spacing": {
"type": "number",
"minimum": 20,
"maximum": 120,
"default": 30
},
"margin": {
"type": "number",
"minimum": 100,
"maximum": 1500,
"default": 250
}
},
"required": [
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_connect_roadsAction
Join two road ends in one call: plans with tf3_plan_connect, previews each candidate with the game validator, tries several stub/clearance/step settings and builds the first accepted one when build=true. Returns the attempt log, so a failure shows what blocked each try. Default template country_old_small (two lanes). After building it rebuilds the join edge at each end with the existing road's template through the game's own segment replacement, which removes the red no-entry sign (set fixJoins=false to skip). Returns joins[] with what was replaced. Junctions are still refused: both ends must be free ends (canConnect=true).
{
"type": "object",
"properties": {
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/from/properties/x"
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
},
"tx": {
"type": "number",
"minimum": -1,
"maximum": 1,
"description": "Optional road heading at this waypoint (unit x); tf3_plan_connect fills it"
},
"ty": {
"type": "number",
"minimum": -1,
"maximum": 1
}
},
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240,
"default": "::/infrastructure/street/country/country_old_small.street_template"
},
"build": {
"type": "boolean",
"default": false
},
"allowWarnings": {
"type": "boolean",
"default": false
},
"fixJoins": {
"type": "boolean",
"default": true
},
"maxGrade": {
"type": "number",
"minimum": 0.02,
"maximum": 0.3,
"default": 0.15
},
"margin": {
"type": "number",
"minimum": 100,
"maximum": 1500,
"default": 250
}
},
"required": [
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_depot_nearAction
DEPRECATED, its depots cannot serve lines (use tf3_place_depot). Build a road depot at the first valid site near x,y: the game validator tries rings of positions and four rotations, so it skips buildings, cliffs and water. Returns the depot and its connection node (free end) to join with tf3_build_road_path. Costs about 500k.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"radius": {
"type": "number",
"minimum": 0,
"maximum": 300,
"default": 160
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"default": "Depot"
},
"resource": {
"type": "string",
"maxLength": 240
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_line_dumpRead
Read-only: every stop setting of a line (cargo config, waiting times, filters). Use to compare a line made in the game UI with one made through the bridge.
{
"type": "object",
"properties": {
"line": {
"type": "integer",
"minimum": 0
}
},
"required": [
"line"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_path_checkRead
Check whether two road nodes are on the same connected road network (topological: lane direction and turn bans are not tested). Use it before creating a line to confirm a join worked; tf3_line_status gives the game's own path verdict for a line.
{
"type": "object",
"properties": {
"from": {
"type": "integer",
"minimum": 0
},
"to": {
"$ref": "#/properties/from"
}
},
"required": [
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_buildings_nearRead
Read-only: town buildings (houses, shops, workplaces) near a point, with their footprint box. Roads cannot pass through them; stops need them within about 120 m.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"radius": {
"type": "number",
"minimum": 10,
"maximum": 1000,
"default": 150
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 40
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_suggest_stopsRead
Read-only: where to put bus stops. Lists road points (at least 12 m from junctions) ranked by the number of town buildings within catchment metres, spaced at least separation metres apart, with the road network they are on and whether your depots and stops are on that network. Give a town entity or x,y. Place stops at the top points with tf3_place_stop, on a network with networkMyDepots>0.
{
"type": "object",
"properties": {
"town": {
"type": "integer",
"minimum": 0
},
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"radius": {
"type": "number",
"minimum": 50,
"maximum": 3000,
"default": 400
},
"catchment": {
"type": "number",
"minimum": 30,
"maximum": 400,
"default": 120
},
"separation": {
"type": "number",
"minimum": 20,
"maximum": 2000,
"default": 120
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"default": 10
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_node_edgesRead
Read-only: the road edges that meet at a node, with street template and lane count. Use it to see which template a town street uses before joining it.
{
"type": "object",
"properties": {
"node": {
"type": "integer",
"minimum": 0
}
},
"required": [
"node"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_replace_segmentAction
Rebuild one road edge with the game's own segment replacement (the Replace Road tool), optionally with another street template. Fixes a red no-entry sign at a join: replace the new edge touching the joined node with the template of the existing road there. tf3_connect_roads does this automatically after a build.
{
"type": "object",
"properties": {
"edge": {
"type": "integer",
"minimum": 0
},
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"edge"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_network_summaryRead
Read-only survey: every connected road network with edge count, bounding box, towns inside, industries attached, street templates and your stops/depots on it. Run it first: two places on one network need only stops, a depot and a line, no new road.
{
"type": "object",
"properties": {
"minEdges": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"default": 3
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 40
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_industry_statusRead
Read-only: industries with type, input and output cargo, output/shipped/delivered per year, road connection node and road network. Omit entity for all.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_line_statusRead
Read-only line diagnostics with the Line Manager figures: per line balance over the last game year, passengers transported per year, utilisation; per stop the town buildings in catchment and passengers waiting; per vehicle state, position, passengers and stop index; the game's path problems. Omit line for all your lines. Check it two game months after opening a line: catchables 0 or utilisation 0 means move the stops.
{
"type": "object",
"properties": {
"line": {
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_load_saveAction
Checkpoint the loaded world, then request loading an exact listed game or map save. Requires an active world bridge; cannot operate from the main menu. Poll snapshot after transition.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
},
"asEditor": {
"type": "boolean",
"default": false
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_resourcesRead
Search loaded resource names and IDs for vehicles, streets, cargo or constructions. Availability and compatibility still require native validation.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"vehicles",
"streets",
"constructions",
"cargo",
"stops"
]
},
"query": {
"type": "string",
"maxLength": 100,
"default": ""
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 30
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_entity_detailsRead
Read bounded fields needed to manage station groups, road nodes, lines, depots and vehicles.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
}
},
"required": [
"entity"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_create_lineAction
Create a line between owned stations. Indices are zero-based. Native validation decides route compatibility.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"type": "integer",
"minimum": 0
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
},
"cargo": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 20,
"default": [
"PASSENGERS"
],
"description": "Cargo type names this stop loads: PASSENGERS for buses, a cargo name such as COAL for trucks, or [\"ALL\"]"
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"name",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_update_lineAction
Replace the stops and loading modes of an owned line, preserving its other settings.
{
"type": "object",
"properties": {
"line": {
"type": "integer",
"minimum": 0
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"$ref": "#/properties/line"
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
},
"cargo": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 20,
"default": [
"PASSENGERS"
],
"description": "Cargo type names this stop loads: PASSENGERS for buses, a cargo name such as COAL for trucks, or [\"ALL\"]"
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"line",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_buy_vehicleAction
Quote or buy one vehicle/consist at an owned depot. Defaults to quote only. maxPrice limits the quoted purchase price; native game validates compatibility and funds.
{
"type": "object",
"properties": {
"depot": {
"type": "integer",
"minimum": 0
},
"models": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"minItems": 1,
"maxItems": 16
},
"maxPrice": {
"type": "number",
"minimum": 0
},
"purchase": {
"type": "boolean",
"default": false
}
},
"required": [
"depot",
"models",
"maxPrice"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_loansRead
List the bank loans the game currently offers and the loans the company holds, with amounts, terms and interest.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_take_loanAction
Take one bank loan offered by the native finance system (max 4 held). maxAmount rejects a larger offer. Acknowledgement is not proof: read tf3_loans or the snapshot balance afterwards.
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Small",
"Medium",
"Large",
"ExtraLarge"
]
},
"maxAmount": {
"type": "integer",
"minimum": 0
}
},
"required": [
"type",
"maxAmount"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_repay_loanAction
Repay one held loan in full if the balance covers it. Confirm with tf3_loans afterwards.
{
"type": "object",
"properties": {
"loan": {
"type": "integer",
"minimum": 0
}
},
"required": [
"loan"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_sell_vehicleAction
Send an owned vehicle to a depot and sell it on arrival. Sale may be delayed; acknowledgement is not proof of sale.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_roadAction
Preview or build one road between two points (5-500 m). Points are an existing node {node} or {x,y[,z]} (z defaults to ground). Only free ends (nodes joining fewer than 2 roads) can be connected: junctions are refused because they crash this game build. At a free end the road continues in the stub direction, which is what stations and depots need. snap (m) attaches a point to the nearest free end within that distance. Rejections return the game reason and cost.
{
"type": "object",
"properties": {
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/from/properties/x"
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
},
"tx": {
"type": "number",
"minimum": -1,
"maximum": 1,
"description": "Optional road heading at this waypoint (unit x); tf3_plan_connect fills it"
},
"ty": {
"type": "number",
"minimum": -1,
"maximum": 1
}
},
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"snap": {
"type": "number",
"minimum": 0,
"maximum": 100,
"default": 0
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"template",
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_road_pathAction
Preview or build a smooth multi-segment road through 2-80 points in one atomic proposal (each segment 5-500 m). Use waypoints to curve around towns, rivers and slopes. Same point and free-end rules as tf3_build_road. Optional stops (EXPERIMENTAL, the game accepts them but creates no stop on build 40425) place street bus/truck stops on the new segments (segment is 1-based, param 0.1-0.9 along it; models from tf3_resources kind=stops); a stop on your own road is connected by construction. Returns the new road nodes with their free ends.
{
"type": "object",
"properties": {
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"points": {
"type": "array",
"items": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/points/items/properties/x"
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
},
"tx": {
"type": "number",
"minimum": -1,
"maximum": 1,
"description": "Optional road heading at this waypoint (unit x); tf3_plan_connect fills it"
},
"ty": {
"type": "number",
"minimum": -1,
"maximum": 1
}
},
"additionalProperties": false
},
"minItems": 2,
"maxItems": 80
},
"snap": {
"type": "number",
"minimum": 0,
"maximum": 100,
"default": 0
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"segment": {
"type": "integer",
"minimum": 1
},
"param": {
"type": "number",
"minimum": 0.1,
"maximum": 0.9,
"default": 0.5
},
"left": {
"type": "boolean",
"default": false
},
"model": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"segment",
"model"
],
"additionalProperties": false
},
"maxItems": 8,
"default": []
},
"stopIdMode": {
"type": "string",
"enum": [
"index",
"shared",
"none"
]
},
"build": {
"type": "boolean",
"default": false
},
"allowWarnings": {
"type": "boolean",
"default": false
}
},
"required": [
"template",
"points"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_road_network_nearRead
List road nodes within a radius of a point, nearest first: position, how many roads join there, whether it is a free end you may connect to (canConnect) and its outward direction. Use before every road build.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"radius": {
"type": "number",
"minimum": 10,
"maximum": 2000,
"default": 300
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 80,
"default": 40
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_game_overviewRead
One-call state for planning: year, balance, loan, your station groups (with station indices and positions), depots, lines, vehicles, and every town and industry with position and type. Prefer this over many list calls.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_place_stopAction
Place a street stop (bus/truck stop) ON an existing road at x,y using the game's own stop tool, operated through computer use. The point must lie on a road you or the town built, at least 10 m from a junction or road end. Slow (about 1-3 minutes); the call waits for the operator. Returns the new stationGroup to use in lines, or a reason it could not be placed.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"cargo": {
"type": "boolean",
"default": false
}
},
"required": [
"x",
"y",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_place_depotAction
Place a road depot with the game's own depot tool, operated through computer use. Scripted depots (tf3_build_depot_near, tf3_build_construction) are NOT connected to the road for vehicle routing: vehicles bought there cannot be assigned to lines. Pick open flat ground right beside a road you built (the depot entrance must touch the road side). Slow (1-3 minutes); the call waits for the operator. Returns the new depot entity, or a reason.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"default": "Depot"
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_cameraRead
Move the player camera to a map position so humans watching can see the work. Does not change the world.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"distance": {
"type": "number",
"minimum": 20,
"maximum": 3000,
"default": 250
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_stationAction
EXPERIMENTAL, not working on TF3 build 40425: the game accepts the request but creates no station. Preview or build a road station that works with lines: a modular street terminal with platforms and an entrance (passenger by default, cargo=true for trucks). Place it on open ground beside a town or next to an industry, then call tf3_road_network_near at its position to find its road stubs and connect them. Use this instead of small street stops, which this bridge cannot place.
{
"type": "object",
"properties": {
"position": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/position/properties/x"
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"rotation": {
"type": "number",
"minimum": -3.141592653589793,
"maximum": 3.141592653589793,
"default": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"cargo": {
"type": "boolean",
"default": false
},
"platforms": {
"type": "integer",
"minimum": 1,
"maximum": 2,
"default": 1
},
"nameStyle": {
"type": "string",
"enum": [
"full",
"plain",
"short"
]
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"position",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_constructionAction
Preview specification or build a station/depot from the resource catalog. Native costs/collisions apply. Preview does not quote price. Does not automatically connect roads.
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"position": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/position/properties/x"
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"rotation": {
"type": "number",
"minimum": -3.141592653589793,
"maximum": 3.141592653589793,
"default": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"params": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 120
}
]
},
"propertyNames": {
"maxLength": 80
},
"default": {}
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"resource",
"position",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_game_rulesRead
How the game works for an AI player: what a working service needs, money and loans, vehicle years, the proven road-building recipe, this bridge’s limits (no junctions) and efficient play. Read once at the start.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
} quot;,
"default": "checkpoint"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_terrain_heightRead
Read terrain height at a world coordinate before placing infrastructure.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"type": "number",
"minimum": -32768,
"maximum": 32768
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_terrain_scanRead
Heights on a grid around a point (rows south to north, columns west to east). Shows land, water (below about 1.5) and steep cliffs in one call. Use before choosing depot, stop or road positions.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"radius": {
"type": "number",
"minimum": 40,
"maximum": 600,
"default": 200
},
"step": {
"type": "number",
"minimum": 10,
"maximum": 100,
"default": 40
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_plan_roadRead
Find a feasible road route over land between two points or free-end nodes: avoids water and steep slopes (A* over terrain heights). Returns waypoints to pass to tf3_build_road_path. Buildings are not known here: always preview the path afterwards and read its validation.
{
"type": "object",
"properties": {
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/from/properties/x"
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
},
"tx": {
"type": "number",
"minimum": -1,
"maximum": 1,
"description": "Optional road heading at this waypoint (unit x); tf3_plan_connect fills it"
},
"ty": {
"type": "number",
"minimum": -1,
"maximum": 1
}
},
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"maxGrade": {
"type": "number",
"minimum": 0.02,
"maximum": 0.2,
"default": 0.08
},
"step": {
"type": "number",
"minimum": 15,
"maximum": 100,
"default": 25
},
"margin": {
"type": "number",
"minimum": 100,
"maximum": 1500,
"default": 600
},
"thin": {
"type": "integer",
"minimum": 1,
"maximum": 8,
"default": 3
}
},
"required": [
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_plan_connectRead
Plan a road between two road ends (free-end nodes or points). Unlike tf3_plan_road it leaves and arrives along each free end's direction, keeps clear of existing roads and water, and smooths the result into up to 70 waypoints. Preview the result with tf3_build_road_path; or use tf3_connect_roads to plan, preview and build in one call.
{
"type": "object",
"properties": {
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/from/properties/x"
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
},
"tx": {
"type": "number",
"minimum": -1,
"maximum": 1,
"description": "Optional road heading at this waypoint (unit x); tf3_plan_connect fills it"
},
"ty": {
"type": "number",
"minimum": -1,
"maximum": 1
}
},
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"stub": {
"type": "number",
"minimum": 15,
"maximum": 120,
"default": 35
},
"clearance": {
"type": "number",
"minimum": 5,
"maximum": 60,
"default": 14
},
"step": {
"type": "number",
"minimum": 10,
"maximum": 60,
"default": 20
},
"maxGrade": {
"type": "number",
"minimum": 0.02,
"maximum": 0.3,
"default": 0.15
},
"spacing": {
"type": "number",
"minimum": 20,
"maximum": 120,
"default": 30
},
"margin": {
"type": "number",
"minimum": 100,
"maximum": 1500,
"default": 250
}
},
"required": [
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_connect_roadsAction
Join two road ends in one call: plans with tf3_plan_connect, previews each candidate with the game validator, tries several stub/clearance/step settings and builds the first accepted one when build=true. Returns the attempt log, so a failure shows what blocked each try. Default template country_old_small (two lanes). After building it rebuilds the join edge at each end with the existing road's template through the game's own segment replacement, which removes the red no-entry sign (set fixJoins=false to skip). Returns joins[] with what was replaced. Junctions are still refused: both ends must be free ends (canConnect=true).
{
"type": "object",
"properties": {
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/from/properties/x"
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
},
"tx": {
"type": "number",
"minimum": -1,
"maximum": 1,
"description": "Optional road heading at this waypoint (unit x); tf3_plan_connect fills it"
},
"ty": {
"type": "number",
"minimum": -1,
"maximum": 1
}
},
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240,
"default": "::/infrastructure/street/country/country_old_small.street_template"
},
"build": {
"type": "boolean",
"default": false
},
"allowWarnings": {
"type": "boolean",
"default": false
},
"fixJoins": {
"type": "boolean",
"default": true
},
"maxAttempts": {
"type": "integer",
"minimum": 1,
"maximum": 8,
"default": 4
},
"maxGrade": {
"type": "number",
"minimum": 0.02,
"maximum": 0.3,
"default": 0.15
},
"margin": {
"type": "number",
"minimum": 100,
"maximum": 1500,
"default": 250
}
},
"required": [
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_depot_nearAction
DEPRECATED, its depots cannot serve lines (use tf3_place_depot). Build a road depot at the first valid site near x,y: the game validator tries rings of positions and four rotations, so it skips buildings, cliffs and water. Returns the depot and its connection node (free end) to join with tf3_build_road_path. Costs about 500k.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"radius": {
"type": "number",
"minimum": 0,
"maximum": 300,
"default": 160
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"default": "Depot"
},
"resource": {
"type": "string",
"maxLength": 240
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_line_dumpRead
Read-only: every stop setting of a line (cargo config, waiting times, filters). Use to compare a line made in the game UI with one made through the bridge.
{
"type": "object",
"properties": {
"line": {
"type": "integer",
"minimum": 0
}
},
"required": [
"line"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_path_checkRead
Check whether two road nodes are on the same connected road network (topological: lane direction and turn bans are not tested). Use it before creating a line to confirm a join worked; tf3_line_status gives the game's own path verdict for a line.
{
"type": "object",
"properties": {
"from": {
"type": "integer",
"minimum": 0
},
"to": {
"$ref": "#/properties/from"
}
},
"required": [
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_buildings_nearRead
Read-only: town buildings (houses, shops, workplaces) near a point, with their footprint box. Roads cannot pass through them; stops need them within about 120 m.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"radius": {
"type": "number",
"minimum": 10,
"maximum": 1000,
"default": 150
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 40
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_suggest_stopsRead
Read-only: where to put bus stops. Lists road points (at least 12 m from junctions) ranked by the number of town buildings within catchment metres, spaced at least separation metres apart, with the road network they are on and whether your depots and stops are on that network. Give a town entity or x,y. Place stops at the top points with tf3_place_stop, on a network with networkMyDepots>0.
{
"type": "object",
"properties": {
"town": {
"type": "integer",
"minimum": 0
},
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"radius": {
"type": "number",
"minimum": 50,
"maximum": 3000,
"default": 400
},
"catchment": {
"type": "number",
"minimum": 30,
"maximum": 400,
"default": 120
},
"separation": {
"type": "number",
"minimum": 20,
"maximum": 2000,
"default": 120
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"default": 10
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_node_edgesRead
Read-only: the road edges that meet at a node, with street template and lane count. Use it to see which template a town street uses before joining it.
{
"type": "object",
"properties": {
"node": {
"type": "integer",
"minimum": 0
}
},
"required": [
"node"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_replace_segmentAction
Rebuild one road edge with the game's own segment replacement (the Replace Road tool), optionally with another street template. Fixes a red no-entry sign at a join: replace the new edge touching the joined node with the template of the existing road there. tf3_connect_roads does this automatically after a build.
{
"type": "object",
"properties": {
"edge": {
"type": "integer",
"minimum": 0
},
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"edge"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_network_summaryRead
Read-only survey: every connected road network with edge count, bounding box, towns inside, industries attached, street templates and your stops/depots on it. Run it first: two places on one network need only stops, a depot and a line, no new road.
{
"type": "object",
"properties": {
"minEdges": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"default": 3
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 40
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_industry_statusRead
Read-only: industries with type, input and output cargo, output/shipped/delivered per year, road connection node and road network. Omit entity for all.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_call_logRead
Read-only: the persistent log of bridge calls (all clients). Per action: count, failure rate, top errors, slowest calls; and runs of repeated failures on the same piece of work (work item = action family + target ids). After 10 failed calls on one work item stop and change approach; at 20 the bridge refuses that work item unless override=true.
{
"type": "object",
"properties": {
"sinceHours": {
"type": "number",
"minimum": 0.1,
"maximum": 720,
"default": 6
},
"action": {
"type": "string",
"maxLength": 60
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_line_statusRead
Read-only line diagnostics with the Line Manager figures: per line balance over the last game year, passengers transported per year, utilisation; per stop the town buildings in catchment and passengers waiting; per vehicle state, position, passengers and stop index; the game's path problems. Omit line for all your lines. Check it two game months after opening a line: catchables 0 or utilisation 0 means move the stops.
{
"type": "object",
"properties": {
"line": {
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_load_saveAction
Checkpoint the loaded world, then request loading an exact listed game or map save. Requires an active world bridge; cannot operate from the main menu. Poll snapshot after transition.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"namespace": {
"type": "string",
"enum": [
"game",
"map"
],
"default": "game"
},
"asEditor": {
"type": "boolean",
"default": false
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_resourcesRead
Search loaded resource names and IDs for vehicles, streets, cargo or constructions. Availability and compatibility still require native validation.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"vehicles",
"streets",
"constructions",
"cargo",
"stops"
]
},
"query": {
"type": "string",
"maxLength": 100,
"default": ""
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 30
}
},
"required": [
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_entity_detailsRead
Read bounded fields needed to manage station groups, road nodes, lines, depots and vehicles.
{
"type": "object",
"properties": {
"entity": {
"type": "integer",
"minimum": 0
}
},
"required": [
"entity"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_create_lineAction
Create a line between owned stations. Indices are zero-based. Native validation decides route compatibility.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"type": "integer",
"minimum": 0
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
},
"cargo": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 20,
"default": [
"PASSENGERS"
],
"description": "Cargo type names this stop loads: PASSENGERS for buses, a cargo name such as COAL for trucks, or [\"ALL\"]"
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"name",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_update_lineAction
Replace the stops and loading modes of an owned line, preserving its other settings.
{
"type": "object",
"properties": {
"line": {
"type": "integer",
"minimum": 0
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stationGroup": {
"$ref": "#/properties/line"
},
"station": {
"type": "integer",
"minimum": 0,
"default": 0
},
"terminal": {
"type": "integer",
"minimum": 0,
"default": 0
},
"loadMode": {
"type": "string",
"enum": [
"LOAD_IF_AVAILABLE",
"FULL_LOAD_ANY",
"FULL_LOAD_ALL"
],
"default": "LOAD_IF_AVAILABLE"
},
"maxWaitingTime": {
"type": "number",
"minimum": 0,
"maximum": 3600,
"default": 60
},
"cargo": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 20,
"default": [
"PASSENGERS"
],
"description": "Cargo type names this stop loads: PASSENGERS for buses, a cargo name such as COAL for trucks, or [\"ALL\"]"
}
},
"required": [
"stationGroup"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 32
}
},
"required": [
"line",
"stops"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_buy_vehicleAction
Quote or buy one vehicle/consist at an owned depot. Defaults to quote only. maxPrice limits the quoted purchase price; native game validates compatibility and funds.
{
"type": "object",
"properties": {
"depot": {
"type": "integer",
"minimum": 0
},
"models": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"minItems": 1,
"maxItems": 16
},
"maxPrice": {
"type": "number",
"minimum": 0
},
"purchase": {
"type": "boolean",
"default": false
}
},
"required": [
"depot",
"models",
"maxPrice"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_loansRead
List the bank loans the game currently offers and the loans the company holds, with amounts, terms and interest.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_take_loanAction
Take one bank loan offered by the native finance system (max 4 held). maxAmount rejects a larger offer. Acknowledgement is not proof: read tf3_loans or the snapshot balance afterwards.
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Small",
"Medium",
"Large",
"ExtraLarge"
]
},
"maxAmount": {
"type": "integer",
"minimum": 0
}
},
"required": [
"type",
"maxAmount"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_repay_loanAction
Repay one held loan in full if the balance covers it. Confirm with tf3_loans afterwards.
{
"type": "object",
"properties": {
"loan": {
"type": "integer",
"minimum": 0
}
},
"required": [
"loan"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_sell_vehicleAction
Send an owned vehicle to a depot and sell it on arrival. Sale may be delayed; acknowledgement is not proof of sale.
{
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"minimum": 0
}
},
"required": [
"vehicle"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_roadAction
Preview or build one road between two points (5-500 m). Points are an existing node {node} or {x,y[,z]} (z defaults to ground). Only free ends (nodes joining fewer than 2 roads) can be connected: junctions are refused because they crash this game build. At a free end the road continues in the stub direction, which is what stations and depots need. snap (m) attaches a point to the nearest free end within that distance. Rejections return the game reason and cost.
{
"type": "object",
"properties": {
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"from": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/from/properties/x"
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
},
"tx": {
"type": "number",
"minimum": -1,
"maximum": 1,
"description": "Optional road heading at this waypoint (unit x); tf3_plan_connect fills it"
},
"ty": {
"type": "number",
"minimum": -1,
"maximum": 1
}
},
"additionalProperties": false
},
"to": {
"$ref": "#/properties/from"
},
"snap": {
"type": "number",
"minimum": 0,
"maximum": 100,
"default": 0
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"template",
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_road_pathAction
Preview or build a smooth multi-segment road through 2-80 points in one atomic proposal (each segment 5-500 m). Use waypoints to curve around towns, rivers and slopes. Same point and free-end rules as tf3_build_road. Optional stops (EXPERIMENTAL, the game accepts them but creates no stop on build 40425) place street bus/truck stops on the new segments (segment is 1-based, param 0.1-0.9 along it; models from tf3_resources kind=stops); a stop on your own road is connected by construction. Returns the new road nodes with their free ends.
{
"type": "object",
"properties": {
"template": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"points": {
"type": "array",
"items": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/points/items/properties/x"
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
},
"node": {
"type": "integer",
"minimum": 0
},
"tx": {
"type": "number",
"minimum": -1,
"maximum": 1,
"description": "Optional road heading at this waypoint (unit x); tf3_plan_connect fills it"
},
"ty": {
"type": "number",
"minimum": -1,
"maximum": 1
}
},
"additionalProperties": false
},
"minItems": 2,
"maxItems": 80
},
"snap": {
"type": "number",
"minimum": 0,
"maximum": 100,
"default": 0
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"segment": {
"type": "integer",
"minimum": 1
},
"param": {
"type": "number",
"minimum": 0.1,
"maximum": 0.9,
"default": 0.5
},
"left": {
"type": "boolean",
"default": false
},
"model": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"segment",
"model"
],
"additionalProperties": false
},
"maxItems": 8,
"default": []
},
"stopIdMode": {
"type": "string",
"enum": [
"index",
"shared",
"none"
]
},
"build": {
"type": "boolean",
"default": false
},
"allowWarnings": {
"type": "boolean",
"default": false
}
},
"required": [
"template",
"points"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_road_network_nearRead
List road nodes within a radius of a point, nearest first: position, how many roads join there, whether it is a free end you may connect to (canConnect) and its outward direction. Use before every road build.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"radius": {
"type": "number",
"minimum": 10,
"maximum": 2000,
"default": 300
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 80,
"default": 40
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_game_overviewRead
One-call state for planning: year, balance, loan, your station groups (with station indices and positions), depots, lines, vehicles, and every town and industry with position and type. Prefer this over many list calls.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_place_stopAction
Place a street stop (bus/truck stop) ON an existing road at x,y using the game's own stop tool, operated through computer use. The point must lie on a road you or the town built, at least 10 m from a junction or road end. Slow (about 1-3 minutes); the call waits for the operator. Returns the new stationGroup to use in lines, or a reason it could not be placed.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"cargo": {
"type": "boolean",
"default": false
}
},
"required": [
"x",
"y",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_place_depotAction
Place a road depot with the game's own depot tool, operated through computer use. Scripted depots (tf3_build_depot_near, tf3_build_construction) are NOT connected to the road for vehicle routing: vehicles bought there cannot be assigned to lines. Pick open flat ground right beside a road you built (the depot entrance must touch the road side). Slow (1-3 minutes); the call waits for the operator. Returns the new depot entity, or a reason.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"default": "Depot"
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_cameraRead
Move the player camera to a map position so humans watching can see the work. Does not change the world.
{
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/x"
},
"distance": {
"type": "number",
"minimum": 20,
"maximum": 3000,
"default": 250
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_stationAction
EXPERIMENTAL, not working on TF3 build 40425: the game accepts the request but creates no station. Preview or build a road station that works with lines: a modular street terminal with platforms and an entrance (passenger by default, cargo=true for trucks). Place it on open ground beside a town or next to an industry, then call tf3_road_network_near at its position to find its road stubs and connect them. Use this instead of small street stops, which this bridge cannot place.
{
"type": "object",
"properties": {
"position": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/position/properties/x"
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"rotation": {
"type": "number",
"minimum": -3.141592653589793,
"maximum": 3.141592653589793,
"default": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"cargo": {
"type": "boolean",
"default": false
},
"platforms": {
"type": "integer",
"minimum": 1,
"maximum": 2,
"default": 1
},
"nameStyle": {
"type": "string",
"enum": [
"full",
"plain",
"short"
]
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"position",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_build_constructionAction
Preview specification or build a station/depot from the resource catalog. Native costs/collisions apply. Preview does not quote price. Does not automatically connect roads.
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"position": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -32768,
"maximum": 32768
},
"y": {
"$ref": "#/properties/position/properties/x"
},
"z": {
"type": "number",
"minimum": -500,
"maximum": 5000
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"rotation": {
"type": "number",
"minimum": -3.141592653589793,
"maximum": 3.141592653589793,
"default": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"params": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 120
}
]
},
"propertyNames": {
"maxLength": 80
},
"default": {}
},
"build": {
"type": "boolean",
"default": false
}
},
"required": [
"resource",
"position",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tf3_game_rulesRead
How the game works for an AI player: what a working service needs, money and loans, vehicle years, the proven road-building recipe, this bridge’s limits (no junctions) and efficient play. Read once at the start.
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}No matching tools. Try a broader search.
Operating limits
One mailbox request runs at a time. A timeout means a mutation's outcome is unknown: inspect before retrying. Import jobs block other mutations. Ownership checks guard vehicle and line management. Native commands retain game validation; errors are never deliberately ignored.
Purchases default to a quote and require purchase: true to execute. Road and construction tools default to previews and require build: true. Road previews return geometry and base price only; terrain, collision and final cost are not quoted. Roads are straight surface segments of 5–500 m, with optional existing endpoint nodes. They do not split edges or build bridges/tunnels. Construction currently supports base-game stations and depots; valid parameters depend on each resource.
Line stops use zero-based station and terminal indices. Loading modes are available cargo, full any, or full all. Cargo filtering, loans, track/bridge/tunnel building, bulldozing and automatic route planning are not implemented. The bridge offers fixed actions, not arbitrary Lua execution.