iit-mcp-autotask 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,10 +8,10 @@ context into one call, a generic read layer for the long tail, one result envelo
8
8
  packaged playbooks, strong security boundaries, and predictable per-tenant in-process state (pooled
9
9
  client + SDK-owned TTL caches).
10
10
 
11
- > **Package status (2026-10-17):** the runtime dependency `node-autotask` is published to public npm
12
- > at `0.16.0`; the committed `pnpm-lock.yaml` pins that
11
+ > **Package status (2026-10-18):** the runtime dependency `node-autotask` is published to public npm
12
+ > at `0.17.0`; the committed `pnpm-lock.yaml` pins that
13
13
  > release with its integrity hash, so installs resolve deterministically. The dependency is always npm
14
- > (node-autotask pinned exactly at `0.16.0`) — never a `file:`, `git:`, `link:` or workspace reference
14
+ > (node-autotask pinned exactly at `0.17.0`) — never a `file:`, `git:`, `link:` or workspace reference
15
15
  > to a local checkout.
16
16
 
17
17
  > **0.6.0 is a breaking release** (unreleased): tool names, result shapes and configuration all
@@ -42,9 +42,28 @@ its contract, `autotask_read` runs it.
42
42
  (`companies.unbilledWork`), contract profitability (`contracts.profitability`), aggregates
43
43
  (`operations.aggregate`) and SLA health (`tickets.slaHealthCheck`) run here; `autotask_guide`
44
44
  holds their recipes.
45
- - `autotask_guide` serves the packaged playbooks: `ticket-triage`, `company-360`,
46
- `unbilled-work-review`, `contract-profitability`, `invoice-export`, and on the operator profile
47
- `log-time-entry`.
45
+ - `autotask_guide` serves the packaged playbooks — the server's skill layer (below).
46
+
47
+ ### `autotask_guide`: the packaged playbooks (the server's skill layer)
48
+
49
+ Six outcome playbooks ship with the server — `skills/*.md`, part of the npm tarball — and are
50
+ served by `autotask_guide` as **static text**: it never interpolates API data and never calls the
51
+ vendor, so loading a playbook costs no wire and adds no injection surface.
52
+
53
+ - No args: the index (one line per skill).
54
+ - `{skill}`: one playbook in full (frontmatter included).
55
+ - `{skill, section}`: one of its `## ` sections.
56
+
57
+ Skills: `ticket-triage`, `company-360`, `unbilled-work-review`, `contract-profitability`,
58
+ `invoice-export`, and on the operator profile `log-time-entry`.
59
+
60
+ The playbooks are discoverable in both directions:
61
+
62
+ - The guide is the only tool that carries `_meta: { "anthropic/alwaysLoad": true }`, so hosts
63
+ that defer tool loading still surface it — it is the entry point to the recipes.
64
+ - Each skill's frontmatter `ops` list (`<tool>:<operation>` entries) feeds a reverse index:
65
+ `autotask_describe` for an operation answers with the `playbooks[]` that use it, so a model
66
+ that lands on an operation is pointed at the recipe.
48
67
 
49
68
  Composites bound **each part independently** (every part reads its own declared limit argument); a
50
69
  part miss never fails the call (typed `absent`); only a missing root record fails the composite.
