Enable AI-powered solution configuration through Model Context Protocol integration.
Preview Connector
Preview Version for tests and training, not released for production.
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)
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.
| Use Case | Example |
|---|---|
| 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" |
| 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" |
Configure Claude Desktop to connect to the Designer MCP server:
{
"mcpServers": {
"FrameworX-Designer": {
"command": "<ProductPath>\\fx-10\\net8.0\\TMCPServerDesigner\\TMCPServerDesigner.exe",
"args": ["/port:3102"],
"transport": "stdio"
}
}
}
Tip: You can run both MCP for Designer and MCP for Runtime simultaneously by including both configurations in your claude_desktop_config.json file.
AI MCP for Designer provides these tools organized by category:
| Tool | Purpose |
|---|---|
| create_solution | Create a new FrameworX solution |
| open_solution | Open an existing solution to work with |
| get_solution_info | Get solution statistics and summary |
| Tool | Purpose |
|---|---|
| list_tables | List all available object types (Tags, Alarms, etc.) |
| get_table_schema | Get field definitions for any object type |
| Tool | Purpose |
|---|---|
| list_objects | Browse objects with summary information |
| get_objects | Retrieve full configuration details |
| create_objects | Create new objects from AI-generated configuration |
| update_objects | Modify existing objects |
| validate_json | Validate configuration before creating |
| Tool | Purpose |
|---|---|
| list_displays | List all displays in the solution |
| export_display | Export display to AI-friendly JSON format |
| import_display | Create/update display from JSON |
| get_symbol_info | Get symbol metadata and parameters |
| search_symbols | Search symbol library by name or category |
| Tool | Purpose |
|---|---|
| list_protocols | List available communication protocols filtered by group |
| get_protocol_schema | Get protocol-specific field schema (ProtocolOptions, PrimaryStation, Address) |
Protocols are organized into these groups:
| Group | Description | Examples |
|---|---|---|
| AutomationVendors | Vendor-specific PLC protocols | ControlLogix, S7, Mitsubishi, Omron |
| FactoryFloor | Industrial fieldbus protocols | Modbus, Profinet, EtherNet/IP |
| HistorianDB | Data storage and historian connections | SQL, ODBC, OSIsoft PI |
| ITCloud | IoT and cloud protocols | MQTT, MQTTSpB, REST, AMQP |
| StandardProtocols | Industry-standard protocols | OPCUA, OPCDA, ValueSimulator |
| VerticalIndustries | Industry-specific protocols | DNP3, IEC61850, BACnet |
| Tool | Purpose |
|---|---|
| open_data_explorer | Open Data Explorer with connection settings (MQTT, OPC, PLC, SQL) |
| get_data_explorer_state | Get connection status, selected node, and creation recipes |
| Source Type | URL Format | Example |
|---|---|---|
| MQTT | tcp://host:port or ssl://host:port | tcp://192.168.1.100:1883 |
| OPC | opc.tcp://host:port | opc.tcp://192.168.1.100:4840 |
| PLC | IP address or hostname | 192.168.1.100 |
| SQL | Connection string | Server=localhost;Database=mydb;... |
| Tool | Purpose |
|---|---|
| search_docs | Search FrameworX documentation |
| navigate_to | Navigate Designer UI to specific location |
| get_designer_state | Get current Designer view and selection |
| take_screenshot | Capture current Designer view |
AI MCP for Designer uses simplified JSON formats for creating and modifying displays.
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 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"
}
}
]
}
| Feature | Canvas | Dashboard |
|---|---|---|
| Positioning | Left, Top (pixels) | Row, Col (grid) |
| Sizing | Width, Height | Cell spans (ColSpan, RowSpan) |
| Shapes | ? Supported | ? Not supported |
| Cell headers | N/A | Cell.HeaderLink |
| Resizable | No | Yes (TGridSplitter) |
For complete format specifications, see:
When you open or create a solution, the AI automatically receives context about the FrameworX object model, including:
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.
For display operations, the AI also receives:
For device configuration, the AI can discover:
* suffix)When using Data Explorer tools, the AI receives:
AI-generated configuration should always be reviewed before saving:
For best results when working with AI MCP for Designer:
| Do | Don't |
|---|---|
| Be specific about object types and properties | Use vague descriptions |
| Reference existing solution patterns | Assume AI knows your conventions |
| Provide context about intended behavior | Skip important constraints |
| Ask AI to explain what it will do before executing | Approve bulk changes without review |
| Use validate_json before large create operations | Skip validation on bulk imports |
| Specify display type (Canvas vs Dashboard) | Assume AI will choose correctly |
| Use list_protocols to discover available options | Guess protocol names |
| Use Data Explorer to browse before creating devices | Manually construct connection strings |
| Tip | Reason |
|---|---|
| Start with Dashboard for operational screens | Responsive, resizable cells |
| Use Canvas for P&ID and custom graphics | Precise 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" |
| Tip | Reason |
|---|---|
| Use get_protocol_schema before creating devices | Shows 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 sources | Verifies connectivity and discovers available tags |
| Let AI use recipes from get_data_explorer_state | Pre-built configurations reduce errors |
| Specify interface type when protocol supports multiple | "Modbus over TCPIP" not just "Modbus" |
For querying live data from running solutions:
| Version | Date | Changes |
|---|---|---|
| 0.7 | 2026-01-25 | Added 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 troubleshooting |
| 0.6 | 2026-01-25 | Added Display Operations tools; Added JSON format examples; Added Dashboard creation guidance; Updated troubleshooting |
| 0.5 | 2026-01-15 | Initial release |