MCP Server for AI Agents

Let ChatGPT, Claude, Codex, Cursor and other AI agents build WinCC Unified widgets with the same converter and checks that run on svghmi.pro.

What it does

AI agents that write WinCC Unified widgets by hand tend to get the SVGHMI format subtly wrong — headers, property declarations and binding expressions that WinCC then rejects. The svghmi.pro MCP server gives your agent the real tools instead. It works with your svghmi.pro account and spends the same credits as the site.

An agent session: the request for a 3-way valve widget, the tool calls search_widgets, convert_svg_to_svghmi, validate_svghmi and render_svghmi_preview, and the saved .svghmi file

15 tools in five groups. The free ones cost nothing to call, as often as you like.

Find ready-made widgets

search_widgets

Free

Searches 570+ ready-made symbols of the svghmi.pro catalog: pumps, valves, tanks, motors, conveyors, pipes, sensors, HVAC, P&ID symbols and flags. Every result has a preview of each state and says whether it is free or already yours through a set you bought.

list_widget_categories

Free

Lists the catalog categories with the number of symbols in each and links to their pages in the symbols reference.

get_widget

Free

Hands your agent a free widget, or one from a set you own: a permanent file_id the other tools accept, a download link, and what placing it in WinCC Unified needs (control type, recommended size, properties with their meaning). For a widget you do not own it returns the set, its price and a shop link instead.

list_owned_sets

Free

Lists the widget sets you bought, the other sets with their price, and how many catalog widgets are free.

get_widget_set

Free

For a set you own: the file_id of every widget in it and one download link to a zip of the whole set, for "put the whole pump set into my project".

check_widget_updates

Free

Takes the widgets installed in a project and tells which of them are catalog widgets and whether a newer version is available, up to 200 per call.

Create and edit widgets

convert_svg_to_svghmi

1 credit per file

Turns a plain SVG (from Illustrator, Inkscape, Figma or written by the agent) into a WinCC Unified dynamic widget: cleans the SVG and binds colours and other properties that you can edit in TIA Portal. Returns the .svghmi file and a link to open it on the site.

edit_svghmi_bindings

1 credit per edit

Changes the bindings of an existing .svghmi widget without hand-editing: add, rename or remove a property, change a default value, bind colour, opacity, line width, visibility, level, rotation, spinning or text to a property. It writes the same expressions as the converter and leaves the rest of the file untouched.

edit_svghmi_graphics

1 credit per edit

Changes the drawing of an existing widget: remove an element, set fill, stroke and opacity, move, scale or rotate, insert shapes and text, change the stacking order, flatten 3D shading to flat tones, or add a fill level clipped to the outline. Operations apply together or not at all; a failed edit costs nothing.

Check before importing

inspect_svghmi

Free

Shows the properties of a widget, where each one is used, and the list of elements with their addresses and current bindings.

validate_svghmi

Free

Checks an SVG or .svghmi file for the mistakes WinCC Unified rejects (namespaces, property declarations, binding expressions) and explains what to fix.

fix_svghmi

Free

Repairs the common mistakes automatically (binding operators, bare literals, missing or wrong hmi namespaces, duplicate attributes) and returns the fixed .svghmi file. Valid files are returned unchanged.

render_svghmi_preview

Free

Renders a widget with the property values you choose and returns a PNG preview with a link you can open, so you can check it before importing into WinCC Unified.

Large files

request_upload

Free

For a file too large to pass as text (over 50 KB for conversion, 512 KB for the free tools): a one-time upload link that works in the browser without login or as a direct upload by the agent. The link is valid for an hour, takes one file up to 2 MB, and the file is kept for 24 hours for your account only.

Account

get_account

Free

Shows the account behind the connection (API key, OAuth or Coilmind), your credit balance, and gives the agent a link to buy credits when they run out.

Pricing

Converting a file costs 1 credit, the same as downloading a converted widget on the site. Each edit of a widget's bindings or drawing costs 1 credit; repeating the same edit within 24 hours is free, and bindings other than fill and stroke colour, as well as the fill level, need purchased credits. Catalog search, widgets you own or that are free, validation, fixing, previews and account checks are free. Credits come from the same balance you use on svghmi.pro, do not expire, and are bought on the site: see pricing.

