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 AI MCP for Runtime Connector



Integration Architecture

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


Manage SolutionsRead & Write ObjectsSchema & DiscoveryDesigner ControlDocumentation

Create, open,
list solutions,  
get info & audit.

List, create,
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

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

  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)

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

get_objects

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

write_objects

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 (3 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').

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('Canvas') — Canvas display structure

  • list_elements('Dashboard') — Dashboard grid and cell structure

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


Designer UI & Control (3 tools)

Tool

Purpose

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

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 (2 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.

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


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

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

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