Skip to main content
Glama
Infection Free Zone MCP

Infection Free Zone MCP

by tianq021

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
IFZ_MCP_LANGNoLanguage for MCP tool descriptions. Allowed values: zh-CN, en, ja, ru. Defaults to en.en

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
statusB

Check whether the configured IFZ game and its current settlement are ready.

get_stateC

Read time, pause reasons, HQ, player squads and the last bounded advance.

hud_messageC

Show a short message on the in-game HUD overlay so the player can read AI updates and alerts without leaving the game.

get_world_dataB

Read a page from live game objects across the map. Nonplayer groups include hidden groups. Use get_map_buildings for building details.

get_map_buildingsA

Read one page of buildings. Choose full for the whole map, nearby for a circle, or route for a corridor. Follow next_offset for another page.

get_navigation_pointC

Project a world point onto the game's walkable ground mesh and read its height and area.

get_terrain_gridB

Sample the game's navigation graph into a terrain grid in one call: walkability, water, roads, building interiors, bridge candidates and optional ground heights. Much faster than repeated get_navigation_point calls (needs plugin 0.2).

acquire_controlB

Claim the shared write lease or renew it by passing the existing token.

release_controlB

Pause any active advance and release the write lease.

pauseB

Apply gameplay pause without dismissing popups.

set_stockpile_amountA

Set a supported resource in the shared stockpile while paused. Read resource_types for editable IDs and pass the current quantity as expected_amount.

move_squadA

Queue a native move 6–100 world units away. Set replace_orders to override existing orders or move a vehicle. Pause first. Retry with the same request_id.

move_npc_groupC

Submit a native movement target for a nonplayer group. NPC AI may choose another target after simulation resumes.

attack_groupB

Queue a native attack on a visible hostile group. Read the squad's active and queued orders to follow it.

scavenge_buildingC

Send a squad to enter and scavenge a building that can be scavenged.

return_to_stockroomA

Order a squad into a shared stockroom or headquarters. Aboard a vehicle the game unloads the trunk on arrival; a walking squad enters on foot and deposits carried resources. Omit stockroom_id to return to headquarters.

take_vehicleA

Order a walking squad to reach a discovered abandoned vehicle and take it over. The squad walks there and boards natively; read squads and vehicles afterwards to confirm the owner change.

set_building_workersC

Change a building job's worker limit using the same setter as the game. Read worksites for assigned workers and valid limits.

equip_squad_memberC

Equip an existing weapon from squad cargo or stockpile. Uses one weapon and drops the previous non-default weapon via the native handler.

refill_squad_member_ammoC

Refill a member's weapon from matching ammunition in the chosen container.

get_orderC

Inspect the result of a move. Read position and target to verify arrival.

advanceA

Run the simulation at normal speed for at most 1–12 wall-clock seconds. Poll get_state. The bridge reapplies gameplay pause at the deadline unless keep_running is set. Background advance requires Unity to run in the background and explicit allow_background.

get_building_infoB

Read one building: type, state, scavenge flags, resource icons (Gun/Fuel/Drugs/Tools/Metal/Warehouse...), and loot details when a squad has already entered it (scavenge progress + remaining crates).

get_scavenge_progressB

List every in-progress scavenge: progress 0-1, time left, remaining loot crates and characters inside.

find_buildings_by_poiC

Find buildings by map resource icon: pass POI archetypes such as ["Gun","Fuel","Drugs","Metal"]. Uses the same OSM tag rules as the in-game icons.

get_missionsB

Detailed active missions: title key, chapter, time limit and per-objective progress (kill counts, hideout counts, buildings visited). Optionally list all objective types.

get_expedition_tilesA

List loaded expedition tiles: area/location type, resource icons (Gun/Fuel/Drugs...), scavengable state, scavenge progress and collected resources. Open the world map in-game first so tiles load.

get_vehicle_mapA

List every vehicle on the map including undiscovered wrecks (get_world_data only shows discovered/owned ones), with type, state, fuel, cargo and distance to HQ.

