From kaseya-autotask
Discovers and executes Autotask MCP tools using meta-tools (list_categories, list_category_tools, execute_tool, router) for lazy-loaded connections when direct tools unavailable.
npx claudepluginhub wyre-technology/msp-claude-plugins --plugin autotaskThis skill uses the workspace's default tool permissions.
The Autotask MCP server can run in **lazy loading mode**, where only 4 meta-tools are exposed initially instead of all 39+ tools. This is common on remote MCP connections (e.g., Claude.ai connectors) where loading all tool schemas upfront would be expensive.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Proposes cuts, reorganization, and simplification to improve document structure, clarity, and flow while preserving comprehension. Use for structural or editorial reviews.
The Autotask MCP server can run in lazy loading mode, where only 4 meta-tools are exposed initially instead of all 39+ tools. This is common on remote MCP connections (e.g., Claude.ai connectors) where loading all tool schemas upfront would be expensive.
If you can see Autotask tools listed but can't call them, or if only a few Autotask tools appear — use this progressive discovery pattern.
When lazy loading is active, these 4 tools are always available:
| Meta-Tool | Purpose |
|---|---|
autotask_list_categories | List all tool categories with descriptions |
autotask_list_category_tools | Get full tool schemas for a category |
autotask_execute_tool | Execute any tool by name with arguments |
autotask_router | Describe what you want in natural language, get the right tool |
Tool: autotask_list_categories
Args: {}
Returns all categories:
| Category | Description |
|---|---|
utility | Connection testing, field/picklist discovery |
companies | Search, create, update companies |
contacts | Search and create contacts |
tickets | Tickets, notes, attachments |
projects | Projects, tasks, project notes |
time_and_billing | Time entries, billing items, expenses |
financial | Quotes, quote items, opportunities, invoices, contracts |
products_and_services | Products, services, service bundles |
resources | Search for technicians/staff |
configuration_items | Assets/devices |
company_notes | Company note management |
Tool: autotask_list_category_tools
Args: { "category": "time_and_billing" }
Returns full schemas for every tool in that category, including parameter names, types, descriptions, and required fields.
Tool: autotask_execute_tool
Args: {
"toolName": "autotask_search_resources",
"arguments": { "searchTerm": "Aaron" }
}
This executes the tool as if you called it directly. The response format is identical.
If you're unsure which tool or category to use, skip the discovery steps and use the router:
Tool: autotask_router
Args: { "intent": "find tickets for Acme Corp" }
The router returns:
| Intent | Suggested Tool |
|---|---|
| "find tickets for Acme Corp" | autotask_search_tickets with company filter |
| "log 2 hours on ticket 12345" | autotask_create_time_entry with ticket/hours filled |
| "create a quote for client" | autotask_create_quote with company lookup |
| "look up Aaron's resource ID" | autotask_search_resources with search term |
| "create an expense report" | autotask_create_expense_report |
| "add a firewall to a quote" | autotask_create_quote_item with product search |
After the router suggests a tool, use autotask_execute_tool to run it.
| Situation | Approach |
|---|---|
| Know exactly which tool you need | Call it directly (if schema loaded) or autotask_execute_tool |
| Know the category but not the tool | autotask_list_category_tools → autotask_execute_tool |
| Don't know where to start | autotask_list_categories → pick category → explore |
| Natural language request | autotask_router → autotask_execute_tool |
| Tools aren't loading at all | Start with autotask_list_categories to verify connection |
Category: time_and_billing
Tools: autotask_create_expense_report, autotask_create_expense_item,
autotask_get_expense_report, autotask_search_expense_reports
Category: financial
Tools: autotask_create_quote, autotask_create_quote_item,
autotask_update_quote_item, autotask_delete_quote_item,
autotask_search_quotes, autotask_get_quote
Category: resources
Tools: autotask_search_resources
Category: time_and_billing
Tools: autotask_create_time_entry, autotask_search_time_entries
| Problem | Solution |
|---|---|
| No Autotask tools visible at all | Check MCP connection status; verify API credentials |
| Only 3-4 tools visible | Lazy loading is active — use the meta-tools above |
autotask_execute_tool returns error | Check tool name spelling; use autotask_list_category_tools to verify |
| Router suggests wrong tool | Be more specific in your intent description |
| Tool exists but returns auth error | API user may lack permissions for that entity type |