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: 10.09.0.0
  • Interface: TCP/IP
  • Configuration:
    • (Native)

Table of Contents
maxLevel2
minLevel2
stylenone

  • native



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.

AI MCP for Designer Connector

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

Version: 0

.

7

Last Updated: January 25, 2026
Connector Name: DesignerMCP
Interface: TCP/IP (stdio transport)

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

language—AI 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 ModelMCP ProtocolSolution Configuration
Claude, GPT, GitHub Copilot
Model Context Protocol
Designer.exe
Structured Methods


Manage SolutionsCreate ObjectsCreate User InterfaceAuxiliary tools

Create or open solutions.
Get Solution Information

List, Create or Update
Solution objects
List, create or update
Displays and Symbols
Navigate, TrackChanges
CrossRef, Docs Access 



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.

Key Capabilities

  • Navigate Designer UI — AI can observe and interact with the Designer interface
  • Create Objects — Generate Tags, Displays, Alarms, 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
  • Export/Import Displays — Work with displays in AI-friendly JSON format
  • Take Screenshots — Capture Designer state for context
  • Discover Protocols — List available communication protocols and their configuration schemas
  • Explore Data Sources — Browse MQTT, OPC UA, PLC, and SQL data sources interactively

When to Use MCP for Designer

Use CaseExampleBulk 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"Display modification"Add a TrendChart to the Temperature cell showing the last 24 hours"Configuration validation"Review my alarm configuration and suggest improvements"Learning assistance"Show me how to configure a historian 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 connecting to PLCs?"Device configuration"Show me the schema for configuring a Modbus TCP device"Data source exploration"Connect to the MQTT broker at tcp://192.168.1.100:1883 and browse topics"TagProvider creation"Create a TagProvider from the selected MQTT topic"


Prerequisites

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

Configuration

Enable/Disable MCP for Designer

Enabling

MCP for Designer is Enabled by default. To disable:

  1. Open FrameworX Designer
  2. Navigate to Edit Solutions → Settings → MCP
  3. Enable Uncheck Allow MCP Server
  4. Note the Port number (default: 3102)
  5. Click Apply
  6. For Designer

This setting is per-solution.

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": "c:\\Dev\\Tatsoft2020_1<ProductPath>\\FactoryStudio\\bin\\MCP\\DesignerMCP.exe",
"args": ["/port:3101"],
      "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 Toolsyou should see the Designer tools should be listed
  5. In Designer, verify the orange "AI MCP" badge appears

Available Tools

AI MCP for Designer provides these tools organized by category:

Session Management

Solution Management (3 tools)

ToolPurpose
create_solutionCreate a new FrameworX solution
open_solutionOpen an existing solution
to work with
get_solution_infoGet solution
statistics and summary

Schema Discovery

ToolPurpose
list_tablesList all available object types (Tags, Alarms, etc.)
get_table_schemaGet field definitions for any object type
overview with object counts


Info

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

→ See Solution Center ? Server Information

Object Operations (7 tools)

Object Operations

ToolPurpose
list_objects
Browse objects with summary information
List objects in a table or browse runtime namespaces
get_objects_config
Retrieve
Get full
configuration details
JSON configuration for specific objects
get_table_schemaGet field definitions and valid values for any table
create_objectsCreate new objects from
AI-generated configuration
JSON configuration
validate_jsonValidate configuration before creating objects
update_
objects
objectModify existing objects (respects MCP Category)
validate_jsonValidate configuration before creating
Display Operations
delete_objectsRemove objects from solution

Runtime Values: When runtime is connected, object tools include live values. Use designer_action('get_runtime_diagnostics') to check connection status.

Designer Control (1 tool)

ToolPurpose
list_displaysList all displays in the solutionexport_displayExport display to AI-friendly JSON formatimport_displayCreate/update display from JSONget_symbol_infoGet symbol metadata and parameterssearch_symbolsSearch symbol library by name or category
Protocol Schema
designer_actionNavigate UI, get state, control runtime