cheat_listA

List the available cheat/debug bridge methods and their arguments. Requires the write lease.

cheat_heal_squadsA

Heal every member of the player's squads back to full health (keeps current max HP). Requires the write lease.

cheat_refill_ammoA

Refill the ammunition of every weapon carried by the player's squads. Requires the write lease.

cheat_add_resourcesA

Add resources straight into the shared stockpile, bypassing scavenging. Requires the write lease.

cheat_unlock_expeditionA

Unlock every expedition tile on the world map. Requires the write lease.

cheat_complete_missionsA

Immediately complete all active missions and their objectives (story progression shortcut). Requires the write lease.

cheat_scavenge_allB

Mark every abandoned building on the map as scavenged in one step. Requires the write lease.

cheat_set_timeA

Set the in-game day/hour or the time-speed multiplier. Requires the write lease.

cheat_spawn_squadA

Spawn a new player squad at a walkable position. Requires the write lease.

cheat_reveal_groupsB

Reveal every hostile group on the map, including hidden ones. Requires the write lease.

cheat_complete_missionA

Complete the objectives of ONE active mission (by mission_id). Safer than cheat_complete_missions which finishes everything. Requires the write lease.

get_weatherA

Read current weather, moon phase and the 38-day forecast from the newest save file. The bridge has no weather endpoint, so this reads on-disk save data and may lag by up to one in-game day. A full moon night usually brings a large horde.

observeA

Composite snapshot: game time, HQ, squads with vehicles, stockpile, hostile summary and weather in one call. Aggregates several bridge reads (no extra plugin support needed).

get_threatsB

List hostile groups with distance/direction to HQ and to player squads, plus whether they are moving toward the settlement. Hidden groups are included by default.

get_economyB

Resource shortfalls versus development thresholds plus worksite staffing (idle construction jobs) in one call.

get_squads_reportB

Squad roster with orders, health, cargo, assigned vehicle, trunk load and fuel in one call.

get_events_reportB

Active missions with objective completion and a list of triggered events, condensed.

get_save_infoA

Local save metadata (newest save name, in-game day/time text, city) plus weather and moon phase. Works even when the game bridge is offline.

get_map_infoA

Map bounds, tile size and city name from the running game.

get_recommendationsB

Heuristic action list for the AI squad leader: defend, resupply, reassign workers, retreat wounded.

bridge_probeB

Measure round-trip latency of the game bridge and report session readiness.

export_snapshotA

Write a JSON snapshot of the current world (time, squads, threats, economy) to .local/snapshots/ and return the file path. Read-only with respect to the game.

get_terrain_reportA

One-call terrain analysis: water/road/wall/building shares, bridge candidates with coordinates, elevation range and the clearest corridor rows. Uses get_terrain_grid internally.

plan_routeB

Plan a walkable route between two world points on the game's pathfinding graph (roads cost less, water/void blocked). Returns distance, waypoints and how many bridge cells the route uses.

get_loot_targetsB

Rank un-scavenged buildings for the AI squads: nearest targets, per-squad distances and building clusters (dense areas give more loot per trip).

get_scavenge_planA

Greedy scavenging plan: assigns each squad its own nearest cluster and returns concrete building_id sequences that can be executed with scavenge_building.

get_daily_reportA

Concise situation report combining time, weather/moon, economy shortfalls, hostile summary, mission progress and heuristic recommendations.

get_colonists_reportB

Population overview: totals, children, job distribution, armed/unarmed adults, wounded count and the workers assigned to each job.

get_weapons_reportA

Weapon and ammunition overview: weapon types available, magazine sizes, per-squad composition and members without firearms.

get_worker_balanceB

Compare idle construction jobs with the current job distribution and suggest which sites to staff first.

get_changesA

Diff since the previous call in this MCP process: stockpile deltas, squad health changes and hostile count change. Call repeatedly to watch the settlement.

get_vehicle_huntB

