TIATool

Installing TIATool

One line (PowerShell, engineering PC with TIA Portal):

irm https://tiatool.dev/install.ps1 | iex

Unattended with a key: $env:TIATOOL_LICENSE_KEY='XXXX'; irm https://tiatool.dev/install.ps1 | iex Or run TIATool-Setup.exe /SILENT /LICENSEKEY=XXXX /CLIENTS=claude,cursor.

Setup (installer/tiatool.iss) installs to C:\Program Files\TIATool, detects TIA Portal V17–V21 Openness, adds you to "Siemens TIA Openness" (sign out/in once), then runs tiax-agent init as you: doctor → license key → MCP registration for Claude Desktop, Cursor, VS Code (ticked by default) and, when you tick them, Claude Code, Windsurf, Cline, Codex CLI and Gemini CLI (/CLIENTS=claude,cursor,claude-code,... unattended). Log: %LOCALAPPDATA%\TIATool\install-init.log.

Verify the installer before you run it: its SHA-256 is published on the website's /download.sha256 (Get-FileHash TIATool-Setup.exe). After an upgrade from 0.7 or older, read the upgrade notes in CHANGELOG.md — online tools now need a policy, and existing caches want a re-scan.

Licence

TIATool needs an active licence: EUR 99.99/month or EUR 999.99/year per seat. Without one every tool refuses with an "activate or buy" message; doctor, init, license and setup still work.

tiax-agent license activate TT-XXXXX-XXXXX-XXXXX-XXXXX     # a purchased key
tiax-agent license status                                  # plan, features, expiry

Air-gapped PC (yearly, enterprise, offline and edu plans): tiax-agent license request-offline --key <KEY> writes a request file; upload it on the website from any PC with internet and bring back the licence file; tiax-agent license import <file> installs it (verified offline, bound to this PC, no refresh). Behind an authenticating proxy, licence and update calls use the system proxy with your Windows credentials. tiax-agent update --check tells you about a newer release; it never installs anything.

Administrators: policy

Online tools (plc_download, plc_online, plc_compare_online) are off until a policy allows them, and a policy can make a PC read-only, switch scripts off, limit projects to folders and require approvals. From an elevated prompt:

tiax-agent policy init --machine --allow-online     # %ProgramData%\TIATool\policy.json, commented example
tiax-agent policy show                              # what applies, and which file set each value

Examples (read-only plant, commissioning PC, CI runner): security/policy.md.

Client entry written by setup:

{ "mcpServers": { "tiatool": { "command": "C:\\Program Files\\TIATool\\tiax-agent.exe", "args": ["mcp"] } } }

Try it without TIA Portal (5 minutes)

tiax-agent init --demo

Builds %LOCALAPPDATA%\TIATool\demo from the shipped sample ({app}\samples: a small export with PLC blocks, a tag table and an HMI, plus an equipment model), scans it, and registers it as the server tiatool-demo (read-only explore toolset) in every AI client installed for you — your tiatool entry is never touched. Restart the client and ask the questions it prints. Rebuild with the same command; remove with tiax-agent setup --remove --name tiatool-demo --all.

AI clients

tiax-agent setup --client <list> or --all (every client installed for you):

Client id Config written
Claude Desktop claude %APPDATA%\Claude\claude_desktop_config.json (stdio only)
Cursor cursor %USERPROFILE%\.cursor\mcp.json
VS Code vscode %APPDATA%\Code\User\mcp.json (servers)
Claude Code claude-code %USERPROFILE%\.claude.json user scope ($CLAUDE_CONFIG_DIR if set)
Windsurf windsurf %USERPROFILE%\.codeium\windsurf\mcp_config.json
Cline cline %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
OpenAI Codex CLI codex %USERPROFILE%\.codex\config.toml [mcp_servers.tiatool] ($CODEX_HOME; stdio only)
Gemini CLI gemini %USERPROFILE%\.gemini\settings.json

Other servers and your own keys in the entry are kept; every change first takes a new timestamped *.bak. Options: --toolset explore (recommended for read-only users), --http, --name, --remove, --dry-run. tiax-agent doctor lists where TIATool is registered.

Long calls (builds, compiles: minutes): Cline, Codex and Gemini CLI get a 600 s per-server timeout in the entry. Claude Code reads MCP_TOOL_TIMEOUT from its own environment — set MCP_TOOL_TIMEOUT=600000 (ms) there or in ~/.claude/settings.json "env" (MCP_TIMEOUT is only the server start-up timeout; setup no longer writes it into server entries, where no client read it).

Support and privacy

  • tiax-agent support-bundle [--out x.zip] — doctor output, versions, config, logs, policy and selftest overlay with licence keys, tokens, e-mails and user/machine names masked. Written locally; nothing is uploaded.
  • tiax-agent privacy — every endpoint TIATool can contact (licence server only; no telemetry).
  • Logs: %LOCALAPPDATA%\TIATool\logs\tiax-agent*.log (Linux: ~/.local/state/TIATool/logs), 5 × 1 MB. TIATOOL_LOG_DIR moves them, TIATOOL_NO_LOG=1 turns them off.

Flavours: the hosted preview installer (preview-installer.yml) ships tiax.exe (V19) only, compiled against the Openness reference stub. The full build (release.yml, TIA runner) ships tiax.exe (V19) and tiax-v21.exe (V21). tiax-v17/v18/v20.exe are built by build.cmd / release.yml when TIA_PUBLICAPI_V17/V18/V20 exist on the build machine (unverified). Release: tag vX.Y.Z → .github/workflows/release.yml (self-hosted TIA runner, optional PFX signing). The site's /download redirects to the TIATOOL_INSTALLER_URL env var (503 until set).

Built from docs/INSTALL.md in the product repository. Links to files that are not published here are shown as plain text.