Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Page properties
hiddentrue
idconnector-metadata


Property

Value

Sector

AI Analysis & MCP

Group

Cloud Services

Connector

AI MCP for Designer

Name

DesignerMCP



Enable AI-powered solution configuration through Model Context Protocol integration.

  • Name: DesignerMCP
  • Version: 0.9.0.0
  • Interface: TCP/IP
  • Configuration: ( native)

Table of Contents
maxLevel2
minLevel2
stylenone



Documentation pages: AI Integration  | MCP for Designer In Action | AI MCP for Designer Connector

 


Info
titlePreview Connector

Preview Version for tests and training, not released for production.


Overview

The AI MCP for Designer

service

enables AI models to interact with

the

FrameworX Designer

application

, providing intelligent assistance for solution configuration

tasks. Instead of manually creating and configuring objects, you can describe

. Describe what you need in natural language

and let

, AI

generate

generates the configuration.

Note: This connector is for configuration-time operations (building solutions in Designer.exe). For querying live data from running solutions, see AI MCP for Runtime Connector

.


Table of Contents
maxLevel2
minLevel2
indent10px
excludeOverview
stylenone


Integration Architecture

AI

Integration Architecture

AI
ModelMCP ProtocolSolution Configuration
Claude, GPT, GitHub Copilot
Model Context Protocol
Designer.exe
Structured Methods


Manage Solutions
Create
Read & Write Objects
Create User InterfaceAuxiliary tools
Schema & DiscoveryDesigner ControlDocumentation

Create

or

, open,
list solutions,  
get info & audit.

Get Solution Information
List, create,
Create or Update
Solution objectsList, create or update
Displays and SymbolsNavigate, TrackChanges
CrossRef, Docs Access 

update, delete,
rename objects.
Table schemas,
display elements,
protocol search.
Navigate, find,
screenshot,
runtime, security.
Search docs,
fetch pages,
inspect examples.




Visual Indicator

When AI is connected to Designer, you'll see:

  • "AI MCP" badge — Orange label in the toolbar area

  • Orange border — Glowing border around the main working area

This provides clear visual feedback that AI is actively controlling the Designer.


Prerequisites

  • FrameworX 10.1 Designer

  • .NET 8.0 runtime

  • Node.js (optional — allows AI to read screenshot and inspect_application results directly, otherwise user must upload files manually)

  • Claude Desktop or compatible MCP client

  • Network connectivity (if Designer runs on remote machine)


Configuration

Enable/Disable MCP for Designer

MCP for Designer is Enabled by default. To disable:

  1. Open FrameworX Designer

  2. Navigate to Uns → DataServers

  3. Uncheck Allow MCP For Designer

This setting is per-solution.


Connecting Claude Desktop

  1. Open Claude Desktop

  2. Go to Settings → Developer → Edit Config

  3. Open "claude_desktop_config.json"

  4. Add the configuration:

