Dynamic bindings allow you to expose Itential Platform automation capabilities as MCP tools without writing any code. Simply configure which workflows (endpoints) or Gateway Manager services you want to expose, and the MCP server automatically creates callable tools that AI assistants can use.
get_workflows or get_services[tool:provision-device] type = endpoint name = Provision Network Device # Endpoint/trigger name (specific trigger) automation = Device Management # Automation name (parent workflow)
This creates an MCP tool that executes the “Provision Network Device” endpoint/trigger (specified in name) within the “Device Management” automation/workflow (specified in automation).
[tool:run-playbook] type = service name = network-config-playbook cluster = ansible-cluster
This creates an MCP tool that executes the “network-config-playbook” service in the “ansible-cluster” Gateway Manager cluster.
Endpoint bindings expose Itential Platform workflow triggers as callable MCP tools. When invoked, they execute the workflow with the provided input data.
To create an endpoint binding, you need:
[tool:my-workflow] type = endpoint name = Trigger Name automation = Automation Name description = Optional description of what this tool does tags = optional,custom,tags
| Field | Description | Example |
|---|---|---|
type |
Must be endpoint |
automation |
name |
Endpoint name – Exact name of the trigger/endpoint in Itential Platform | Provision Network Device |
automation |
Automation name – Exact name of the parent automation/workflow containing this endpoint | Device Management |
Important: The automation field refers to the automation name in Operations Manager, while the name field refers to the specific endpoint/trigger within that automation. For example, the automation “Device Management” might contain multiple endpoints like “Provision Network Device”, “Provision Network Device with. Options”, etc.
| Field | Description | Example |
|---|---|---|
description |
Human-readable description of the tool’s purpose | Provision a new network device with standard configuration |
tags |
Comma-separated list of tags for filtering | Provisioning,network,production |
[tool:provision-cisco-router] type = endpoint name = Provision Cisco Router automation = Network Device Provisioning description = Provision a new Cisco router with enterprise standard configuration including VLANs, routing protocols, and security policies tags = provisioning,cisco,router,production [tool:backup-config] type = endpoint name = Backup Device Configuration automation = Configuration Management description = Backup device configuration to Git repository tags = backup,configuration,compliance [tool:compliance-check] type = endpoint name = Security Compliance Check automation = Security Compliance description = Run security compliance checks and generate report tags = compliance,security,audit
/operations-manager/automations to find the automation/operations-manager/triggers to find the trigger by namestart_workflow with the trigger’s route nameTo find available automations and triggers in your Itential Platform:
automation field value)name field valueExample: If you see automation “Device Management” containing trigger “Provision Network Device”:
automation = Device Management (parent workflow)name = Provision Network Device (specific endpoint/trigger)Or use the MCP tool: get_workflows
Service bindings expose Gateway Manager services as callable MCP tools. Gateway Manager allows you to run external automation services like Ansible playbooks, Python scripts, OpenTofu plans, and more.
To create a service binding, you need:
[tool:my-workflow] type = endpoint name = Trigger Name automation = Automation Name description = Optional description of what this tool does tags = optional,custom,tags
| Field | Description | Example |
|---|---|---|
type |
Must be service |
service |
name |
Exact name of the service in Gateway Manager | network-config-playbook |
cluster |
Exact name of the cluster containing the service | ansible-cluster |
| Field | Description | Example |
|---|---|---|
description |
Human-readable description of the service’s purpose | Deploy network configuration using Ansible |
tags |
Comma-separated list of tags for filtering | ansible,configuration,production |
[tool:deploy-config] type = service name = network-config-playbook cluster = ansible-cluster description = Deploy network configuration across multiple devices using Ansible playbooks with validation and rollback capabilities tags = ansible,deployment,configuration,production [tool:backup-script] type = service name = device-backup-script cluster = python-cluster description = Execute Python script to backup device configurations to S3 tags = backup,python,aws,s3 [tool:opentofu-plan] type = service name = network-infrastructure-plan cluster = opentofu-cluster description = Generate OpenTofu plan for network infrastructure changes tags = iac,opentofu,terraform,planning
| Service Type | Description | Use Case |
|---|---|---|
ansible-playbook |
Ansible automation | Configuration management, orchestration |
python-script |
Python scripts | Custom automation, data processing |
opentofu-plan |
OpenTofu/Terraform | Infrastructure as Code |
run_service with the service name and clusterTo find available services in your Gateway Manager:
Or use the MCP tool: get_services
Create a configuration file:
## Platform configuration ommitted for brevity # Endpoint bindings [tool:provision-device] type = endpoint name = Provision Network Device automation = Device Management description = Provision new network devices tags = provisioning,network [tool:compliance-check] type = endpoint name = Security Compliance Check automation = Compliance Automation tags = compliance,security # Service bindings [tool:ansible-deploy] type = service name = network-config-playbook cluster = ansible-cluster description = Deploy network configurations tags = ansible,deployment
Environment variables follow the pattern:
# Define endpoint tool via environment variables export ITENTIAL_MCP_TOOL_PROVISION_DEVICE_TYPE=endpoint export ITENTIAL_MCP_TOOL_PROVISION_DEVICE_NAME="Provision Network Device" export ITENTIAL_MCP_TOOL_PROVISION_DEVICE_AUTOMATION="Device Management" export ITENTIAL_MCP_TOOL_PROVISION_DEVICE_DESCRIPTION="Provision new network devices" export ITENTIAL_MCP_TOOL_PROVISION_DEVICE_TAGS="provisioning,network,device"
# Define service tool via environment variables export ITENTIAL_MCP_TOOL_PROVISION_DEVICE_TYPE=service export ITENTIAL_MCP_TOOL_PROVISION_DEVICE_NAME="network-config-playbook" export ITENTIAL_MCP_TOOL_PROVISION_DEVICE_AUTOMATION="ansible-cluster" export ITENTIAL_MCP_TOOL_PROVISION_DEVICE_DESCRIPTION="Deploy network configurations" export ITENTIAL_MCP_TOOL_PROVISION_DEVICE_TAGS="ansible,deployment,production"
Combine both methods – environment variables override file settings:
[tool:provision-device] type = endpoint name = Provision Network Device automation = Device Management description = Basic provisioning tags = provisioning
export ITENTIAL_MCP_TOOL_PROVISION_DEVICE_DESCRIPTION="Enhanced provisioning with validation" export ITENTIAL_MCP_TOOL_PROVISION_DEVICE_TAGS="provisioning,network,validated,production"
Result: The tool uses file config with overridden description and tags from environment.
Every dynamically bound tool automatically receives these tags:
bindings: All bound tools get this tag[tool:provision-device] type = endpoint name = Provision Network Device automation = Device Management tags = provisioning,network,cisco
Automatically gets tags:
bindings (automatic)provision-device (automatic from tool name)Provision Network Device (automatic from trigger name)provisioning (custom)network (custom)cisco (custom)[tool:ansible-deploy] type = service name = network-config-playbook cluster = ansible-cluster tags = ansible,deployment,production
Automatically gets tags:
bindings (automatic)ansible-deploy (automatic from tool name)network-config-playbook (automatic from service name)ansible (custom)deployment (custom)production (custom)Endpoint Error – Automation Not Found:
Error: automation 'Device Management' could not be found
Solutions:
automation field matches the parent workflow name, not the endpoint/trigger nameService Error:
Error: service 'network-config' could not be found
Solutions:
Error: trigger 'Provision Device' could not be found in automation 'Device Management'
Solutions:
name field) matches exactly (case-sensitive)automation fieldCommon mistake: Using the automation name in the name field instead of the actual endpoint/trigger name.
Remember:
automation = Parent workflow name (e.g., “Device Management”)name = Specific endpoint/trigger name (e.g., “Provision Network Device”)Issue: Tool defined but not showing up in tool list
Solutions:
Check tag filtering:
[server] # Are your tags too restrictive? include_tags = bindings,provisioning # Is your tool tagged correctly? [tool:my-tool] tags = provisioning # Must match include_tags
Check logs:
itential-mcp --config config.ini --log-level DEBUG
Look for:
INFO: Registering dynamic tool: provision-device INFO: Tool tags: bindings,provision-device,provisioning
Error: 403 Forbidden - Insufficient permissions
Solutions:
[server] log_level = DEBUG
Or:
itential-mcp --log-level DEBUG
When server starts, check logs for:
INFO: Registering dynamic tool: provision-device INFO: Tool tags: bindings,provision-device,Provision Network Device,provisioning,network
Dynamic bindings provide a powerful, code-free way to expose Itential Platform automation capabilities to AI assistants and other MCP clients. By following the patterns and practices in this guide, you can rapidly deploy new tools that leverage your existing Platform workflows and Gateway Manager services.
See how Itential connects AI reasoning to governed execution across your entire infrastructure.