MCP server for Kaseya Autotask PSA — 39 tools for companies, tickets, projects, time entries, and more
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add autotask --env AUTOTASK_USERNAME='<AUTOTASK_USERNAME>' --env AUTOTASK_SECRET='<AUTOTASK_SECRET>' --env AUTOTASK_INTEGRATION_CODE='<AUTOTASK_INTEGRATION_CODE>' -- docker run -i --rm -e AUTOTASK_USERNAME -e AUTOTASK_SECRET -e AUTOTASK_INTEGRATION_CODE ghcr.io/wyre-ai/autotask-mcp:v2.39.8~/.codex/config.toml
[mcp_servers.autotask]
command = "docker"
args = ["run", "-i", "--rm", "-e", "AUTOTASK_USERNAME", "-e", "AUTOTASK_SECRET", "-e", "AUTOTASK_INTEGRATION_CODE", "ghcr.io/wyre-ai/autotask-mcp:v2.39.8"]
env = { AUTOTASK_USERNAME = "<AUTOTASK_USERNAME>", AUTOTASK_SECRET = "<AUTOTASK_SECRET>", AUTOTASK_INTEGRATION_CODE = "<AUTOTASK_INTEGRATION_CODE>" }
# codex mcp add autotask --env AUTOTASK_USERNAME='<AUTOTASK_USERNAME>' --env AUTOTASK_SECRET='<AUTOTASK_SECRET>' --env AUTOTASK_INTEGRATION_CODE='<AUTOTASK_INTEGRATION_CODE>' -- docker run -i --rm -e AUTOTASK_USERNAME -e AUTOTASK_SECRET -e AUTOTASK_INTEGRATION_CODE ghcr.io/wyre-ai/autotask-mcp:v2.39.8~/.cursor/mcp.json
{
"mcpServers": {
"autotask": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"AUTOTASK_USERNAME",
"-e",
"AUTOTASK_SECRET",
"-e",
"AUTOTASK_INTEGRATION_CODE",
"ghcr.io/wyre-ai/autotask-mcp:v2.39.8"
],
"env": {
"AUTOTASK_USERNAME": "<AUTOTASK_USERNAME>",
"AUTOTASK_SECRET": "<AUTOTASK_SECRET>",
"AUTOTASK_INTEGRATION_CODE": "<AUTOTASK_INTEGRATION_CODE>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"autotask": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"AUTOTASK_USERNAME",
"-e",
"AUTOTASK_SECRET",
"-e",
"AUTOTASK_INTEGRATION_CODE",
"ghcr.io/wyre-ai/autotask-mcp:v2.39.8"
],
"env": {
"AUTOTASK_USERNAME": "<AUTOTASK_USERNAME>",
"AUTOTASK_SECRET": "<AUTOTASK_SECRET>",
"AUTOTASK_INTEGRATION_CODE": "<AUTOTASK_INTEGRATION_CODE>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"autotask": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"AUTOTASK_USERNAME",
"-e",
"AUTOTASK_SECRET",
"-e",
"AUTOTASK_INTEGRATION_CODE",
"ghcr.io/wyre-ai/autotask-mcp:v2.39.8"
],
"env": {
"AUTOTASK_USERNAME": "<AUTOTASK_USERNAME>",
"AUTOTASK_SECRET": "<AUTOTASK_SECRET>",
"AUTOTASK_INTEGRATION_CODE": "<AUTOTASK_INTEGRATION_CODE>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"autotask": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"AUTOTASK_USERNAME",
"-e",
"AUTOTASK_SECRET",
"-e",
"AUTOTASK_INTEGRATION_CODE",
"ghcr.io/wyre-ai/autotask-mcp:v2.39.8"
],
"env": {
"AUTOTASK_USERNAME": "<AUTOTASK_USERNAME>",
"AUTOTASK_SECRET": "<AUTOTASK_SECRET>",
"AUTOTASK_INTEGRATION_CODE": "<AUTOTASK_INTEGRATION_CODE>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"autotask": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"AUTOTASK_USERNAME",
"-e",
"AUTOTASK_SECRET",
"-e",
"AUTOTASK_INTEGRATION_CODE",
"ghcr.io/wyre-ai/autotask-mcp:v2.39.8"
],
"env": {
"AUTOTASK_USERNAME": "<AUTOTASK_USERNAME>",
"AUTOTASK_SECRET": "<AUTOTASK_SECRET>",
"AUTOTASK_INTEGRATION_CODE": "<AUTOTASK_INTEGRATION_CODE>"
}
}
}
}Environment variables
AUTOTASK_USERNAMEAUTOTASK_SECRETAUTOTASK_INTEGRATION_CODE
Replace the placeholders with your own credentials and keep them out of version control.