Available actions:

  • navigate — Go to module, table, or object path
  • get_state — Get current Designer view and selection
  • 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

Display Tools (1 tool)

ToolPurpose
get_element_schemaGet display element properties (Canvas, Dashboard, controls)

Special queries:

  • get_element_schema('Canvas') — Canvas display structure
  • get_element_schema('Dashboard') — Dashboard grid and cell structure
  • get_element_schema('WizardSymbol') — Industrial symbols: BLOWER, MOTOR, PUMP, TANK, VALVE

Protocol Tools (2 tools)

ToolPurpose
list_protocols
List available communication
Search protocols
filtered by group
by equipment name (fuzzy matching)
get_protocol_schemaGet protocol-specific
field schema (ProtocolOptions, PrimaryStation, Address)

Protocol Groups

Protocols are organized into these groups:

GroupDescriptionExamples
AutomationVendorsVendor-specific PLC protocolsControlLogix, S7, Mitsubishi, Omron
FactoryFloorIndustrial fieldbus protocolsModbus, Profinet, EtherNet/IP
HistorianDBData storage and historian connectionsSQL, ODBC, OSIsoft PI
ITCloudIoT and cloud protocolsMQTT, MQTTSpB, REST, AMQP
StandardProtocolsIndustry-standard protocolsOPCUA, OPCDA, ValueSimulator
VerticalIndustriesIndustry-specific protocolsDNP3, IEC61850, BACnet

Data Explorer

ToolPurpose
open_data_explorerOpen Data Explorer with connection settings (MQTT, OPC, PLC, SQL)
get_data_explorer_stateGet connection status, selected node, and creation recipes

Supported Data Sources

Source TypeURL FormatExample
MQTTtcp://host:port or ssl://host:porttcp://192.168.1.100:1883
OPCopc.tcp://host:portopc.tcp://192.168.1.100:4840
PLCIP address or hostname192.168.1.100
SQLConnection stringServer=localhost;Database=mydb;...

Information & Navigation

ToolPurpose
search_docsSearch FrameworX documentation
navigate_toNavigate Designer UI to specific location
get_designer_stateGet current Designer view and selection
take_screenshotCapture current Designer view

Display JSON Formats

AI MCP for Designer uses simplified JSON formats for creating and modifying displays.

Canvas Display Format

Canvas displays use absolute pixel positioning:

{
  "Type": "DisplaysList",
  "Name": "TankOverview",
  "Width": 1366,
  "Height": 768,
  "DisplayMode": "Page",
  "Children": [
    {
      "Type": "Symbol",
      "SymbolName": "HMI/Tanks/TankWithLevel",
      "Left": 100,
      "Top": 50,
      "Width": 200,
      "Height": 300,
      "SymbolLabels": [
        { "Key": "Level", "Value": "@Tag.Tank1.Level" },
        { "Key": "Title", "Value": "Tank 1" }
      ]
    },
    {
      "Type": "TrendChart",
      "Left": 350,
      "Top": 50,
      "Width": 400,
      "Height": 300,
      "LinkedValue": "@Tag.Tank1.Level"
    }
  ]
}

Dashboard Display Format

Dashboard displays use grid-based positioning with resizable cells:

{
  "Type": "DisplaysList",
  "Name": "MotorDashboard",
  "Width": 1366,
  "Height": 768,
  "DisplayMode": "Page",
  "DashboardDisplay": {
    "Columns": ["*", "*", "*"],
    "Rows": ["*", "*"]
  },
  "Cells": [
    {
      "Row": 0, "Col": 0,
      "Cell": { "HeaderLink": "Motor 1" },
      "Content": {
        "Type": "Symbol",
        "SymbolName": "HMI/Motors/MotorStatus",
        "SymbolLabels": [
          { "Key": "Value", "Value": "@Tag.Motor1.Status" }
        ]
      }
    },
    {
      "Row": 1, "Col": 0, "ColSpan": 3,
      "Cell": { "HeaderLink": "Trend" },
      "Content": {
        "Type": "TrendChart",
        "LinkedValue": "@Tag.Motor1.Speed"
      }
    }
  ]
}