List vehicles with ownership, cargo/fuel and the nearest squad, plus unowned vehicles suitable for early-game capture.

get_progressionA

Read the save's ContentStateController: which buildings, productions, enemy spawn types and tech are unlocked vs still locked by story progression. Works offline (no game bridge needed).

diagnose_pauseA

Explain why the game is paused (popup / UI panel / manual or event pause / focus loss) and what can resume it.

wait_unpausedA

Poll until the game is unpaused (and no popup/UI pause), up to a timeout. Useful right before issuing orders.

get_enemy_reportB

Enemy overview: every hostile group with type, member count, weapon mix, firepower score, distance/direction, whether it is moving toward the settlement, and the nearest squad.

get_enemy_lairsA

List infected/bandit lairs (hideout groups) with strength, distance, direction and a rough threat ranking, so the AI can decide which nest to clear first.

get_enemy_movesA

Track hostile group movement between calls (persisted to .local/cache): shows groups that changed position/destination, their speed and estimated arrival at HQ.

get_combat_estimateB

Heuristic combat estimate for chosen squads against one hostile group: firepower scores, member counts, HP, and advice (attack / retreat / need reinforcements).

get_infected_typesA

Break down infected groups by variant: normal infected, infected dogs, suicide bombers (explosives), alpha infected, birds, giants and boosted variants. Returns counts, HP range, tier and which squads are nearest.

get_animal_reportB

Animals overview: infected animals (dogs, birds, bears, moose, bulls, giants) plus normal wildlife (boar, deer), with species, count, distance and hostility.

get_neutral_reportA

List non-hostile groups: neutral bandits (hostile_to_player=false), animals, immigrants and other neutral factions, with weapons, distance and whether they can be attacked at all.

get_enemy_densityB

ASCII heatmap of hostile group members over the map (default 250-unit cells), useful for seeing where the threats concentrate.

get_resource_hotspotsB

One-call scan of buildings carrying resource icons: for each POI type (Gun/Fuel/Drugs/Tools/Metal/Warehouse/Food) show how many exist and the nearest few, using the same OSM icon rules as the game.

get_expedition_summaryA

Expedition overview: loaded tile count, scavenged fraction, area/location type distribution, aggregated resource icons (Gun/Fuel/...) and the richest tiles. Open the world map in-game first.

get_mission_planA

For every active mission objective, produce concrete next actions from live data: which hostile groups to kill, buildings to scavenge/adapt, markers to visit, wounded squads to heal, idle worksites and sunset countdown. Complements get_missions (which lists objective types).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.8/5.0

Scored across 74 tools

Disambiguation2/5

Read-side tools overlap heavily: observe, get_daily_report, get_state, get_world_data, get_save_info and get_threats all return overlapping world snapshots, and the enemy family (get_enemy_report, get_enemy_lairs, get_enemy_moves, get_infected_types, get_animal_report, get_neutral_report, get_enemy_density, get_threats) has fuzzy boundaries. Descriptions hint at differences (e.g. get_mission_plan complements get_missions), but an agent could easily pick the wrong report for a simple question.

Naming Consistency3/5

Everything is snake_case and reads consistently, and cheats share a cheat_ prefix. However verbs are mixed: bulk reads use get_*, while many action tools use bare imperatives (observe, status, pause, advance, move_squad, scavenge_building, take_vehicle, hud_message), so there is no single predictable pattern.

Tool Count1/5

74 tools for one game bridge is far beyond a well-scoped surface, and many earn no unique place (a dozen near-duplicate enemy/report readers). The cheat_* family alone adds ten rarely-used tools, pushing the set well past the 50+ extreme-mismatch threshold.

Completeness3/5

Coverage of reading state, movement/combat/scavenge orders, terrain routing and cheats is broad, but core loop operations are missing: no construction/placement order, no research/tech assignment (only reading progression), no recruitment or squad management beyond equipping, and no save/load. Agents can read nearly everything but cannot drive several major game systems.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues