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



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


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


Overview

The AI MCP for Designer enables AI models to interact with FrameworX Designer, providing intelligent assistance for solution configuration. Describe what you need in natural 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 .



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.


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

MCP for Designer is Enabled by default. To disable:

  1. Open FrameworX Designer
  2. Navigate to Solutions → Settings
  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>\\MCP\\DesignerMCP.exe",
      "transport": "stdio"
    }
  }
}
  1. Replace <ProductPath> with your FrameworX installation directory (use double backslashes)
  2. Save and close
  3. 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.

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 — Designer tools should be listed
  5. In Designer, verify the orange "AI MCP" badge appears

Available Tools

Solution Management (4 tools)

ToolPurpose
list_solutionsList available solutions on this machine (works without Designer running)
create_solutionCreate a new solution and return the MCP Context document
open_solutionOpen an existing solution and return the MCP Context document
get_solution_infoGet solution statistics — object counts per module


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

Object Operations (4 tools)

ToolPurpose
get_objectsRead objects from config tables. detail='summary' for listing, detail='full' for complete JSON. Singletons always return full config.
browse_namespaceBrowse runtime namespace paths (Server, Client, Tag, Alarm, Device, etc.)
get_table_schemaGet field definitions for any table type. No parameter lists all table types.
write_objectsCreate or update objects from JSON. Modes: upsert (default), create. Supports dry_run for validation.

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.

Designer Control (1 tool)

ToolPurpose
designer_actionNavigate UI, get state, control runtime (8 actions)

Available actions:

  • navigate — Go to target page (DataExplorer.MQTTTools, AlarmsMonitor, etc.)
  • get_current_view — Current UI state + selected object config. Options: 'true' for screenshot.
  • get_runtime_status — Runtime health. Auto-navigates to diagnostics or startup page.
  • start_runtime / stop_runtime — Control runtime execution
  • hot_update — Apply configuration changes without full restart
  • start_mqtt_broker — Start the built-in MQTT broker
  • start_mqtt_simulator — Start the MQTT publisher simulator

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

Schema & Discovery (3 tools)

ToolPurpose
get_table_schemaField definitions for config tables (also listed under Object Operations)
list_protocolsSearch and discover communication protocols. Auto-includes schema when search returns exactly one match.
get_element_schemaGet display element properties (Canvas, Dashboard, controls, gauges, charts)

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:

  • get_element_schema() — List all element types by category
  • 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

Documentation (2 tools)

ToolPurpose
search_docsSearch FrameworX documentation with label and section filters
get_solution_filesFetch JSON config files from documented solution examples

Recommended workflow: Start with search_docs(query, labels='code') for code snippets. Escalate to labels='example' + get_solution_files only when complete configurations are needed.

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

Track Changes (1 tool)

ToolPurpose
get_track_changesQuery audit trail, cross-references, versions, usage counts

Query types:

  • RecentChanges — Modification history (who/what/when)
  • VersionControl — Version info for objects
  • CrossReference — Where an object is referenced (requires object_name)
  • UseCount — Usage count across solution

Table Types Quick Reference

ModuleTableTypeNotes
UNSUnsTagsProcess tags organized in folder paths

UnsUserTypesUDT templates

UnsTagProvidersExternal data sources

UnsEnumerationsEnum mappings
DevicesDevicesChannelsProtocol configuration

DevicesNodesDevice addresses

DevicesPointsTag-to-address mapping
AlarmsAlarmsGroupsBehavior rules

AlarmsItemsTag-bound triggers

AlarmsAreasOptional hierarchy

AlarmsGlobalSettingsModule configuration (singleton)
HistorianHistorianStorageLocationsData repository

HistorianHistorianTablesStorage coordination

HistorianHistorianTagsTags to log
DatasetsDatasetsDBsDatabase connections

DatasetsQueriesSQL queries

DatasetsTablesDirect table access

DatasetsFilesFile operations
ScriptsScriptsTasksEvent-triggered code

ScriptsClassesReusable libraries

ScriptsExpressionsOne-liner calculations

ScriptsReferencesExternal DLL references
ReportsReportsFormsDocuments

ReportsWebDataJSON/XML
DisplaysDisplaysListUI screens (Canvas or Dashboard)

DisplaysSymbolsReusable user-authored components

DisplaysLayoutsLayout regions

DisplaysImagesImage library
SecuritySecurityUsersAccounts

SecurityPermissionsPermission groups

SecurityPoliciesSession/password rules

SecuritySecretsCredentials (not accessible by AI)
SolutionSolutionCategoriesObject labels (MCP flag)

SolutionSettingsGlobal solution config (singleton)
RuntimeRuntimeStartupStartup configuration (singleton)

RuntimeExecutionProfilesDev/Prod replacement connections (singleton)
Track ChangesRecentChanges, VersionControl, CrossReference, UseCount — query-only via get_track_changes

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} %"

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.


MCP Category and Update Protection

Objects created by AI receive Category = "MCP" (via SolutionCategories) 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')

Applying Changes Without Restart

"Apply my tag changes to the running system"

AI uses: designer_action('hot_update')


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.

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

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

"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

Related Documentation

  • Overview and examples
  • Query live data
  • Deep technical details
  • Technical architecture

In this section...