Key Format Features

FeatureCanvasDashboard
PositioningLeft, Top (pixels)Row, Col (grid)
SizingWidth, HeightCell spans (ColSpan, RowSpan)
Shapes? Supported? Not supported
Cell headersN/ACell.HeaderLink
ResizableNoYes (TGridSplitter)

For complete format specifications, see:

  • Canvas and Symbol JSON Reference
  • Dashboard JSON Reference

Example Queries

Creating Objects

  • "Create a new analog tag called Tank1_Level with engineering units in gallons, range 0-1000"
  • "Create 10 temperature sensor tags named Sensor_T01 through Sensor_T10"
  • "Add a high alarm at 85 and high-high alarm at 95 to all temperature tags"
  • "Create a Modbus TCP channel for PLC at 192.168.1.10"

Querying Configuration

  • "List all tags in the Boiler area"
  • "Show me the alarm configuration for Tank1_Level"
  • "What displays reference the tag Pump1_Status?"
  • "Show me the schema for creating historian tags"

Creating Canvas Displays

  • "Create a canvas display showing Tank1 with a level gauge and numeric readout"
  • "Add a status indicator that turns red when Tank1_Level exceeds 900"
  • "Create a P&ID style display with three tanks connected by pipes"

Creating Dashboard Displays

  • "Create a 2×3 dashboard for monitoring six motors"
  • "Make a dashboard with a navigation panel on the left (200px) and content area on the right"
  • "Create a dashboard with AlarmViewer spanning the bottom row"

Modifying Displays

  • "Export the MotorOverview display so I can see its structure"
  • "Add a CircularGauge to the Motor 1 cell showing speed"
  • "Change the TrendChart to show the last 48 hours instead of 24"

Protocol Schema Discovery

  • "What communication protocols are available?"
  • "List all protocols in the AutomationVendors group"
  • "Show me the schema for the Modbus protocol"
  • "What are the key fields needed for an OPC UA connection?"
  • "What interfaces does the S7 protocol support?"

Data Explorer & Device Configuration

  • "Connect to the MQTT broker at tcp://192.168.1.100:1883"
  • "Open the Data Explorer for OPC UA server at opc.tcp://192.168.1.100:4840"
  • "What node is currently selected in the Data Explorer?"
  • "Create a TagProvider from the current Data Explorer selection called Plant1_Sensors"
  • "Create a Device configuration from the selected MQTT topic"
  • "Browse the PLC at 192.168.1.50 and show available tags"

Learning & Discovery

  • "What object types are available in FrameworX?"
  • "Show me the required fields for creating an alarm item"
  • "What symbols are available for motor status?"
  • "List the parameters for the HMI/Labels/ShortLabel symbol"

How AI Context Works

When you open or create a solution, the AI automatically receives context about the FrameworX object model, including:

  • Available object types and their relationships
  • JSON formats for creating objects and displays
  • Dependencies between objects (e.g., AlarmItem requires Tag + AlarmGroup)
  • Pre-defined objects available in every solution
  • Runtime namespace syntax for referencing objects
  • Symbol library structure and common symbols

This context enables the AI to generate valid configuration without you needing to explain the FrameworX data model. For detailed information beyond what's in the context, the AI can use the search_docs tool to query the FrameworX documentation.

Display Context

For display operations, the AI also receives:

  • Available control types and their properties
  • Symbol library categories and naming conventions
  • Dashboard grid constraints (≤4×4 for simple format)
  • Dynamic behavior options (color change, visibility, etc.)
  • Theme property mappings

Protocol Context

For device configuration, the AI can discover:

  • Available protocols organized by group (AutomationVendors, FactoryFloor, ITCloud, etc.)
  • Protocol-specific schemas for ProtocolOptions, PrimaryStation, and Address fields
  • Key fields that must be configured (marked with * suffix)
  • Valid value ranges, enumerations, and default values
  • Interface options (Serial, TCPIP, Custom)