@@ -636,7 +655,7 @@ independent review with its resolutions, [`docs/reviews/0.6.0.md`](docs/reviews/
636
655
 
637
656
  ## SDK dependency
638
657
 
639
- `iit-mcp-autotask` depends on **`node-autotask` from npm at exactly `0.16.0`** (an exact pin —
658
+ `iit-mcp-autotask` depends on **`node-autotask` from npm at exactly `0.17.0`** (an exact pin —
640
659
  no range operator; subpaths `.` / `/capabilities` / `/operations` / `/resources` / `/types` /
641
660
  `/pool`) — the only **vendor** dependency; the other two runtime dependencies are
642
661
  `@modelcontextprotocol/server` (the MCP framework) and `zod` (schema validation). It never
@@ -646,7 +665,7 @@ user — the published tarball ships no lockfile) must resolve to the release th
646
665
  reviewed against, or the plan-hash boot check refuses to start.
647
666
 
648
667
  **Publishing `node-autotask` is the maintainer's action, done manually.** It is published on the
649
- public registry at `0.16.0` (published 2026-10-17); the
668
+ public registry at `0.17.0` (published 2026-10-18); the
650
669
  exact pin and the committed `pnpm-lock.yaml` (with `pnpm-workspace.yaml`) pin the real published
651
670
  tarball with its integrity hash, so installs resolve to exactly that release — the lockfile
652
671
  freezes the pnpm/git/Docker paths, the pin freezes the npm/npx paths. The docs are written against this
package/dist/main.js CHANGED
File without changes
@@ -28,7 +28,7 @@ import { type TokenStore } from '../http-guard.js';
28
28
  import type { WriteRuntime } from '../write/runtime.js';
29
29
  /** The wire identity of this server (the initialize answer + the `/metadata` payload). */
30
30
  export declare const SERVER_NAME = "iit-mcp-autotask";
31
- export declare const SERVER_VERSION = "0.7.0";
31
+ export declare const SERVER_VERSION = "0.7.1";
32
32
  export declare const SERVER_TITLE = "Autotask MCP Server";
33
33
  /**
34
34
  * The MCP protocol era this server advertises (the `/metadata` stamp, both levels).
@@ -60,7 +60,7 @@ export declare function serverInstructions(config: Pick<Config, 'AUTOTASK_PROFIL
60
60
  /** The full identity stamp (the `/metadata` build block — the era pair, FR-2). */
61
61
  export declare const SERVER_IDENTITY: {
62
62
  readonly name: "iit-mcp-autotask";
63
- readonly version: "0.7.0";
63
+ readonly version: "0.7.1";
64
64
  readonly mcpProtocolBaseline: "2026-07-28";
65
65
  readonly legacyProtocolFallback: "2025-11-25";
66
66
  };
@@ -29,7 +29,7 @@ import { registerTools } from './register.js';
29
29
  import { configForToken } from '../http-guard.js';
30
30
  /** The wire identity of this server (the initialize answer + the `/metadata` payload). */
31
31
  export const SERVER_NAME = 'iit-mcp-autotask';
32
- export const SERVER_VERSION = '0.7.0';
32
+ export const SERVER_VERSION = '0.7.1';
33
33
  export const SERVER_TITLE = 'Autotask MCP Server';
34
34
  /**
35
35
  * The MCP protocol era this server advertises (the `/metadata` stamp, both levels).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iit-mcp-autotask",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "MCP server for the Autotask (Datto) PSA domain, built on the node-autotask SDK",
5
5
  "license": "MIT",
6
6
  "author": "Max Soukhomlinov",
@@ -35,25 +35,9 @@
35
35
  "engines": {
36
36
  "node": ">=24.0.0"
37
37
  },
38
- "scripts": {
39
- "build": "tsc",
40
- "start": "node dist/main.js",
41
- "dev": "tsx src/main.ts",
42
- "typecheck": "tsc --noEmit",
43
- "test": "vitest run",
44
- "test:watch": "vitest",
45
- "lint": "eslint src test",
46
- "lint:fix": "eslint src test --fix",
47
- "clean": "rimraf dist coverage",
48
- "fresh-install-check": "bash scripts/fresh-install-check.sh",
49
- "build:capabilities": "node scripts/build-capabilities.mjs",
50
- "build:skills": "node scripts/build-skills.mjs",
51
- "prepublish-check": "node scripts/prepublish-check.mjs",
52
- "prepublishOnly": "npm run clean && npm run build && npm test && node scripts/prepublish-check.mjs"
53
- },
54
38
  "dependencies": {
55
39
  "@modelcontextprotocol/server": "^2.2.0",
56
- "node-autotask": "0.16.0",
40
+ "node-autotask": "0.17.0",
57
41
  "zod": "^4.6.7"
58
42
  },
59
43
  "devDependencies": {
@@ -66,5 +50,20 @@
66
50
  "typescript": "^6.0.3",
67
51
  "typescript-eslint": "^8.71.2",
68
52
  "vitest": "^5.0.4"
53
+ },
54
+ "scripts": {
55
+ "build": "tsc",
56
+ "start": "node dist/main.js",
57
+ "dev": "tsx src/main.ts",
58
+ "typecheck": "tsc --noEmit",
59
+ "test": "vitest run",
60
+ "test:watch": "vitest",
61
+ "lint": "eslint src test",
62
+ "lint:fix": "eslint src test --fix",
63
+ "clean": "rimraf dist coverage",
64
+ "fresh-install-check": "bash scripts/fresh-install-check.sh",
65
+ "build:capabilities": "node scripts/build-capabilities.mjs",
66
+ "build:skills": "node scripts/build-skills.mjs",
67
+ "prepublish-check": "node scripts/prepublish-check.mjs"
69
68
  }
70
- }
69
+ }
package/server.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iit-mcp-autotask",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "MCP server for the Autotask (Datto) PSA API, powered by the node-autotask SDK",
5
5
  "mcpProtocolBaseline": "2026-07-28",
6
6
  "legacyProtocolFallback": "2025-11-25",
@@ -63,7 +63,7 @@
63
63
  "capabilitiesManifest": "capabilities.json",
64
64
  "sdk": {
65
65
  "package": "node-autotask",
66
- "versionRange": "0.16.0"
66
+ "versionRange": "0.17.0"
67
67
  },
68
68
  "vendorExtensions": false,
69
69
  "credentialModelNote": "per-request; server-held under stdio or, on HTTP, only behind AUTOTASK_HTTP_AUTH=tokens; operator plans and the ledger are keyed by principal and tenant id, never by credential, and an apply uses the credential on the apply request"