Legal
Ecotrak MCP Technical Overview
Overview
The Ecotrak MCP server provides structured access to Ecotrak facility, asset, troubleshooting, service provider, and work order workflows. It enables AI agents and MCP-compatible clients to search user-accessible locations, identify assets, retrieve problem and priority metadata, review troubleshooting guidance, select appropriate service providers, and create or inspect work orders.
The server is designed to support maintenance intake workflows where the user needs to locate a branch, identify the correct asset, validate the problem type, check available troubleshooting steps, determine priority, optionally select a service provider, and create a complete service request.
Core Capabilities
The Ecotrak MCP server supports the following primary workflows:
Search and resolve user-accessible locations or branches
Search assets by name, type, or location
Retrieve detailed asset information by asset ID
Retrieve available problem types for assets and asset groups
Retrieve troubleshooting steps before creating work orders
Retrieve priority levels and match urgency based on ETA
Retrieve eligible service providers for asset and problem combinations
Create structured work orders or service requests
Search and retrieve existing work order details
Retrieve user profile and branch access context
Retrieve available request categories for work order creation
Work Order Creation Flow
Work order creation should follow a structured sequence to ensure complete and accurate submissions.
Identify the user and available branch/location context using get_user_info when needed.
Resolve the location using search_locations, unless the user already provides a valid location ID.
Identify the relevant asset using search_assets or get_asset_info.
Retrieve available problems using get_problems_for_asset or get_problems_for_asset_type.
Match the user’s reported issue to the closest supported problem type.
Check troubleshooting guidance using get_troubleshooting_steps before creating a work order.
Retrieve available priorities using get_priorities and match urgency based on ETA.
Retrieve service providers using get_service_providers when provider assignment is needed.
Retrieve request categories using get_request_categories when category selection is required.
Create the work order using create_work_order only after all required information has been collected.
Required information for create_work_order includes:
Location
Asset
Problem
Priority
Optional information may include:
Service provider
Request category
Additional issue description
User-provided context or notes
Tool Reference
get_asset_info
Human-readable name: Get Asset Information
Purpose: Retrieves detailed information about a specific asset by ID.
Typical use: Use when an asset ID is already known and detailed asset metadata is needed before troubleshooting, provider lookup, or work order creation.
search_assets
Human-readable name: Search Assets
Purpose: Searches for assets by name, type, or location using the user’s access context.
Typical use: Use when the user describes an asset by name, equipment type, or branch/location and the exact asset ID is not known.
create_work_order
Human-readable name: Create Work Order / Service Request
Purpose: Creates a new work order or service request for an asset.
Important usage rule: Use only after collecting all required information: location, asset, problem, and priority. Service provider may be included when available or selected.
Required pre-check: Call get_troubleshooting_steps before creating the work order to determine whether the user should attempt troubleshooting first.
get_work_order_info
Human-readable name: Get Work Order Information
Purpose: Retrieves detailed information about a specific work order by ID.
Typical use: Use when the user wants to check the details, status, or metadata of an existing service request.
get_user_info
Human-readable name: Get User Information
Purpose: Retrieves user profile information, including branch/location access.
Typical use: Use when branch context, user permissions, or available locations are needed to guide searches and work order creation.
troubleshooting
Human-readable name: Get Troubleshooting Asset Types and Problems
Purpose: Retrieves asset types that have troubleshooting problems available.
Typical use: Use to discover supported troubleshooting categories before selecting a specific asset type and issue.
search_work_orders
Human-readable name: Search Work Orders
Purpose: Searches for work orders by name, type, or location using the user’s access context.
Typical use: Use when the user wants to find existing work orders related to a location, asset, issue type, or service request.
search_locations
Human-readable name: Search Locations / Branches
Purpose: Searches for locations or branches by name, store number, or ID. Returns only locations the user has access to.
Typical use: Use to find a location ID when creating work orders. If the user provides a valid location ID directly, this search can be skipped.
get_problems_for_asset
Human-readable name: Get Problems for Asset
Purpose: Retrieves all available problems or issues for a specific asset.
Typical use: Use after identifying the asset to determine the valid problem options for that asset type. The AI agent should perform fuzzy matching between the user’s issue description and the returned problem list.
get_priorities
Human-readable name: Get Work Order Priorities
Purpose: Retrieves available work order priority levels.
Typical use: Use to find the correct priority ID when creating a work order. Priorities are ordered by ETA in hours, where a lower ETA indicates higher urgency. The AI agent should interpret terms such as “high,” “low,” “urgent,” “ASAP,” “emergency,” and “routine” and map them to the appropriate returned priority.
get_service_providers
Human-readable name: Get Service Providers
Purpose: Retrieves available service providers for a specific asset and problem combination.
Typical use: Use when a service provider should be assigned to a work order. Providers are returned based on trade assignment. For managed assets, provide assetId. For general assets, provide generalAssetId and branchId.
get_troubleshooting_steps
Human-readable name: Get Troubleshooting Steps
Purpose: Retrieves troubleshooting steps for a specific asset type and problem combination.
Important usage rule: Use before creating a work order to check whether there are troubleshooting steps the user should try first.
get_problems_for_asset_type
Human-readable name: Get Problems for Asset Type
Purpose: Retrieves available problem types for a specific asset group or asset type.
Typical use: Use to find the correct problem ID when creating a work order, especially when working from an asset type rather than a specific asset.
get_request_categories
Human-readable name: Get Request Categories
Purpose: Retrieves the available request categories for work orders.
Typical use: Use during work order creation when the user needs to choose or confirm the appropriate request category.
Recommended Agent Behavior
Agents using the Ecotrak MCP server should resolve ambiguous user input into valid Ecotrak entities before creating work orders. For example, if a user says “the freezer is not cooling at Store 245,” the agent should search for the location, find matching freezer assets, retrieve available problems, fuzzy match “not cooling” to the closest valid problem, check troubleshooting steps, determine the appropriate priority, and only then create the work order.
Agents should not create a work order immediately from incomplete information. If required information is missing, the agent should gather the missing location, asset, problem, or priority details before calling create_work_order.
Example Technical Use Cases
Use Case 1: Asset-Based Work Order Creation
User request:
“Create a high-priority work order for the walk-in freezer at Store 245. It is not holding temperature.”
Expected tool sequence:
search_locations
search_assets
get_problems_for_asset
get_troubleshooting_steps
get_priorities
get_service_providers, if provider assignment is needed
create_work_order
Use Case 2: Troubleshooting Before Service Request
User request:
“The ice machine is not producing ice. Are there troubleshooting steps before opening a request?”
Expected tool sequence:
search_locations, if location is not already known
search_assets
get_problems_for_asset
get_troubleshooting_steps
Use Case 3: Existing Work Order Lookup
User request:
“Find the work order for the HVAC issue at Store 118.”
Expected tool sequence:
search_locations
search_work_orders
get_work_order_info, if a specific work order is selected
Use Case 4: Provider-Aware Work Order Creation
User request:
“Create a service request for the rooftop HVAC unit and assign the correct provider.”
Expected tool sequence:
search_locations
search_assets
get_problems_for_asset
get_troubleshooting_steps
get_priorities
get_service_providers
create_work_order
Required Tool List
get_asset_info (Get Asset Information), search_assets (Search Assets), create_work_order (Create Work Order / Service Request), get_work_order_info (Get Work Order Information), get_user_info (Get User Information), troubleshooting (Get Troubleshooting Asset Types and Problems), search_work_orders (Search Work Orders), search_locations (Search Locations / Branches), get_problems_for_asset (Get Problems for Asset), get_priorities (Get Work Order Priorities), get_service_providers (Get Service Providers), get_troubleshooting_steps (Get Troubleshooting Steps), get_problems_for_asset_type (Get Problems for Asset Type), get_request_categories (Get Request Categories)
Resources
None. The Ecotrak MCP server exposes its capabilities through tools rather than static MCP resources.
Prompts
None. The Ecotrak MCP server does not currently expose predefined MCP prompts. Users and agents can interact with the server using natural language requests for location search, asset lookup, troubleshooting, provider selection, priority selection, work order search, and work order creation.