Skip to content

MCP server

DayZ Labs ships with a Model Context Protocol (MCP) server. It lets an AI agent — for example Claude — drive the launcher for you: check status, start and stop the server, read and diagnose logs, build and preflight mods, edit the Central Economy, download Workshop items, and run git operations.

This is a power-user feature. You do not need it to use DayZ Labs day to day — the tray app already does everything through clicks. But if you work with an AI assistant, pointing it at the MCP server lets it do those same things on your behalf.

You don’t build anything. When you install DayZ Labs, the MCP server is installed alongside it. The MCP entry in the app’s left navigation shows its details and confirms it’s present.

The bundled server executable lives at:

%LOCALAPPDATA%\DayZLabs\current\mcp\dzl-mcp.exe

That’s the path you give your MCP client.

Add the server to your MCP client’s config. For most clients (including Claude) that means a small JSON entry. Use the full path to the bundled exe:

{
"mcpServers": {
"dzl": {
"command": "%LOCALAPPDATA%\\DayZLabs\\current\\mcp\\dzl-mcp.exe"
}
}
}

That’s it — no dotnet, no build step. The server reads the same config the tray app uses, so the agent sees your real mods, presets, servers, and paths.

By default it operates on your config at:

%LOCALAPPDATA%\dzl\config.json

If you keep more than one config and want the agent to use a specific one, set the DZL_CONFIG environment variable to that file’s absolute path in the same JSON entry under an "env" block.

Once connected, the agent has these tools. They map one-to-one onto the same actions you’d take in the tray app.

ToolWhat it does
statusRunning state, mode, port, active profile, paths (dayz_path, dayz_server_path, …), enabled mods, newest log files.
startStart the server (and optionally the client). mode = debug | normal.
stopStop the server (and optionally the client).
restartRestart the server. mode = debug | normal.
ToolWhat it does
list_modsThe enabled mods (path + side) of the active profile.
list_presetsList profiles/presets; the active one is flagged.
set_presetSwitch the active profile by name.
list_mod_projectsMod source projects under your Projects root with their P: link state.
new_mod / import_mod / link_modScaffold / import / link a mod source project.
ToolWhat it does
logsLast N lines of a log: script | rpt | adm | client.
diagnose_logsScan a log tail for known failure signatures (verification kicks, build-tool symptoms) → cause/fix entries.
ToolWhat it does
preflightValidate a mod before building (config sanity, references, baked paths, path hygiene, ODOL, script traps).
build_modBuild a mod into a PBO and add @<Mod> to the active server’s run-list.
generate_keyCreate your signing key pair (one key signs all your mods).
pack_pboPack a source folder into a PBO (Addon Builder).
unbinarizeUnbinarize a config.bin to .cpp (CfgConvert / DeRap).
convert_paaBatch convert PNG/TGA to PAA in a folder (ImageToPAA).
list_tools / open_toolDiscover / launch DayZ Tools GUIs.
work_drive_actionCheck / mount / unmount the P: work drive.
ToolWhat it does
types_listList types from the active mission’s CE files (filter by name / origin / file).
types_lintLint the active mission’s CE against cfglimitsdefinition and structural rules.
types_setSet/insert a type (only given fields change; versioned backup first).
types_removeRemove a type (versioned backup first).
types_backups / types_restoreList / restore versioned types.xml backups.
ToolWhat it does
new_serverScaffold a new server instance and save it as a preset.
list_serversList scaffolded server instances.
use_serverActivate a server instance by name.
ToolWhat it does
workshop_searchSearch the Workshop (needs a Steam Web API key).
workshop_addDownload an item via steamcmd (opens a console for Steam login/Guard).
workshop_updateRe-download item(s) to update them.
ToolWhat it does
repo_statusGit status of a mod project.
git_changes / git_log / git_diffChanged files / recent commits / work-tree diff.
git_commitStage and commit a mod’s changes.
git_branches / git_checkout / git_create_branchList / check out / create branches.
git_push / git_pullPush / pull the current branch (needs a remote).
create_repoInit git + create & push a GitHub repo for the mod.
releaseCut a GitHub release at HEAD (creates + pushes the tag).
  • workshop_add opens the steamcmd console for an interactive login plus Steam Guard the first time — you’ll need to complete sign-in yourself.
  • Central Economy writes always snapshot the file first, so an agent can’t lose your work. Use types_backups / types_restore to roll back.
  • If the tray app is open with its optional automation server turned on (it hosts a named pipe, dzl-ipc-v1), the agent’s actions route through that running app so it stays the single source of truth — what the agent does, you see live in the tray. This is off by default; turn it on in the app only if you want the agent and the tray to share one live session.

DayZ Labs (dzl) is an unofficial, community-made tool, not affiliated with or authorized by Bohemia Interactive a.s. Bohemia Interactive, ARMA, DAYZ, ENFUSION and all associated logos and designs are trademarks or registered trademarks of Bohemia Interactive a.s.