Data Explorer Context

When using Data Explorer tools, the AI receives:

  • Connection status and current data source type
  • Selected node path and available children
  • Pre-built "recipes" for creating TagProviders or Devices from the selection
  • Protocol-specific connection string formats

Best Practices

Review Before Committing

AI-generated configuration should always be reviewed before saving:

  • Verify object names and hierarchy placement
  • Check property values and units
  • Validate alarm configurations
  • Test display layouts and bindings
  • Preview dashboards at different screen sizes

Use Version Control

  • Save solution backups before bulk AI operations
  • Use FrameworX solution versioning features
  • Consider Git integration for exported JSON files

Effective Prompting

For best results when working with AI MCP for Designer:

DoDon't
Be specific about object types and propertiesUse vague descriptions
Reference existing solution patternsAssume AI knows your conventions
Provide context about intended behaviorSkip important constraints
Ask AI to explain what it will do before executingApprove bulk changes without review
Use validate_json before large create operationsSkip validation on bulk imports
Specify display type (Canvas vs Dashboard)Assume AI will choose correctly
Use list_protocols to discover available optionsGuess protocol names
Use Data Explorer to browse before creating devicesManually construct connection strings

Display Creation Tips

TipReason
Start with Dashboard for operational screensResponsive, resizable cells
Use Canvas for P&ID and custom graphicsPrecise positioning, shapes supported
Specify grid dimensions explicitly"2×3 grid" is clearer than "grid for 6 items"
Reference existing symbols by full path"HMI/Motors/MotorStatus" not just "motor symbol"
Provide tag paths for bindings"@Tag.Motor1.Speed" not "motor speed tag"

Device Configuration Tips

TipReason
Use get_protocol_schema before creating devicesShows required fields and valid values
Pay attention to key fields (marked with *)These must be provided for the device to work
Use Data Explorer to browse live data sourcesVerifies connectivity and discovers available tags
Let AI use recipes from get_data_explorer_statePre-built configurations reduce errors
Specify interface type when protocol supports multiple"Modbus over TCPIP" not just "Modbus"

