PSA MCP Server 🐳 Docker

Autotask MCP

MCP server for Kaseya Autotask PSA — access companies, contacts, tickets, time entries, projects, contracts, and billing through AI assistants.

🔗 Companion Plugin

Pair this MCP server with the Autotask PSA plugin for skills, commands, and API knowledge alongside direct API access.

Installation

Run the MCP server with npx:

npx @wyre-technology/autotask-mcp

Or install the package:

npm install @wyre-technology/autotask-mcp

MCPB Bundle (Claude Desktop)

Download the .mcpb bundle from GitHub Releases for a zero-config Claude Desktop install. No Node.js or terminal required — just open the bundle in Claude Desktop via Settings → MCP Servers → Install from file. Requires Claude Desktop 0.10+.

Claude Desktop Configuration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "autotask": {
      "command": "npx",
      "args": [
        "@wyre-technology/autotask-mcp"
      ],
      "env": {
        "AUTOTASK_USERNAME": "your-autotask-username",
        "AUTOTASK_SECRET": "your-autotask-secret",
        "AUTOTASK_INTEGRATION_CODE": "your-autotask-integration-code"
      }
    }
  }
}

Authentication

Variable Required Description
AUTOTASK_USERNAME Yes Autotask API username (email)
AUTOTASK_SECRET Yes Autotask API secret key
AUTOTASK_INTEGRATION_CODE Yes Autotask integration code

Getting Credentials

Vendor portal: https://ww1.autotask.net/

Prerequisites

  • Autotask account with Administrator-level role (required to create API users)
  • A decision on API user name + ownership — API users count against Autotask resource limits

Steps

  1. Sign in to your Autotask instance as an Administrator.
  2. Navigate to Admin → Resources/Users → New → "API User (system) (API-only)".
  3. Fill in the API user details. Use a clear name (e.g., "WYRE Gateway API") so it is identifiable in audit logs.
  4. Generate the API tracking identifier (this becomes AUTOTASK_INTEGRATION_CODE).
    • Save it before leaving the page — Autotask only shows it once.
  5. Set the username (becomes AUTOTASK_USERNAME — this is the email-format Autotask username, NOT a real email).
  6. Generate or set the secret (becomes AUTOTASK_SECRET).
  7. Assign the API user to a Security Level that grants access to the entities you need (Companies, Tickets, Time Entries, etc.). Least-privilege per your gateway scope.
  8. Save the API user. Use the three values in your environment.

Required Scopes / Permissions

  • Companies (read/write as needed)
  • Tickets (read/write as needed)
  • Time Entries (read/write as needed)
  • Adjust per the tools you intend to use from the gateway

Credential Format

Username is in email format. Integration code is a 32-character GUID. Secret is a long random string. All three are required.

Rotation

Autotask API users do not expire automatically. Rotate secrets manually if compromised (regenerate via the same API user page).

Architecture

Comprehensive flat tool exposure with intelligent caching and ID-to-name resolution.

Available Tools (16)

Tools are organized into 6 domains:

Tickets

Service ticket management.

Tool Description
List tickets List/search tickets with filters
Get ticket Get ticket details
Create ticket Create a new ticket
Update ticket Update ticket fields
Add note Add note to ticket

Companies

CRM company management.

Tool Description
List companies List/search companies
Get company Get company details
Create company Create a new company

Contacts

Contact management.

Tool Description
List contacts List/search contacts
Get contact Get contact details

Time Entries

Time tracking and billing.

Tool Description
List time entries List time entries with filters
Create time entry Log time against ticket/project

Projects

Project management.

Tool Description
List projects List projects
Get project Get project details

Contracts

Service agreements.

Tool Description
List contracts List contracts
Get contract Get contract details

Rate Limits

10,000 requests per hour. The underlying client library handles rate limiting automatically.