Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
MCP server for Kaseya Autotask PSA — companies, tickets, projects, time entries, and more.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
AUTOTASK_USERNAME, AUTOTASK_SECRET, AUTOTASK_INTEGRATION_CODE, AUTOTASK_API_URL, MCP_TRANSPORT, AUTH_MODE, LOG_LEVELValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"autotask": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"AUTOTASK_USERNAME",
"-e",
"AUTOTASK_SECRET",
"-e",
"AUTOTASK_INTEGRATION_CODE",
"-e",
"AUTOTASK_API_URL",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-technology/autotask-mcp:v2.32.10"
],
"env": {
"AUTOTASK_USERNAME": "your-value",
"AUTOTASK_SECRET": "your-value",
"AUTOTASK_INTEGRATION_CODE": "your-value",
"AUTOTASK_API_URL": "your-value",
"MCP_TRANSPORT": "your-value",
"AUTH_MODE": "your-value",
"LOG_LEVEL": "your-value"
}
}
}
}Run this in your terminal
claude mcp add autotask --env AUTOTASK_USERNAME=your-value --env AUTOTASK_SECRET=your-value --env AUTOTASK_INTEGRATION_CODE=your-value --env AUTOTASK_API_URL=your-value --env MCP_TRANSPORT=your-value --env AUTH_MODE=your-value --env LOG_LEVEL=your-value -- docker run -i --rm -e AUTOTASK_USERNAME -e AUTOTASK_SECRET -e AUTOTASK_INTEGRATION_CODE -e AUTOTASK_API_URL -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-technology/autotask-mcp:v2.32.10Fill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"autotask": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"AUTOTASK_USERNAME",
"-e",
"AUTOTASK_SECRET",
"-e",
"AUTOTASK_INTEGRATION_CODE",
"-e",
"AUTOTASK_API_URL",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-technology/autotask-mcp:v2.32.10"
],
"env": {
"AUTOTASK_USERNAME": "your-value",
"AUTOTASK_SECRET": "your-value",
"AUTOTASK_INTEGRATION_CODE": "your-value",
"AUTOTASK_API_URL": "your-value",
"MCP_TRANSPORT": "your-value",
"AUTH_MODE": "your-value",
"LOG_LEVEL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"autotask": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"AUTOTASK_USERNAME",
"-e",
"AUTOTASK_SECRET",
"-e",
"AUTOTASK_INTEGRATION_CODE",
"-e",
"AUTOTASK_API_URL",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-technology/autotask-mcp:v2.32.10"
],
"env": {
"AUTOTASK_USERNAME": "your-value",
"AUTOTASK_SECRET": "your-value",
"AUTOTASK_INTEGRATION_CODE": "your-value",
"AUTOTASK_API_URL": "your-value",
"MCP_TRANSPORT": "your-value",
"AUTH_MODE": "your-value",
"LOG_LEVEL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
AUTOTASK_API_URL envMCP_TRANSPORT envAUTH_MODE envLOG_LEVEL envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account wyre-technology, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: AUTOTASK_USERNAME, AUTOTASK_SECRET, AUTOTASK_INTEGRATION_CODE
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (2.32.10) reached the registry 3 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Docker on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Winecellarbuilders
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Find the team for your wine room.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Give your AI assistant direct access to Autotask. Search tickets, create time entries, look up companies, manage projects — all through natural language. No more copy-pasting between browser tabs and chat windows.
This is a Model Context Protocol (MCP) server that connects Claude (or any MCP-compatible AI) to your Autotask PSA environment. Your AI assistant gets 101 tools covering the operations MSP teams use daily: ticket triage, time logging, company lookups, project management, billing review, and more.
If you run an MSP on Autotask and you're tired of the context-switching tax, this is for you.
Part of the [MSP Claude Plugins](https://github.com/WYRE-AI/msp-claude-plugins) ecosystem — a growing suite of AI integrations for the MSP stack including Datto RMM, IT Glue, HaloPSA, ConnectWise Automate, NinjaOne, Huntress, and more. Built by MSPs, for MSPs.
Note — no GitHub Packages token required. Unlike most WYRE MCP servers,
autotask-mcpdoes not depend on a private@wyre-ai/*package on
GitHub Packages. Its only WYRE dependency is the
autotask-nodeSDK, declared
as a git dependency on the public
WYRE-AI/autotask-noderepo, which
npm installresolves anonymously. The DigitalOcean one-click deploy therefore
works without any
NODE_AUTH_TOKEN/GITHUB_TOKENbuild variable.
Claude Desktop — download, open, done:
autotask-mcp.mcpb from the latest releaseNo terminal, no JSON editing, no Node.js install required.
Claude Code (CLI):
claude mcp add autotask-mcp \
-e AUTOTASK_USERNAME=your-user@company.com \ -e AUTOTASK_SECRET=your-secret \ -e AUTOTASK_INTEGRATION_CODE=your-code \ -- npx -y github:WYRE-AI/autotask-mcp
See Installation for Docker and from-source methods.
autotask_get_ticket_details renders as an interactive card in MCP Apps hosts (Claude Desktop/web) with an in-card "Add note" round-trip; neutral theme by default, brandable via MCP_BRAND_* env vars. In every host, the text the assistant reads carries the full ticket: description, contact, linked configuration item, custom fields (UDFs), recent notes and the complete record as JSONThe simplest method — no terminal, no JSON editing, no Node.js install required.
autotask-mcp.mcpb from the latest releaseFor Claude Code (CLI), one command:
claude mcp add autotask-mcp \
-e AUTOTASK_USERNAME=your-user@company.com \ -e AUTOTASK_SECRET=your-secret \ -e AUTOTASK_INTEGRATION_CODE=your-code \ -- npx -y github:WYRE-AI/autotask-mcp
Local (stdio — for Claude Desktop or Claude Code):
{
"mcpServers": { "autotask": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "MCP_TRANSPORT=stdio", "-e", "AUTOTASK_USERNAME=your-user@company.com", "-e", "AUTOTASK_SECRET=your-secret", "-e", "AUTOTASK_INTEGRATION_CODE=your-code", "--entrypoint", "node", "ghcr.io/wyre-ai/autotask-mcp:latest", "dist/entry.js" ] } } }
Remote (HTTP Streamable — for server deployments):
docker run -d \
--name autotask-mcp \ -p 127.0.0.1:8080:8080 \ -e CONDUIT_S2S_SECRET="your-real-s2s-secret" \ -e AUTOTASK_USERNAME="your-user@company.com" \ -e AUTOTASK_SECRET="your-secret" \ -e AUTOTASK_INTEGRATION_CODE="your-code" \ --restart unless-stopped \ ghcr.io/wyre-ai/autotask-mcp:latest
curl http://127.0.0.1:8080/health
The HTTP server refuses to start when CONDUIT_S2S_SECRET is empty or a known placeholder. Clients connect to http://127.0.0.1:8080/mcp using MCP Streamable HTTP transport and must send X-Gateway-S2S. See X-Gateway-S2S signing.
Gateway Mode (for MCP Gateway deployments):
When deploying behind an MCP Gateway that injects credentials via HTTP headers. This container has no static Autotask credentials:
docker run -d \
--name autotask-mcp \ -p 127.0.0.1:8080:8080 \ -e CONDUIT_S2S_SECRET="your-real-s2s-secret" \ -e AUTH_MODE=gateway \ --restart unless-stopped \ ghcr.io/wyre-ai/autotask-mcp:latest
The gateway injects credentials via headers:
X-Gateway-S2S: service-to-service proof (required on /mcp)X-API-Key: Autotask usernameX-API-Secret: Autotask secretX-Integration-Code: Autotask integration codeX-Impersonation-Resource-Id: (optional) Autotask resource ID to act on behalf ofA /mcp request missing any of the three Autotask headers returns 401 and does not fall back to AUTOTASK_* in the environment. See Gateway Mode for details.
git clone https://github.com/WYRE-AI/autotask-mcp.git
cd autotask-mcp npm ci && npm run build
Then point your MCP client at dist/entry.js:
{
"mcpServers": { "autotask": { "command": "node", "args": ["/path/to/autotask-mcp/dist/entry.js"], "env": { "AUTOTASK_USERNAME": "your-user@company.com", "AUTOTASK_SECRET": "your-secret", "AUTOTASK_INTEGRATION_CODE": "your-code" } } } }
Create a .env file with your configuration:
# Required Autotask API credentials (Local Mode)
AUTOTASK_USERNAME=your-api-user@example.com AUTOTASK_SECRET=your-secret-key AUTOTASK_INTEGRATION_CODE=your-integration-code
MCP_SERVER_NAME=autotask-mcp
AUTH_MODE=env # env (local), gateway (hosted)
CONDUIT_S2S_SECRET=
MCP_TRANSPORT=stdio # stdio, http MCP_HTTP_PORT=8080 # HTTP transport port (only used when MCP_TRANSPORT=http)
MCP_HTTP_HOST=0.0.0.0 # HTTP transport bind address
LOG_LEVEL=info # error, warn, info, debug LOG_FORMAT=simple # simple, json
AUTOTASK_ENHANCE_CONCURRENCY=3
AUTOTASK_MAX_INFLIGHT=3
NODE_ENV=production
When deployed behind an MCP Gateway (e.g., mcp.wyre.ai), the server operates in gateway mode where credentials are injected via HTTP headers on each request.
Enable Gateway Mode:
AUTH_MODE=gateway
MCP_TRANSPORT=http CONDUIT_S2S_SECRET=
Every /mcp request must include a valid X-Gateway-S2S header and the three Autotask credential headers. A request missing any credential header returns 401. The server does not fall back to AUTOTASK_USERNAME, AUTOTASK_SECRET, or AUTOTASK_INTEGRATION_CODE in the process environment.
Expected Headers:
| Header | Description |
|---|---|
X-Gateway-S2S | Service-to-service proof. t= ,v1= . Required on /mcp whenever CONDUIT_S2S_SECRET is set. See X-Gateway-S2S signing. |
X-API-Key | Autotask API username (email) |
X-API-Secret | Autotask API secret key |
X-Integration-Code | Autotask integration code |
X-API-URL | (Optional) Custom Autotask API URL |
| X-Impersonation-Resource-Id | (Optional) Autotask resource ID
Only the beginning is shown; read the rest in the repo