MCP 配置指南
本服务是标准的 Streamable HTTP MCP 服务器,任何支持该传输的客户端都可以接入。 提交一份 SimaticML XML(FC / FB / OB 块),即可得到该块的 PNG 梯形图。
快速开始
-
登录并创建 API Key — 在
控制台 微信扫码登录,创建
render_live_…密钥(明文只显示一次)。 -
配置 MCP 端点 — 客户端选择 Streamable HTTP,填入
https://tia.hubwiz.com/render/mcp,加Authorization: Bearer …。 -
提交 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 |
| 单份 XML | 4 MiB |
| MCP 请求体 | 8 MiB |
| 最大图片 | 32,000,000 像素,单边不超过 20,000 px |
| PNG 上限 | 12 MiB |
| 限流 | 120 次 / 分钟 / API Key 或 IP |
render_version 返回的是服务端当前实际限制,客户端应以它为准。
常见错误码
| 错误码 | 含义 | 处理 |
|---|---|---|
INVALID_SIMATICML | XML 非法或找不到块 | 检查是否传入了完整 XML(包含 <Document>) |
UNSUPPORTED_DOCUMENT | DB / UDT / 标签表等无梯形图文档 | 改用 FC / FB / OB 块 |
UNSUPPORTED_LANGUAGE | FBD / GRAPH / STL 等 | 只支持 LAD / SCL |
LAYOUT_ERROR | 网络不是串并联结构,布局失败 | 检查块是否包含异常网络 |
INVALID_ARGUMENT | scale 或 network 越界 | 按 render_version 的限制调整 |
RENDER_TOO_LARGE | 超过 XML / 像素 / 尺寸 / PNG 限制 | 降低 scale 或指定 network |
QUOTA_EXHAUSTED | 额度用完 | 到控制台购买额度 |
与兄弟服务一致,tools/call 采用“先扣费后执行”:文档非法时仍会消耗
1 次额度,但会返回完整的错误信息供修正。