通过 MCP 将 AI 助手连接到 TIA Portal(Claude Desktop、Claude Code 及其他客户端)
简体中文译文。英文原文:connect-ai-assistant-mcp.md。
AI 助手可以通过 MCP 读取和编辑 TIA Portal V21 项目。tia MCP 服务器是一个小型 npm 包,它与 PLCWare 的 serve 应用通信,而 serve 是负责实际
Openness 工作的 Windows 程序。助手负责准备工作,凡是会触及真实 PLC 的操作,都由人来批准。本指南把两者连接起来。适用于 TIA Portal V21。
[ 你的 AI 客户端 ] --(MCP/stdio)--> [ tia MCP (npx) ] --(HTTP)--> [ serve(Windows + TIA Portal V21)]你需要什么
- 一台装有 TIA Portal V21 和 PLCWare 应用(
serve)的 Windows 机器,且serve已在运行并已激活许可证。在托盘应用中,License 选项卡:粘贴你的密钥并保存; API 选项卡:Start API(默认端口 5000)。在命令行中:TIAOpenness.exe serve 5000。 - 运行你的 AI 客户端的那台机器上要有 Node.js(20 或更高版本)。MCP 通过
npx运行,所以无需再安装其他东西。 - 一项设置:
TIA_API_BASE,即serve的地址。MCP 不发送任何密钥:激活应用的是主机上的许可证。
Claude Code
一条命令,用户级别(对你所有的项目生效):
claude mcp add tia --scope user -e TIA_API_BASE=http://localhost:5000 -- npx -y @renanlido/tia-openness-mcp请把服务器名称(tia)放在前面。-e 可以接受多个值,而 Claude Code 2.1.238 会拒绝写在名称之前的 --env KEY=VALUE。用 claude mcp list 检查,应当看到 tia
处于已连接状态;也可以在会话中用 /mcp 检查。
Claude Desktop
编辑 claude_desktop_config.json。在 Claude Desktop 中,Settings > Developer > Edit Config 会打开该文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"tia": {
"command": "npx",
"args": ["-y", "@renanlido/tia-openness-mcp"],
"env": { "TIA_API_BASE": "http://localhost:5000" }
}
}
}重启应用。在 Windows 上,先按上面的方式直接使用 npx。如果客户端提示服务器启动失败,再改用 cmd /c 形式(仅 Windows 上才有):
"command": "cmd", "args": ["/c", "npx", "-y", "@renanlido/tia-openness-mcp"]只保留一个 tia 条目:两个服务器会同时与同一个 serve 通信,而 serve 一次只执行一个操作。
其他客户端
Codex、Gemini CLI、Cursor、VS Code 和 Windsurf 使用同样的命令 npx -y @renanlido/tia-openness-mcp 和同样的 TIA_API_BASE 变量;
不同之处只在于各客户端保存配置的位置。每个客户端的具体格式见安装手册。
当你的 AI 客户端在另一台机器上
一种常见的部署是:编辑器在 Mac 上,serve 在 Windows 虚拟机里。在 Windows 一侧,请在托盘应用中允许远程访问(API 选项卡,Allow remote access...,它会保留 URL 并打开防火墙端口),
把主机设为 0.0.0.0 并启动 API;在命令行中则是 TIAOpenness.exe serve 5000 --host 0.0.0.0。该机器上的许可证必须已激活。在客户端一侧,把虚拟机的地址直接写进 MCP 条目本身,替换
http://localhost:5000。MCP 读取的是条目里的 TIA_API_BASE:在你的 shell 中导出的变量不会替换它。
对于 Claude Code,用虚拟机的地址重新添加该服务器(如果 tia 已经注册,请先用 claude mcp remove tia 删除):
claude mcp add tia --scope user -e TIA_API_BASE=http://<虚拟机IP>:5000 -- npx -y @renanlido/tia-openness-mcp对于 Claude Desktop 以及其他使用 JSON 配置的客户端,请修改文件中的值:
"env": { "TIA_API_BASE": "http://<虚拟机IP>:5000" }然后开启新会话或重启应用,让 MCP 以新地址启动。
许可证只负责激活服务器,并不识别调用者是谁。请用防火墙或 VPN 控制访问。
检查连接
让助手调用 tia_ping。它返回 { base, reachable, activated, latencyMs, hint }:
reachable: false:地址、端口或防火墙有问题,或者serve没有运行。activated: false:主机上的许可证缺失或无效。- 两者均为
true:serve可访问且已激活。但这不等于已就绪:请调用tia_readiness检查 Windows 用户组、x64 以及 TIA Portal 的安装情况 (在 Windows 上配置 TIA Portal Openness)。
之后,tia_status 和 tia_connect 会打开项目或附加到项目。一个 serve 进程的首次连接,可能会在 Windows 机器上的 TIA Portal 里弹出安全提示,只有人才能回答它。
可以让它做什么
- “列出 PLC_1 的块,告诉我哪些不一致。”(
tia_plc_blocks) - “导出 FB_Motor,并检查它是否与 git 中的文件一致。”(
tia_export_block、tia_block_compare) - “编写一个实现 X 的 SCL 功能块,放进项目并编译。”(
tia_source_put、tia_compile) - “编译 PLC_1 并总结错误。”(
tia_compile)
这些工具按它们能改动的内容分组:读取类(R 类)不改变任何东西;离线修改类(M-off 类)会编辑项目,但绝不触及 PLC;少数带关卡的工具会触及物理世界。
助手不能单独完成的事
- 下载到 PLC。
tia_download先返回一份计划和一次性的planHash,交给人审阅;只有人批准之后,它才会带着approved: true和同一个planHash再次运行。 如果其间软件发生了变化,serve会拒绝并返回409 plan_stale。助手从不批准。 - **转到在线、上传站、扫描网络。**每一项都是需要人参与的关卡。
- **机密信息。**主密钥、专有技术保护密码、证书密码或密码策略,始终由人提供。助手绝不会编造。
- **安全(F)逻辑。**绝不会自主地创建、修改或下载。
- 同时做两件事。
serve只有一个串行 worker。耗时较长的操作(连接、编译、下载……)可能会返回带jobId的status: "running";助手此时用tia_job_status等待,而不是重复发起调用。
只读模式
想在没有写入风险的情况下试用 MCP,请在服务器的 env 中把 TIA_MCP_MODE 设为 read-only:
"env": { "TIA_API_BASE": "http://localhost:5000", "TIA_MCP_MODE": "read-only" }这样 MCP 只会注册读取类工具:任何会修改项目或触及控制器的工具都不会被列出。由于 tia_start 和 tia_connect 不是读取类工具,助手在此模式下无法打开项目:项目必须已经在
serve 中打开。
它防范的是助手,而不是人:它存在于 MCP 中,真正起决定作用的仍是 serve 上的许可证权限范围。早于该模式的 MCP 版本会忽略这个变量并注册所有工具,所以请检查
npx -y @renanlido/tia-openness-mcp --version(该选项从 1.9.2 开始提供),并在你的客户端里确认 tia_compile 之类的写入类工具没有出现。
哪个套餐能做什么
Basic 可以读取项目、离线编写(块、变量、硬件)并编译。Pro 在此之上增加下载到真实 PLC 和转到在线,并且始终处于上述人工关卡之后。30 天试用包含 Pro 权限范围。
如果想要从规格到经过验证的项目的引导式流程,开源的 Claude Code 插件 tia-harness 会在同一个 MCP 之上增加 skills 和子代理。
相关指南
开始 30 天免费试用
PLCWare 会针对 TIA Portal V21,替你或你的 AI 助手完成这些步骤。试用期为 30 天,包含 Pro 权限范围,无需信用卡,且不会续期。你需要自行向西门子 另购带 STEP 7 Professional 许可证的 TIA Portal V21。
TIA Portal、SIMATIC 和 Siemens 是西门子公司(Siemens AG)的商标。PLCWare 是面向 TIA Portal 的独立产品,与西门子无关联,也未获 其认可。