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)

 


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 what you need in natural language and let AI generate 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.

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 



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

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

ToolPurpose
list_objectsList objects in a table OR browse runtime namespaces (Server, Client, Tag, etc.)
get_objects_configGet full JSON configuration for specific objects
get_table_schemaGet field definitions and valid values for any table type
create_objectsCreate new objects from JSON configuration
validate_jsonValidate JSON configuration before creating objects
update_objectModify existing objects (respects MCP Category permissions)
delete_objectsRemove objects from the solution

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

Display Tools (1 tool)

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

Special queries:

  • get_element_schema('Canvas') — Canvas display structure with layout info
  • 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_protocolsSearch available protocols by equipment name (fuzzy matching)
get_protocol_schemaGet protocol-specific field schema for configuration

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)

ToolPurpose
search_docsSearch FrameworX documentation with label/section 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, 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 TabDescription
UNSUnsTagsTagsProcess variable tags

UnsTagProvidersTagProvidersExternal data sources (MQTT, OPC UA)

UnsUserTypesUserTypesCustom data structures (UDT)

UnsEnumerationsEnumerationsNumber-to-string mappings
DevicesDevicesChannelsChannelsProtocol connections

DevicesNodesNodesDevice addresses

DevicesPointsPointsTag-to-address mappings
AlarmsAlarmsGroupsGroupsAlarm behavior settings

AlarmsItemsItemsIndividual alarm definitions

AlarmsAreasAreasAlarm hierarchy
HistorianHistorianTagsHistorianTagsTags configured for logging

HistorianTablesHistorianTablesStorage configurations

HistorianStorageLocationsStorageLocationsDatabase connections
DatasetsDatasetsDBsDBsDatabase connections

DatasetsQueriesQueriesSQL query definitions

DatasetsTablesTablesDirect table access

DatasetsFilesFilesFile operations
ScriptsScriptsTasksTasksEvent-triggered code

ScriptsClassesClassesReusable code libraries

ScriptsExpressionsExpressionsOne-liner calculations
ReportsReportsFormsFormsDocument templates

ReportsWebDataWebDataJSON/XML data objects
DisplaysDisplaysListListUI screens and pages

DisplaysSymbolsSymbolsReusable visual components

DisplaysLayoutsLayoutsScreen layout definitions

DisplaysImagesImagesImage library
SecuritySecurityUsersUsersUser accounts

SecurityPermissionsPermissionsPermission flags

SecurityPoliciesPoliciesSecurity 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
  • Displays Module Reference — Canvas and Dashboard formats

In this section...