If a conversion fails, the credit is returned. Calls are rate limited per key or connected app to protect the service.

Connect from ChatGPT or Claude

No API key needed: you sign in to svghmi.pro and approve the connection once.

  1. Add a custom connector with the server URL https://mcp.svghmi.pro
  2. Claude (claude.ai and Claude Desktop): Settings → Connectors → Add custom connector. ChatGPT: add it as a custom app or connector — this currently needs developer mode to be turned on in the settings.
  3. You will be asked to sign in to svghmi.pro and approve access. Check that the page says it will return you to the app you are connecting.
  4. Ask for a widget in the chat. Conversions spend credits from your account.

Menu names change between versions and plans, so yours may differ slightly. You can see and disconnect connected apps in your profile under API & MCP.

Claude Code, Codex, Cursor, VS Code and other clients connect with an API key. Claude Code can also sign in through the browser instead — see its sign in tab below.

1. Get an API key

Keys are personal and tied to your account. Create one in your profile under API & MCP (login required; your email must be confirmed). The key is shown once — copy it straight into your agent's config. You can have up to 5 active keys and revoke any of them at any time.

Log in to get an API key

2. Connect your agent

Server URL: https://mcp.svghmi.pro

Pick your client and paste the snippet.

Terminal
claude mcp add --transport http svghmi https://mcp.svghmi.pro --header "Authorization: Bearer svh_YOUR_KEY"

Adds the server for the current project. Add --scope user to make it available in every project. Replace svh_YOUR_KEY with your key.

Terminal
claude mcp add --transport http svghmi https://mcp.svghmi.pro

No key: Claude Code opens the browser (or run /mcp in Claude Code to authenticate), you sign in to svghmi.pro and approve access. The page will say it returns you to an app on this computer — approve only if you just started it.

Terminal
codex mcp add svghmi --url https://mcp.svghmi.pro
codex mcp login svghmi

OpenAI Codex CLI. The login command opens the browser: sign in to svghmi.pro and approve access (the page will say it returns you to an app on this computer). To use an API key instead, set SVGHMI_API_KEY and add --bearer-token-env-var SVGHMI_API_KEY to the first command, skipping the login.

.cursor/mcp.json
{
  "mcpServers": {
    "svghmi": {
      "url": "https://mcp.svghmi.pro",
      "headers": {
        "Authorization": "Bearer svh_YOUR_KEY"
      }
    }
  }
}

Project-level config. For all projects use ~/.cursor/mcp.json instead. Replace svh_YOUR_KEY with your key.

.vscode/mcp.json
{
  "servers": {
    "svghmi": {
      "type": "http",
      "url": "https://mcp.svghmi.pro",
      "headers": {
        "Authorization": "Bearer svh_YOUR_KEY"
      }
    }
  }
}

Works with GitHub Copilot agent mode. Start the server from the MCP view or the file itself. Replace svh_YOUR_KEY with your key.

claude_desktop_config.json
{
  "mcpServers": {
    "svghmi": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.svghmi.pro",
        "--header",
        "Authorization:${SVGHMI_AUTH}"
      ],
      "env": {
        "SVGHMI_AUTH": "Bearer svh_YOUR_KEY"
      }
    }
  }
}

Uses the mcp-remote bridge (needs Node.js). The header is passed through an environment variable so the space in it survives on Windows. Restart Claude Desktop after editing. Replace svh_YOUR_KEY with your key.

Any MCP client with Streamable HTTP
URL:    https://mcp.svghmi.pro
Header: Authorization: Bearer svh_YOUR_KEY

Transport: Streamable HTTP. Authentication: a Bearer token in the Authorization header. Replace svh_YOUR_KEY with your key.

3. Ask for a widget

For example: "Draw a horizontal pump symbol as SVG and convert it to an SVGHMI widget with the body colour as a property". The agent calls convert_svg_to_svghmi, saves the .svghmi into your project, and can check it with render_svghmi_preview. Import the file into WinCC Unified as a custom widget.

Questions or a client that does not work? Contact us or see the FAQ.