MCP 配置指南

本服务是标准的 Streamable HTTP MCP 服务器,任何支持该传输的客户端都可以接入。 提交一份 SimaticML XML(FC / FB / OB 块),即可得到该块的 PNG 梯形图。

快速开始

  1. 登录并创建 API Key — 在 控制台 微信扫码登录,创建 render_live_… 密钥(明文只显示一次)。
  2. 配置 MCP 端点 — 客户端选择 Streamable HTTP,填入 https://tia.hubwiz.com/render/mcp,加 Authorization: Bearer …。
  3. 提交 SimaticML — 调用 render_simaticml, 传入 XML 与可选 scale / network。

端点与鉴权

MCP 端点https://tia.hubwiz.com/render/mcp
传输Streamable HTTP(无状态,POST JSON-RPC)
鉴权 Authorization: Bearer render_live_…(也接受 X-API-Key)
计费每次 tools/call 扣 1 次额度;握手请求与 render_version 免费

API Key 在 控制台 创建与吊销,明文只显示一次。

Claude Code

claude mcp add --transport http lad-render https://tia.hubwiz.com/render/mcp \
  --header "Authorization: Bearer render_live_你的密钥"

添加后运行 claude mcp list 确认服务 connected。

Cursor / VS Code / 通用 JSON 配置

{
  "mcpServers": {
    "lad-render": {
      "url": "https://tia.hubwiz.com/render/mcp",
      "headers": {
        "Authorization": "Bearer render_live_你的密钥"
      }
    }
  }
}

调用示例

准备一份 SimaticML XML(例如从 TIA Portal 导出的 FC / FB / OB 块),传给渲染服务:

render_simaticml({
  "xml": "(完整的 SimaticML XML)",
  "scale": 2
})

返回的第一个 content 是 image/png,助手可以直接查看;第二个 content 是元数据(块名、语言、网络列表、图片尺寸等)。如果块很高、图片到达像素上限, 用 network(0 起始)只渲染一个网络:

render_simaticml({
  "xml": "(同一份 SimaticML XML)",
  "network": 0,
  "scale": 2
})

工具与参数

工具参数说明
render_version — 免费;返回渲染器版本、支持的语言/块类型、全部限制
render_simaticml xml(必填) 一份 SimaticML,包含一个 FC / FB / OB 块
scale(可选) 1–3,默认 1;越大越清晰,也越容易触发像素上限
network(可选) 0 起始的网络索引;不传 = 整块(含接口声明表)

一次调用只处理一个块。多个块请逐个调用;被调用的 FC/FB 也各自作为独立块提交。

支持范围与限制

支持LAD / SCL 网络的 FC、FB、OB 块;混合 LAD/SCL 块
不支持GlobalDB、InstanceDB、UDT、标签表(数据文档);FBD、GRAPH、STL
单份 XML4 MiB
MCP 请求体8 MiB
最大图片32,000,000 像素,单边不超过 20,000 px
PNG 上限12 MiB
限流120 次 / 分钟 / API Key 或 IP

render_version 返回的是服务端当前实际限制,客户端应以它为准。

常见错误码

错误码含义处理
INVALID_SIMATICMLXML 非法或找不到块检查是否传入了完整 XML(包含 <Document>)
UNSUPPORTED_DOCUMENTDB / UDT / 标签表等无梯形图文档改用 FC / FB / OB 块
UNSUPPORTED_LANGUAGEFBD / GRAPH / STL 等只支持 LAD / SCL
LAYOUT_ERROR网络不是串并联结构,布局失败检查块是否包含异常网络
INVALID_ARGUMENTscale 或 network 越界按 render_version 的限制调整
RENDER_TOO_LARGE超过 XML / 像素 / 尺寸 / PNG 限制降低 scale 或指定 network
QUOTA_EXHAUSTED额度用完到控制台购买额度

与兄弟服务一致,tools/call 采用“先扣费后执行”:文档非法时仍会消耗 1 次额度,但会返回完整的错误信息供修正。