Start Small

  • Test with single objects before bulk operations
  • Verify AI understands your naming conventions
  • Build complexity gradually
  • Create simple displays before complex dashboards
  • configuration fields

    Search examples:

    • list_protocols(search='siemens') → S7, S7Plus
    • list_protocols(search='allen') → EtherNet/IP, DF1, ControlLogix
    • list_protocols(search='modbus') → Modbus TCP, Modbus RTU

    Documentation Tools (2 tools)

    ToolPurpose
    search_docsSearch FrameworX documentation with filters
    get_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, versions

    Available tables:

    • RecentChanges — Audit trail
    • VersionControl — Table versions
    • CrossReference — Where an object is used (requires object_name)
    • UseCount — Usage frequency

    Table Types Quick Reference

    CategoryTableTypeTab
    UNSUnsTagsTags

    UnsUserTypesUserTypes

    UnsTagProvidersTagProviders

    UnsEnumerationsEnumerations
    DevicesDevicesChannelsChannels

    DevicesNodesNodes

    DevicesPointsPoints
    AlarmsAlarmsGroupsGroups

    AlarmsItemsItems

    AlarmsAreasAreas
    HistorianHistorianTagsHistorianTags

    HistorianTablesHistorianTables

    HistorianStorageLocationsStorageLocations
    DatasetsDatasetsDBsDBs

    DatasetsQueriesQueries

    DatasetsTablesTables

    DatasetsFilesFiles
    ScriptsScriptsTasksTasks

    ScriptsClassesClasses

    ScriptsExpressionsExpressions
    ReportsReportsFormsForms

    ReportsWebDataWebData
    DisplaysDisplaysListList

    DisplaysSymbolsSymbols

    DisplaysLayoutsLayouts

    DisplaysImagesImages
    SecuritySecurityUsersUsers

    SecurityPermissionsPermissions

    SecurityPoliciesPolicies

    Syntax Quick Reference

    ContextSyntaxExample
    Scripts (C#, VB, Python)@ prefix + .Value@Tag.Tank1.Level.Value
    ExpressionsNo prefix, no .ValueTag.Tank1.Level + 10
    Display bindings@ prefix + .Value@Tag.Tank1.Level.Value
    String embeddingCurly braces"Level: {Tag.Tank1.Level} %"

    Tag Path Syntax

    • Folders: Tag.Folder1/Folder2/TagName
    • UDT members: Tag.Controller1.SP
    • Arrays: Tag.ArrayTag[5]

    MCP Category and Update Protection

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

    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 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

    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: 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"

    Test device connections before creating TagProviders


    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

    AI creates objects in wrong location

    • Specify full path in your request (e.g., "in the Boiler/Tanks folder")
    • Ask AI to show the solution structure first
    • Provide explicit parent object references

    Display not rendering correctly

    • Check that all referenced tags exist
    • Verify symbol paths are correct (use search_symbols to find)
    • For dashboards, ensure grid dimensions ≤4×4 for simple format
    • Check for missing SymbolLabels on symbols

    Dashboard cells not positioned correctly

    "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
    • Verify Row/Col values are 0-based
    • Check ColSpan/RowSpan don't exceed grid bounds
    • Export existing dashboard to see expected format

    Changes not appearing in Designer

    • Refresh the Designer view (F5)
    • Check if object was created in a different location
    • Verify the operation completed successfully in Claude's response
    • For displays, close and reopen the display editor

    Protocol not found

    • Use list_protocols to see available protocols
    • Check spelling (protocol names are case-sensitive)
    • Some protocols may not be installed — check FrameworX license

    Data Explorer connection failed

    • Verify the connection URL format matches the source type
    • Check network connectivity to the data source
    • Verify credentials if authentication is required
    • For OPC UA, ensure the server is running and accessible
    • For MQTT, check broker is accepting connections on the specified port

    Data Explorer shows no selection

    • Browse the tree in Data Explorer and select a node
    • Call get_data_explorer_state after selecting to get updated recipes
    • Some nodes may not support TagProvider or Device creation

    Related Documentation

    JSON Format References

    • Canvas and Symbol JSON Reference — Complete Canvas/Symbol format specification
    • Dashboard JSON Reference — Dashboard format specification
    • XAML-JSON Translation Specification — How JSON maps to XAML

    Protocol Schema Reference

    • Protocol Schema Specification — JSON schema format for protocol fields
    • Devices Module Reference — Channel, Node, Point configuration
    • UNS Module Reference — TagProvider configuration

    AI MCP for Runtime

    For querying live data from running solutions:

    • AI MCP for Runtime Connector — Query tags, alarms, and historian
    • AI MCP for Runtime Tutorial — Step-by-step guide

    Quick Start Tutorials

    • AI MCP for Designer Tutorial — Create your first objects with AI
    • Creating Displays with AI — Display generation walkthrough
    • Connecting Data Sources with AI — Using Data Explorer tools

    Example Implementation

    • SolarPanels MCP Demo — Full solution with MCP integration

    Technology Information

    • AI-Ready by Design — Platform architecture for AI integration

    Reference Information

    • Display XAML Reference — XAML patterns for displays
    • TControl XAML Inventory — Complete control reference
    • Scripts Module Reference — For creating custom MCP tools

    Change Log

    VersionDateChanges0.72026-01-25Added Protocol Schema tools (list_protocols, get_protocol_schema); Added Data Explorer tools (open_data_explorer, get_data_explorer_state); Added protocol groups documentation; Added device configuration examples and tips; Updated troubleshooting0.62026-01-25Added Display Operations tools; Added JSON format examples; Added Dashboard creation guidance; Updated troubleshooting
    • 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

    Related Documentation

    • Overview and examples
    • Query live data
    • Deep technical details
    • Technical architecture
    0.52026-01-15Initial release



    In this section...

    Page Tree
    root@parent