Описание
MCP server for Kaseya Autotask PSA — Go implementation
README
A Model Context Protocol (MCP) server for Kaseya Autotask PSA, written in Go.
Provides AI assistants (Claude, GPT, etc.) with structured access to Autotask data and operations: tickets, companies, contacts, projects, time entries, billing, quotes, and more.
Features
- 59 MCP tools covering all major Autotask entity types
- 4 lazy loading meta-tools for progressive tool discovery
- 7 MCP resource templates for direct data access
- Dual transport: stdio (Claude Desktop/Code) + HTTP (gateway deployments)
- Rate limiting: token bucket (5000 req/hour) + 3-thread concurrency limiter
- Circuit breaker: automatic backoff on API failures
- ID-to-name mapping cache with batch preloading and 30-minute per-entry TTL
- Compact response formatting to minimize LLM context usage
Quick Start
Stdio (Claude Desktop / Claude Code)
# Set credentials
export [email protected]
export AUTOTASK_SECRET=your_secret
export AUTOTASK_INTEGRATION_CODE=YOUR_CODE
# Run
go run .
Claude Desktop Configuration
Add to claude_desktop_config.json:
{
"mcpServers": {
"autotask": {
"command": "/path/to/autotask-mcp",
"env": {
"AUTOTASK_USERNAME": "[email protected]",
"AUTOTASK_SECRET": "your_secret",
"AUTOTASK_INTEGRATION_CODE": "YOUR_CODE"
}
}
}
}
HTTP / Container
cp .env.example .env
# Edit .env with your credentials
# With Podman
podman-compose up -d
# With Docker
docker compose up -d
The server starts on port 8080 with endpoints:
POST /mcp: MCP Streamable HTTP transportGET /health: Health check
Gateway Mode
For multi-tenant deployments, set AUTH_MODE=gateway. Credentials are injected per-request via headers:
X-API-Key: username
X-API-Secret: secret
X-Integration-Code: code
Environment Variables
| Variable | Default | Description |
|---|---|---|
AUTOTASK_USERNAME |
(required) | Autotask API username for env mode |
AUTOTASK_SECRET |
(required) | Autotask API secret for env mode |
AUTOTASK_INTEGRATION_CODE |
(required) | Autotask integration code for env mode |
AUTOTASK_API_URL |
auto-discovered | Override API base URL |
MCP_TRANSPORT |
stdio |
Transport: stdio or http |
MCP_HTTP_PORT |
8080 |
HTTP server port |
MCP_HTTP_HOST |
0.0.0.0 |
HTTP server bind address |
AUTH_MODE |
env |
Authentication: env or gateway |
LOG_LEVEL |
info |
Log level: debug, info, warn, error |
LAZY_LOADING |
false |
Enable progressive tool discovery |
Available Tools
Core Entities
| Category | Tools |
|---|---|
| Tickets | search, get details, create, update |
| Companies | search, create, update |
| Contacts | search, create |
| Projects | search, create |
| Tasks | search, create |
| Resources | search |
| Time Entries | create, search |
| Configuration Items | search |
| Contracts | search |
Notes & Attachments
| Category | Tools |
|---|---|
| Ticket Notes | get, search, create |
| Project Notes | get, search, create |
| Company Notes | get, search, create |
| Ticket Attachments | get, search |
Financial
| Category | Tools |
|---|---|
| Quotes | get, search, create |
| Quote Items | get, search, create, update, delete |
| Opportunities | get, search, create |
| Invoices | search |
| Billing Items | get, search |
| Billing Approvals | search |
| Expense Reports | get, search, create |
| Expense Items | create |
Catalog
| Category | Tools |
|---|---|
| Products | get, search |
| Services | get, search |
| Service Bundles | get, search |
Utility
| Category | Tools |
|---|---|
| Connection | test |
| Picklists | queues, statuses, priorities, field info |
| Meta-tools | list categories, list tools, execute, router |
Architecture
autotask-mcp
├── main.go / config.go / server.go # Entry point, config, transport setup
├── services/
│ ├── mapping.go # Company/resource name cache (batch preload)
│ ├── picklist.go # Lazy-loaded field/picklist cache
│ └── formatter.go # Compact response formatting
├── tools/ # 59 MCP tool handlers
│ ├── tickets.go, companies.go, ... # Entity CRUD tools
│ ├── register.go # Shared helpers
│ └── lazy.go # Progressive discovery meta-tools
└── resources/ # 7 MCP resource templates
Built on:
- go-autotask: Autotask REST API client with typed generics
- Go MCP SDK: Official MCP server framework
Building
go build -o autotask-mcp .
Development
# Run tests
go test ./...
# Run with race detector
go test -race ./...
# Vet
go vet ./...
License
Apache 2.0
Установка Autotask
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/tphakala/autotask-mcpFAQ
Autotask MCP бесплатный?
Да, Autotask MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Autotask?
Нет, Autotask работает без API-ключей и переменных окружения.
Autotask — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Autotask в Claude Desktop, Claude Code или Cursor?
Открой Autotask на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzCompare Autotask with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
