MCP Integration
MCP Integration is currently in beta. The available tools and configuration format may change in future releases.
Overview
MaestroHub exposes a Model Context Protocol (MCP) server that lets AI coding assistants interact directly with your industrial automation platform. Once connected, an AI assistant can query connections, build pipelines, publish data to the Unified Namespace, create dashboards, and more — all through natural language.
This enables use cases such as:
- Rapid prototyping — describe a pipeline in plain English and have the AI build it
- Data exploration — ask questions about your UNS topics, connections, and pipeline executions
- Dashboard creation — generate monitoring dashboards from conversational descriptions
- Troubleshooting — inspect connection statuses, execution logs, and dependency graphs with AI assistance
Prerequisites
- OAuth2 module enabled — The MCP server authenticates via Personal Access Tokens (PATs), which require the OAuth2 module
- A Personal Access Token — Generated from your profile page (see below)
Step 1: Generate a Personal Access Token
Create a PAT from your profile's Security tab. Give it a descriptive name (e.g., "MCP - Claude Code"), select an expiration period (1 year recommended for development use), and grant the permissions needed for your workflow.
For detailed instructions, see Personal Access Tokens.
Step 2: Obtain the Organization ID
Most MCP configurations require an Organization ID to scope API requests to the correct organization.
For how to find and copy your Organization ID, see Organization Context.
Step 3: Configure Your Editor
Choose your editor from the guides below to set up MCP integration:
Each guide provides the exact configuration file format and location for the editor.
For real-world prompt examples with actual outputs, see the Example Prompts page. For a full end-to-end walkthrough, see Walkthrough: Antigravity + Gemini.
Available Tools
The MCP server exposes the following tools, grouped by module.
Authentication & Authorization
| Tool | Description |
|---|---|
auth_get_user | Get a user by ID or email |
auth_get_user_stats | Get aggregate user statistics |
auth_list_users | List users with optional filtering |
auth_list_identity_providers | List configured SSO identity providers |
authz_check_access | Check if a user has permission for an action |
authz_get_user_roles | Get role assignments for a user |
authz_get_users_with_role | Get users with a specific role |
authz_list_roles | List all roles with permissions |
Connectors
| Tool | Description |
|---|---|
connectors_list_connections | List all connections with optional search |
connectors_get_connection | Get connection details by ID |
connectors_connection_status | Get runtime status and metrics |
connectors_test_connection | Test connectivity for a connection |
connectors_start_connection | Start a connection runtime |
connectors_stop_connection | Stop a connection runtime |
connectors_list_functions | List functions for a connection |
connectors_get_function | Get function details by ID |
connectors_execute_function | Execute a connector function |
connectors_list_protocols | List all supported protocols |
Pipeline Engine
| Tool | Description |
|---|---|
engine_list_pipelines | List pipelines with search and filtering |
engine_get_pipeline | Get pipeline details including node graph |
engine_create_pipeline | Create a new pipeline with nodes and edges |
engine_update_pipeline | Update an existing pipeline |
engine_validate_pipeline | Validate pipeline configuration |
engine_enable_pipeline | Enable a pipeline |
engine_disable_pipeline | Disable a pipeline |
engine_list_executions | List recent executions for a pipeline |
engine_get_execution | Get execution details |
engine_list_node_types | List available node types |
engine_list_models | List data models |
engine_get_model | Get a data model by ID |
Unified Namespace (UNS)
| Tool | Description |
|---|---|
uns_list_topics | List all UNS topics |
uns_search_topics | Search topics by name |
uns_get_topic | Get topic details and schema |
uns_create_topic | Create a new topic |
uns_publish_data | Publish data to a topic |
uns_fetch_recent | Fetch most recent data from a topic |
uns_fetch_range | Fetch data within a time range |
uns_broker_status | Get MQTT broker status |
Dashboards
| Tool | Description |
|---|---|
uns_list_dashboards | List dashboards with optional search |
uns_get_dashboard | Get dashboard details and panels |
uns_create_dashboard | Create a dashboard with panels |
uns_update_dashboard | Update dashboard properties |
uns_delete_dashboard | Delete a dashboard |
uns_add_panel | Add a panel to a dashboard |
uns_update_panel | Update a panel |
uns_remove_panel | Remove a panel |
uns_list_panel_types | List available panel types |
Dependencies
| Tool | Description |
|---|---|
deps_get_insights | Get dependency graph insights |
deps_query_graph | Query the full dependency graph |
deps_query_dependencies | Find what an entity depends on |
deps_query_dependents | Find what depends on an entity |
deps_query_impact | Impact analysis for changes |
deps_query_orphans | Find unused entities |
Scheduler
| Tool | Description |
|---|---|
scheduler_get_stats | Get scheduler statistics |
scheduler_list_webhooks | List registered webhook paths |
scheduler_trigger_manually | Manually trigger a pipeline |
Search
| Tool | Description |
|---|---|
search_query | Search across all entity types |
search_find_by_id | Find an entity by ID |
search_get_stats | Get search index statistics |
Organization & License
| Tool | Description |
|---|---|
org_get_organization | Get organization details |
org_list_organizations | List organizations |
org_get_settings | Get organization settings |
org_get_maintenance_status | Check maintenance mode |
license_get_status | Get license status |
license_get_features | List enabled features |
license_check_feature | Check a specific feature flag |
WebSocket
| Tool | Description |
|---|---|
ws_get_status | Get WebSocket server status |
ws_get_presence | Get users present on a pipeline editor |
Tips & Best Practices
- HTTP vs HTTPS — The examples in these guides use
https://. If your MaestroHub instance is deployed locally without TLS (e.g.,http://localhost:8080), replacehttps://withhttp://in the MCP server URL. - Token management — Rotate tokens periodically and use a 1-year expiration for development.
- Organization context — The
X-Organization-IDheader determines which organization's data the AI can access. Make sure it matches your target environment. - Tool discovery — Ask the AI "What MCP tools are available?" to get a full list of capabilities. The AI can also call
engine_list_node_typesandconnectors_list_protocolsto discover what pipeline nodes and connector types are supported. - Iterative building — Start with simple pipelines and add complexity incrementally. The AI can update existing pipelines with
engine_update_pipeline. - Impact analysis — Before modifying or deleting a connection or function, ask the AI to run
deps_query_impactto understand what will be affected.