{ "mcpServers": { "FrameworX-Designer": { "command": "<ProductPath>\\fx-10\\MCP\\DesignerMCP.exe", "transport": "stdio" }, "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "C:\\Users\\<username>\\Documents\\FrameworX\\Exchange", "C:\\Users\\Public\\Documents\\FrameworX\\Transfers" ] } } }

  1. Replace <ProductPath> with your FrameworX installation directory (use double backslashes)

  2. Replace <username> with your Windows username

  3. Save and close

  4. Restart Claude Desktop completely (close via Task Manager)

Tip: You can run both MCP for Designer and MCP for Runtime simultaneously by including both configurations in your claude_desktop_config.json file.

The filesystem MCP server is optional — it allows AI to directly read the files produced by get_screenshot and inspect_application. Without it, those tools still work but the user must manually upload the resulting files into the conversation for AI to see them. All other Designer tools work independently of the filesystem server.

The filesystem server requires Node.js. If not already installed:

  1. Go to https://nodejs.org

  2. Download the LTS (Long Term Support) version — choose Windows Installer (.msi), 64-bit

  3. Run the installer: click Next, accept the license, keep the default install path, make sure "Add to PATH" is selected, then click Install


Verifying Connection

Key Capabilities

  • Navigate Designer UI — AI can observe and navigate the Designer interface
  • Create Objects — Generate Tags, Displays, Alarms, Devices, and other solution objects
  • Query Objects — Search and inspect existing solution configuration
  • Validate Configuration — Pre-check configurations before creating objects
  • Generate Displays — Create Canvas and Dashboard displays with proper FrameworX patterns
  • Discover Protocols — Search available communication protocols and their configuration schemas
  • Track Changes — Query audit trails, cross-references, and version control
  • Access Documentation — Search docs and download example solutions

When to Use MCP for Designer

Use CaseExample
Bulk object creation"Create 50 temperature tags following naming pattern Area{N}_Temp"
Display generation"Create a dashboard showing all pump statuses in a 2×3 grid"
Device configuration"Connect to a Siemens S7-1500 PLC at IP 192.168.1.10"
Configuration review"Review my alarm configuration and suggest improvements"
Learning assistance"Show me how to configure historian logging for this tag"
Object discovery"List all tags in the Boiler area that don't have alarms configured"
Protocol discovery"What protocols are available for Siemens PLCs?"
Cross-reference analysis"Where is tag Tank1Level used in the solution?"

How MCP for Designer Differs from Code or JSON Generators

MCP for Designer is not a code generator or wizard, it's a collaborative engineering tool.

Traditional GeneratorsMCP for Designer
Generate output, then doneWork side-by-side with AI continuously
Output goes to files, needs to open on toolsChanges appear directly in Designer UI
One-shot generationIterative conversation with full context
Limited to predefined templates and specific areasAI understands your entire solution
You adapt to the tool's structureTool adapts to your requirements

What this means in practice:

  • Ask AI to create 10 tags, review them in Designer, then ask for adjustments, all in the same conversation
  • AI sees your existing configuration and makes suggestions that fit your naming conventions
  • Describe what you want in natural language; AI figures out the right objects and settings
  • AI can explain why it configured something a certain way

Prerequisites

  • FrameworX 10.1 Designer
  • .NET 8.0 runtime
  • Claude Desktop or compatible MCP client
  • Network connectivity (if Designer runs on remote machine)

Configuration

Disable MCP for Designer

The MCP for Designer is Enabled by default. If you want to disable it:

  1. Open FrameworX Designer
  2. Navigate to Solutions → Settings
  3. Uncheck Allow MCP For Designer

This configuration has the scope of that solution only.

Connecting Claude Desktop

Configure Claude Desktop to connect to the Designer MCP server:

  1. Open Claude Desktop

  2. Go to Settings → Developer

    → Edit Config
  3. Open the "claude_desktop_config.json" file
  4. Add the MCP for Designer configuration:
{
  "mcpServers": {
    "FrameworX-Designer": {
      "command": "<ProductPath>\\MCP\\DesignerMCP.exe",
      "transport": "stdio"
    }
  }
}
  1. Replace <ProductPath> with your FrameworX installation directory (use double backslashes)
  2. Save and close the file
  3. Restart Claude Desktop completely (close via Windows Task Manager)

Tip: You can run both MCP for Designer and MCP for Runtime simultaneously by including both configurations in your claude_desktop_config.json file.

Verifying Connection

  1. Open Claude Desktop
  2. Go to Settings → Developer
  3. Verify "FrameworX-Designer" shows status "running"
  4. Open a new chat and click Search and Tools — you should see the Designer tools listed

Available Tools

AI MCP for Designer provides 17 tools organized by category:

Solution Management (3 tools)

ToolPurpose
create_solutionCreate a new FrameworX solution (.dbsln file)
open_solutionOpen an existing solution to work with
get_solution_infoGet solution overview with object counts per table
Object Operations (7
  1. Verify "FrameworX-Designer" and "filesystem" both show status "running"

  2. Open a new chat and click Search and Tools — Designer tools should be listed

  3. In Designer, verify the orange "AI MCP" badge appears


Available Tools

Solution Management (4 tools)

Tool

Purpose

list_solutions

List available solutions and templates on this machine (works without Designer running)

create_solution

Create a new solution, launch Designer, and return the MCP Context document with security info

open_solution

Open an existing solution, launch Designer, and return the MCP Context document with security info

get_solution_info

Get solution statistics — object counts per module, recent changes, audit trail

The solutions visible to the MCP for Designer are only the ones in folders defined as Allow Remote Access, by the Solution Center tool. By default the solutions in the sub-folder ..\Documents\FrameworXSolutions are visible.

→ See Solution Center — Server Information


MCP Authorization

The first open_solution, create_solution, or inspect_external_solution call in a conversation triggers an MCP authorization prompt. Approve it once — subsequent calls need no further authorization.

Object Operations (5 tools)

Tool

Purpose

list

get_objects

List objects in a table OR browse runtime namespaces

Read objects from config tables. detail='summary' for listing, detail='full' for complete JSON. Singletons always return full config.

browse_runtime_properties

Browse runtime namespace paths (Server, Client, Tag, Alarm, Device, etc.)

get

write_objects

_configGet full JSON configuration for specific objectsget_table_schemaGet field definitions and valid values for any table typecreate_objectsCreate new objects from JSON configurationvalidate_jsonValidate JSON configuration before creating objectsupdate_objectModify existing objects (respects MCP Category permissions)delete_objectsRemove objects from the solution

Object Operations (7 tools)

Runtime Values: When runtime is connected, object tools automatically include live values:

  • list_objects adds Value property to each object (when applicable)
  • get_objects_config adds Value, Quality, Timestamp properties (properties added are according the object type)

Use designer_action('get_runtime_diagnostics') to check if runtime is connected.

Designer Control (1 tool)

ToolPurpose
designer_actionNavigate UI, get state, control runtime, set execution profile

Available actions:

  • navigate — Go to module, table, or object path
  • get_state — Get current Designer view and selection (optional screenshot)
  • get_runtime_status — Check if runtime is running
  • get_startup_config — Get startup module settings
  • start_runtime / stop_runtime — Control runtime execution
  • set_execution_profile — Switch between Development and Production

Solutions opened by the AI, always open in Development profile

Display Tools (1 tool)

ToolPurpose
get_element_schemaGet display element properties (Canvas, Dashboard, TextBox, WizardSymbol, etc.)

Special queries:

Create or update objects from JSON. Modes: upsert (default), create. Supports dry_run for validation. Multi-table writes handle dependency order automatically.

delete_objects

Delete objects by name. Backend prevents deletion of referenced objects — use find_objectto inspect usage first.

rename_object

Rename an object with safe refactoring — all cross-references update automatically (linked by ID, not name).

Singleton Tables: SolutionSettings, AlarmsGlobalSettings, RuntimeStartup, and RuntimeExecutionProfiles have a single configuration row — no Name column needed. Use get_objects to read, write_objects(mode='upsert')to modify.

Schema & Discovery (4 tools)

Tool

Purpose

get_table_schema

Get field definitions for any table type. No parameter lists all table types.

list_protocols

Search and discover communication protocols. Fuzzy matching by vendor name. Auto-includes protocol schema when search returns exactly one match.

list_elements

Get display element properties. No parameter lists all element types by category. Query by type: list_elements('Canvas'), list_elements('Dashboard'), list_elements('WizardSymbol').

list_dynamics

Browse dynamic behaviors (FillColor, Visibility, Action, Rotate, etc.) by category or search. Returns property schemas and ready-to-use JSON patterns.

Protocol search examples:

  • list_protocols(search='siemens') → S7, S7Plus

  • list_protocols(search='allen') → EtherNet/IP, DF1, ControlLogix

  • list_protocols(search='modbus') → Modbus TCP, Modbus RTU

Display element queries:

  • list_elements() — List all element types by category

  • list_elements

    get_element_schema

    ('Canvas') — Canvas display structure

    with layout info

    get

  • list_

    element_schema

    elements('Dashboard') — Dashboard grid and cell structure

    get
  • list_

    element_schema

    elements('WizardSymbol') — Industrial symbols: BLOWER, MOTOR, PUMP, TANK, VALVE

Protocol Tools (2 tools)

ToolPurpose

Dynamic behavior queries:

  • list_

protocolsSearch available protocols by equipment name (fuzzy matching)get_protocol_schemaGet protocol-specific field schema for configuration
  • dynamics() — Overview of all dynamics grouped by category

  • list_dynamics('color') — FillColor, LineColor, TextColor dynamics

  • list_dynamics('action') — ActionDynamic for click handlers

  • list_dynamics('animation') — Rotate, Move, Scale, Skew dynamics

  • list_dynamics('FillColorDynamic') — Full schema with property definitions


Designer UI & Control (3

Search examples:

  • list_protocols(search='siemens') → S7, S7Plus
  • list_protocols(search='allen') → EtherNet/IP, DF1, ControlLogix
  • list_protocols(search='modbus') → Modbus TCP, Modbus RTU
  • list_protocols(search='opc') → OPC UA, OPC DA
Documentation Tools (2

tools)

Tool

Purpose

search

get_

docsSearch FrameworX documentation with label/section filtersget_example_solutionDownload example solution JSON configuration

Documentation labels: concept, tutorial, how-to, example, reference, connector, code, control

Track Changes (1 tool)

ToolPurpose
get_track_changesQuery audit trail, cross-references, version control, usage counts

Available tables:

  • RecentChanges — Audit trail of who changed what and when
  • VersionControl — Table versions and modification dates
  • CrossReference — Where an object is used (requires object_name)
  • UseCount — Usage frequency per object

Table Types Reference

Objects are organized by module. Use these TableType names with object tools:

CategoryTableTypeDesigner TabDescriptionUNSUnsTagsTagsProcess variable tagsUnsTagProvidersTagProvidersExternal data sources (MQTT, OPC UA)UnsUserTypesUserTypesCustom data structures (UDT)UnsEnumerationsEnumerationsNumber-to-string mappingsDevicesDevicesChannelsChannelsProtocol connectionsDevicesNodesNodesDevice addressesDevicesPointsPointsTag-to-address mappingsAlarmsAlarmsGroupsGroupsAlarm behavior settingsAlarmsItemsItemsIndividual alarm definitionsAlarmsAreasAreasAlarm hierarchyHistorianHistorianTagsHistorianTagsTags configured for loggingHistorianTablesHistorianTablesStorage configurationsHistorianStorageLocationsStorageLocationsDatabase connectionsDatasetsDatasetsDBsDBsDatabase connectionsDatasetsQueriesQueriesSQL query definitionsDatasetsTablesTablesDirect table accessDatasetsFilesFilesFile operationsScriptsScriptsTasksTasksEvent-triggered codeScriptsClassesClassesReusable code librariesScriptsExpressionsExpressionsOne-liner calculationsReportsReportsFormsFormsDocument templatesReportsWebDataWebDataJSON/XML data objectsDisplaysDisplaysListListUI screens and pagesDisplaysSymbolsSymbolsReusable visual componentsDisplaysLayoutsLayoutsScreen layout definitionsDisplaysImagesImagesImage librarySecuritySecurityUsersUsersUser accountsSecurityPermissionsPermissionsPermission flagsSecurityPoliciesPoliciesSecurity rules

Syntax Reference

Tag Access Methods

MethodSyntaxWhen to Use
Direct pathTag.Folder/Name.ValueStandard tag reference
Asset functionAsset("Folder/Name").ValueWorks everywhere, required for TagProvider dynamic paths

Context-Specific Syntax

ContextSyntaxExample
Scripts (C#, VB, Python)@ prefix required@Tag.Tank1.Level.Value or @Asset("Tank1").Value
ExpressionsNo @ prefix, no .ValueTag.Tank1.Level + 10
Display bindings@ prefix + .Value@Tag.Tank1.Level.Value
Dynamic bindingsAsset with expression@Asset(Tag.SelectedPath).Value
String embeddingCurly braces"Level: {Tag.Tank1.Level} %"

System Namespaces

NamespacePurposeExamples
ServerServer-wide information@Server.DateTime, @Server.MachineName, @Server.ProductVersion
ClientPer-client information (different per user)@Client.Username, @Client.StationName, @Client.MachineName
InfoSystem diagnostics@Info.CPU, @Info.Memory, @Info.DiskSpace

Module Namespaces

Every configured object has runtime properties accessible via namespace:

  • Alarm.Group.Critical.AckRequired, Alarm.Item.HighTemp.Active
  • Device.Channel.Modbus1.Status, Device.Node.PLC1.Error
  • Script.Task.Startup.LastRun, Display.MainPage.IsOpen

Use list_objects('Server') or list_objects('Alarm.Group') to explore.

MCP Category System

Objects created by AI automatically receive Category = "MCP" to track AI-created vs manually-created objects.

Update Permissions

Object CategoryWhat AI Can Update
Contains "MCP"All fields (full replacement)
No "MCP" (user edited)Description field only

How It Works

  1. AI creates object → Category automatically set to "MCP"
  2. User edits object in Designer → "MCP" removed from Category
  3. AI tries to update → Limited to Description field only
  4. To re-enable full AI updates → Manually add "MCP" to Category

Display JSON Formats

Canvas Display

Canvas displays use absolute pixel positioning with an Elements array:

{
  "Name": "TankOverview",
  "PanelType": "Canvas",
  "Size": "1366 x 728",
  "Elements": [
    {
      "Type": "TextBox",
      "Left": 100,
      "Top": 50,
      "Width": 120,
      "Height": 28,
      "LinkedValue": "@Tag.Tank1.Level.Value"
    },
    {
      "Type": "Symbol",
      "WizardType": "TANK",
      "Left": 100,
      "Top": 100,
      "Width": 65,
      "Height": 65
    }
  ]
}

Dashboard Display

Dashboard displays use grid-based positioning with Cells array:

{
  "Name": "MotorDashboard",
  "PanelType": "Dashboard",
  "Size": "1366 x 728",
  "DashboardDisplay": {
    "Columns": ["*", "*"],
    "Rows": ["*", "*"]
  },
  "Cells": [
    {
      "Row": 0,
      "Col": 0,
      "Cell": { "HeaderLink": "Motor 1" },
      "Content": {
        "Type": "TextBox",
        "LinkedValue": "@Tag.Motor1.Speed.Value"
      }
    }
  ]
}

Wizard Symbols

Pre-built industrial symbols with default appearance:

  • Types: BLOWER, MOTOR, PUMP, TANK, VALVE
  • Usage: { "Type": "Symbol", "WizardType": "VALVE", "Left": 100, "Top": 200 }
  • User customizes appearance in Designer after creation

Common Workflows

Creating Tags

"Create a Double tag called TankLevel in the Tanks folder with range 0-100"

Setting Up Device Communication

"I need to connect to a Siemens S7-1500 PLC at IP 192.168.1.10"

AI will: Search protocols → Present options → Create Channel → Create Node → Help map Points

Creating Displays

"Create a dashboard with 4 cells showing TankLevel, TankTemp, PumpStatus, and AlarmCount"

Configuring Alarms

"Create high and low alarms for TankLevel: High at 90 (Critical), Low at 10 (Warning)"

Finding Where Objects Are Used

"Where is tag Tank1Level used in the solution?"

AI will use: get_track_changes('CrossReference', object_name='Tag.Tank1Level')

Best Practices

Be Specific

Instead of "Create some tags", say:

"Create these tags in the Production folder: MixerSpeed (Double, 0-1000 RPM), MixerRunning (Digital), BatchCount (Integer)"

Validate Before Bulk Operations

"Validate this configuration before creating 50 tags"

Review Changes

"Show me the recent changes" or "Navigate to the Tags tab"

Use Documentation

"Search the documentation for alarm configuration options"

Troubleshooting

Designer MCP Server not starting

  • Verify .NET 8.0 runtime is installed
  • Check that Designer is running
  • Confirm MCP is enabled in Designer settings
  • Check firewall settings for the configured port

Claude doesn't see Designer tools

  • Ensure claude_desktop_config.json path is correct (use double backslashes)
  • Restart Claude completely (close via Task Manager)
  • Verify Designer MCP shows "running" in Claude settings

"Update blocked" message

  • The object doesn't have MCP in its Category
  • User edited the object in Designer, removing MCP
  • AI can only update the Description field
  • To enable full updates: add "MCP" to Category in Designer

Changes not appearing in Designer

  • Refresh the Designer view (F5)
  • For displays, close and reopen the display editor
  • Verify the operation completed successfully in Claude's response

Related Documentation

  • AI MCP for Runtime Connector — Query live tags, alarms, and historian
  • AI-Ready by Design — Technical architecture for AI integration
  • Devices Module Reference — Channel, Node, Point configuration
  • state

    Get current Designer or Runtime state as lightweight text data. Active page, selected object, compilation errors, runtime health.

    get_screenshot

    Capture a screenshot of the Designer UI, Runtime view, or display/symbol previews. Saves image to the Exchange/Screenshots/ folder with a descriptive filename. AI reads the image via the filesystem MCP server.

    designer_action

    Perform Designer commands: navigation, find, runtime control, and security (8 actions).

    designer_action available actions:

    Action

    Purpose

    Options

    navigate

    Go to any module, table, or object

    Target path: 'DataExplorer.MQTTTools', 'Tag.Folder1/Level', 'Display.MainPage'

    find_object

    Find where an object is used — opens Find Results panel

    Object name: 'Tag.Folder1/Level'

    find_next

    Step through Find Results — Designer navigates to each location

    (none)

    start_runtime

    Start solution runtime

    (none)

    stop_runtime

    Stop runtime

    (none)

    hot_reload

    Push design changes to running runtime without restart

    (none)

    logon

    Authenticate a user for secured solutions

    'username:password'

    logoff

    Return to Guest (anonymous) user

    (none)

    Note: get_objects and write_objects auto-navigate the Designer UI to the relevant context. Use navigate only for pages without configuration objects (DataExplorer tools, AlarmsMonitor, etc.).

    Page-specific actions: Some Designer pages expose additional context-specific actions (e.g., expand_all, collapse_all on table views). These appear in get_state responses as tabActions and can be passed directly to designer_action.

    Documentation & Knowledge (3 tools)

    Tool

    Purpose

    search_docs

    Search FrameworX documentation with label/section filtering — or fetch full page content by URL. Supports skills, code snippets, examples, and tutorials.

    inspect_external_solution

    Open an external reference solution (local or from docs) to inspect its full JSON configuration. Use to study and replicate complete implementation patterns.

    inspect_application

    Export the current solution’s configuration as JSON files to the Exchange folder. Creates a subfolder named after the application containing Tags.json, Channels.json, Displays.json, etc. AI reads files via the filesystem MCP server.

    search_docs modes:

    • Search mode: search_docs('alarm configuration') — returns titles and snippets

    • Fetch mode: search_docs(fetch_url='<url from results>') — returns full page content with code examples

    Documentation labels: concept, tutorial, how-to, example, reference, connector, code, control, use-case, skill

    AI Skills: Use search_docs('', labels='skill') to discover available step-by-step implementation guides. Skills are multi-module playbooks that prevent common mistakes in complex configurations.

    inspect_external_solution workflow:

    1. search_docs(query, labels='example') — find documented solution examples

    2. inspect_external_solution(solution_path) — list available JSON files

    3. inspect_external_solution(solution_path, file_name='Tags.json') — read specific configuration

    inspect_application workflow:

    1. inspect_application() — exports current solution to Exchange/<AppName>/ folder

    2. AI uses the filesystem MCP server to list and read exported JSON files

    3. Useful for solution analysis, documentation, comparison, and migration


    Exchange Folder

    Several MCP tools use the Exchange folder to share files between the Designer and AI, rather than embedding large data in MCP responses. The filesystem MCP server (configured during setup) gives AI direct read access to these files.

    Subfolder

    Tool

    Contents

    Exchange/<AppName>/

    inspect_application

    Solution JSON files (Tags.json, Channels.json, Displays.json, etc.)

    Exchange/Screenshots/

    get_screenshot

    Captured images with descriptive filenames (e.g., Screenshot_MainPage_2026-02-15_14-30-00.jpg)

    This file-based approach keeps MCP responses lightweight and avoids large base64-encoded data in the conversation context.


    Security

    MCP Category and Update Protection

    Objects created by AI receive Category = "MCP" (via SolutionCategories) to track AI-created vs manually-created.

    Object Category

    What AI Can Update

    Contains "MCP"

    All fields (full replacement)

    No "MCP" (user edited)

    Description field only

    How it works:

    1. AI creates object → Category set to "MCP"

    2. User edits in Designer → "MCP" removed

    3. AI updates → Limited to Description field

    4. To re-enable → Manually add "MCP" to Category


    Solution Authentication

    Solutions can have security enabled with user accounts and edit permissions.

    How authentication works with AI:

    1. AI opens solution → response includes current username (Guest by default) and edit permissions

    2. If permissions are not Unrestricted, AI informs the user that some operations may be restricted

    3. User provides credentials → AI calls designer_action('logon', 'username:password')

    4. Successful login → permissions expand to match the user's role

    5. designer_action('logoff') returns to Guest

    AI can browse and read the solution even as Guest. Permission restrictions only affect write operations.

    Security: AI never echoes, logs, or repeats passwords in its responses.


    Table Types Quick Reference

    Module

    TableType

    Notes

    UNS

    UnsTags

    Process tags organized in folder paths


    UnsUserTypes

    UDT templates


    UnsTagProviders

    External data sources


    UnsEnumerations

    Enum mappings

    Devices

    DevicesChannels

    Protocol configuration


    DevicesNodes

    Device addresses


    DevicesPoints

    Tag-to-address mapping

    Alarms

    AlarmsGroups

    Behavior rules


    AlarmsItems

    Tag-bound triggers


    AlarmsAreas

    Optional hierarchy


    AlarmsGlobalSettings

    Module configuration (singleton)

    Historian

    HistorianStorageLocations

    Data repository


    HistorianHistorianTables

    Storage coordination


    HistorianHistorianTags

    Tags to log

    Datasets

    DatasetsDBs

    Database connections


    DatasetsQueries

    SQL queries


    DatasetsTables

    Direct table access


    DatasetsFiles

    File operations

    Scripts

    ScriptsTasks

    Event-triggered code


    ScriptsClasses

    Reusable libraries


    ScriptsExpressions

    One-liner calculations


    ScriptsReferences

    External DLL references

    Reports

    ReportsForms

    Documents


    ReportsWebData

    JSON/XML

    Displays

    DisplaysList

    UI screens (Canvas or Dashboard)


    DisplaysSymbols

    Reusable user-authored components


    DisplaysLayouts

    Layout regions


    DisplaysImages

    Image library

    Security

    SecurityUsers

    Accounts


    SecurityPermissions

    Permission groups


    SecurityPolicies

    Session/password rules


    SecuritySecrets

    Credentials (not accessible by AI)

    Solution

    SolutionCategories

    Object labels (MCP flag)


    SolutionSettings

    Global solution config (singleton)

    Runtime

    RuntimeStartup

    Startup configuration (singleton)


    RuntimeExecutionProfiles

    Dev/Prod replacement connections (singleton)


    Syntax Quick Reference

    Context

    Syntax

    Example

    Scripts (C#, VB, Python)

    @ prefix + .Value

    @Tag.Tank1/Level.Value

    Expressions

    No prefix, no .Value

    Tag.Tank1/Level + 10

    Display bindings

    @ prefix + .Value

    @Tag.Tank1/Level.Value

    String embedding

    Curly braces

    "Level: {Tag.Tank1/Level} %"

    Path Syntax

    • Folder separator: / (slash) — only for Tags and Symbols: Tag.Area1/Line1/Tank1

    • Namespace/member separator: . (dot) — for all other access: Server.DateTimeInfo.Second

    • UDT members: Tag.Area1/Line1/Loop1.Setpoint (dot after tag path for member access)

    • Built-in namespaces: dot only, never slash: Alarm.Group.Critical.TotalCount

    Critical: Never use . for folders or / for members. Tag.Area1.Line1.Tank1 is WRONG. Tag.Area1/Line1/Loop1/Setpoint is WRONG.


    Common Workflows

    • Creating Tags
      • "Create a Double tag called TankLevel in the Tanks folder with range 0-100"
    • Device Communication
      • "Connect to a Siemens S7-1500 PLC at 192.168.1.10"
      • AI will: Search protocols → Present options → Create Channel → Create Node → Help map Points
    • Creating Displays
      • "Create a dashboard with 4 cells showing TankLevel, TankTemp, PumpStatus, and AlarmCount"
    • Configuring Alarms
      • "Create high and low alarms for TankLevel: High at 90 (Critical), Low at 10 (Warning)"
    • Finding Object Usage
      • "Where is tag Tank1Level used?"
      • AI uses: designer_action('find_object', 'Tag.Tank1Level') — opens Find Results panel in Designer showing all cross-references.
    • Deleting Objects Safely
      • "Delete the old TestDisplay"
      • AI uses: designer_action('find_object', 'Display.TestDisplay') to check references first, then delete_objects if safe.
    • Renaming with Safe Refactoring
      • "Rename Tag.OldName to Tag.NewName"
      • AI uses: rename_object — all cross-references update automatically (linked by ID, not name).
    • Applying Changes Without Restart
      • "Apply my tag changes to the running system"
      • AI uses: designer_action('hot_reload')
    • Logging In to Secured Solutions
      • "Log in as admin"
      • AI prompts for password, then uses: designer_action('logon', 'admin:password')
    • Inspecting Application Configuration
      • "Export and analyze the current solution"
      • AI uses: inspect_application() to export JSON files to the Exchange folder, then reads them via the filesystem server for analysis.

    Best Practices

    Be Specific

    Instead of "Create some tags", say:

    "Create these tags in the Production folder: MixerSpeed (Double, 0-1000 RPM), MixerRunning (Digital), BatchCount (Integer)"

    Validate Before Bulk Operations

    "Validate this configuration before creating 50 tags"

    AI uses write_objects with dry_run=true to check for errors without committing.

    Use Skills for Complex Tasks

    "Search for a skill on Modbus TCP configuration"

    AI searches for step-by-step guides that prevent common mistakes.

    Review Changes

    "Show me the recent changes" or "Navigate to the Tags tab"


    Troubleshooting

    Designer MCP Server not starting

    • Verify .NET 8.0 runtime is installed

    • Check that Designer is running

    • Confirm MCP is enabled in Designer settings

    • Check firewall settings

    Claude doesn't see Designer tools

    • Ensure claude_desktop_config.json path is correct (double backslashes)

    • Restart Claude completely (close via Task Manager)

    • Verify Designer MCP shows "running" in Claude settings

    Filesystem MCP server not connecting

    • Verify Node.js is installed (node --version in command prompt)

    • Check that the Exchange folder path in config matches your Windows username

    • Verify "filesystem" shows "running" in Claude Desktop → Settings → Developer

    "Update blocked" message

    • Object doesn't have MCP in Category

    • User edited the object, removing MCP

    • AI can only update Description field

    • To enable: add "MCP" to Category in Designer

    Changes not appearing in Designer

    • Refresh Designer view (F5)

    • For displays, close and reopen the display editor

    • Verify operation completed in Claude's response

    No visual indicator (orange border)

    • Verify MCP connection is active in Claude Desktop

    • Check Designer settings for MCP enabled

    • Restart Designer if needed

    Permission errors on write operations

    • Solution may have security enabled

    • Ask AI to check current permissions: look at the security field in the response

    • Log in with appropriate credentials: tell AI "log in as [username]"

    • After successful login, retry the operation


    Related Documentation

    • [AI Integration]

    • [MCP for Designer In Action]

    • [AI MCP for Runtime Connector]

    • [AI ML Integration Connector]


    In this section...

    Displays Module Reference — Canvas and Dashboard formats






    In this section...

    Page Tree
    root@parent