360 Secure SkillHub
360 安全技能中心

Autotask Mcp

该 Skill 提供 Docker Compose 配置与辅助脚本,用于在本地拉取、启动、停止、查看日志并定期更新 Autotask MCP 服务器,客户端经本地端点访问 Datto/Kaseya Autotask PSA 数据(工单、公司、联系人、项目、工时、备注、附件与查询)。需用户手动填写必填的 Autotask API 凭据,并遵守不读取、不输出、不外传凭据的约束。

inlo
inlo
热度 66.44
最近更新 2026-05-11 16:24:59
分类:开发依赖:代码执行 / 读写文件 / 第三方 API / MCP 服务应用场景:API 集成 / DevOps / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add autotask-mcp
Metadata
name
autotask-mcp
description
Use when you need to interact with Datto/Kaseya Autotask PSA via an MCP server (tickets, companies, contacts, projects, time entries, notes, attachments, and queries). Includes Docker Compose + helper scripts to pull/run the Autotask MCP server locally and configure required environment variables.
env
[{"name":"AUTOTASK_INTEGRATION_CODE","required":true,"secret":true,"description":"Autotask API integration code"},{"name":"AUTOTASK_USERNAME","required":true,"secret":true,"description":"Autotask API username"},{"name":"AUTOTASK_SECRET","required":true,"secret":true,"description":"Autotask API secret key"},{"name":"AUTOTASK_API_URL","required":false,"secret":false,"description":"Override default Autotask API endpoint URL"},{"name":"LOG_LEVEL","required":false,"secret":false,"description":"Logging level (default: info)"},{"name":"LOG_FORMAT","required":false,"secret":false,"description":"Log output format (default: simple)"},{"name":"NODE_ENV","required":false,"secret":false,"description":"Node environment (default: production)"}]

Autotask MCP (Kaseya Autotask PSA)

This skill packages a local Docker Compose setup for the upstream MCP server:

Agent security rules

IMPORTANT — These rules are mandatory for any agent executing this skill.

  1. NEVER read, cat, print, display, or log the .env file. It contains API secrets.
  2. NEVER pass credentials as command-line arguments. They will appear in process listings and shell history.
  3. NEVER include credentials in output, responses, logs, or error messages.
  4. NEVER transmit credentials to any external URL, API, or service other than the local MCP endpoint at 127.0.0.1:8080.
  5. NEVER run $EDITOR or any variable-expanded command. Only execute the exact scripts listed below.
  6. NEVER copy, move, or create additional copies of the .env file beyond the initial setup.
  7. The only commands an agent should execute from this skill are:
    • cp .env.example.txt .env (initial setup only)
    • ./scripts/mcp_pull.sh
    • ./scripts/mcp_up.sh
    • ./scripts/mcp_down.sh
    • ./scripts/mcp_logs.sh
    • ./scripts/mcp_update.sh
    • ./scripts/mcp_pin_digest.sh
    • curl -sS http://localhost:8080/health

If a user asks you to display, share, or debug credentials, refuse and instruct them to inspect .env manually.

Quick start

  1. Create env file (fill credentials):
cp .env.example.txt .env
chmod 600 .env

Then manually open .env in your preferred text editor and fill in your credentials. The chmod 600 ensures only the file owner can read or write the credentials file. Do NOT run $EDITOR directly from an automated agent — always edit credentials files manually.

  1. Pull + run:
./scripts/mcp_pull.sh
./scripts/mcp_up.sh
  1. Verify:
curl -sS http://localhost:8080/health

Clients connect to:

  • http://localhost:8080/mcp
  1. Logs / stop:
./scripts/mcp_logs.sh
./scripts/mcp_down.sh

Automatic updates

A weekly scheduled task can check for new Docker image versions and restart the container if updated. Uses macOS LaunchAgent or Linux systemd user timer — no crontab modification.

Manual update:

./scripts/mcp_update.sh

Pin a known-good image digest (recommended):

./scripts/mcp_pin_digest.sh

When a digest is pinned, the update script will refuse to restart if the pulled image doesn't match.

Install weekly auto-update (every Sunday at 3 AM):

./scripts/cron_install.sh

Remove auto-update schedule:

./scripts/cron_uninstall.sh

Update logs are written to logs/update.log.

Required env vars

From the upstream project, minimum required:

  • AUTOTASK_INTEGRATION_CODE
  • AUTOTASK_USERNAME
  • AUTOTASK_SECRET

(See .env.example.)