iit-mcp-autotask 0.7.0 → 0.7.2
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 +27 -8
- package/dist/tools/catalog-data.d.ts +1 -1
- package/dist/tools/catalog-data.js +1 -1
- package/dist/tools/server.d.ts +2 -2
- package/dist/tools/server.js +1 -1
- package/package.json +2 -2
- package/server.json +2 -2
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-
|
|
12
|
-
> at `0.
|
|
11
|
+
> **Package status (2026-10-19):** the runtime dependency `node-autotask` is published to public npm
|
|
12
|
+
> at `0.18.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.
|
|
14
|
+
> (node-autotask pinned exactly at `0.18.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
|
|
46
|
-
|
|
47
|
-
|
|
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.
|
|
658
|
+
`iit-mcp-autotask` depends on **`node-autotask` from npm at exactly `0.18.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.
|
|
668
|
+
public registry at `0.18.0` (published 2026-10-19); 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
|
|
@@ -96,7 +96,7 @@ export declare function cacheOptionsForPreset(preset: 'on' | 'off', fieldCacheTt
|
|
|
96
96
|
* fails the boot (or the CI test) instead of quietly shipping a tool surface that no longer
|
|
97
97
|
* describes the SDK behind it.
|
|
98
98
|
*/
|
|
99
|
-
export declare const BUILT_AGAINST_PLAN_HASH = "
|
|
99
|
+
export declare const BUILT_AGAINST_PLAN_HASH = "5176d37fc9bae34139c151ae0ea8336dab63a30382f04acbcaed0e24cdd71d5f";
|
|
100
100
|
/**
|
|
101
101
|
* Fail fast when the installed SDK's plan has moved out from under this surface.
|
|
102
102
|
* Called at boot (main.ts) and safe to call repeatedly (pure comparison).
|
|
@@ -159,7 +159,7 @@ export function cacheOptionsForPreset(preset, fieldCacheTtlMs) {
|
|
|
159
159
|
* fails the boot (or the CI test) instead of quietly shipping a tool surface that no longer
|
|
160
160
|
* describes the SDK behind it.
|
|
161
161
|
*/
|
|
162
|
-
export const BUILT_AGAINST_PLAN_HASH = '
|
|
162
|
+
export const BUILT_AGAINST_PLAN_HASH = '5176d37fc9bae34139c151ae0ea8336dab63a30382f04acbcaed0e24cdd71d5f';
|
|
163
163
|
/**
|
|
164
164
|
* Fail fast when the installed SDK's plan has moved out from under this surface.
|
|
165
165
|
* Called at boot (main.ts) and safe to call repeatedly (pure comparison).
|
package/dist/tools/server.d.ts
CHANGED
|
@@ -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.
|
|
31
|
+
export declare const SERVER_VERSION = "0.7.2";
|
|
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.
|
|
63
|
+
readonly version: "0.7.2";
|
|
64
64
|
readonly mcpProtocolBaseline: "2026-07-28";
|
|
65
65
|
readonly legacyProtocolFallback: "2025-11-25";
|
|
66
66
|
};
|
package/dist/tools/server.js
CHANGED
|
@@ -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.
|
|
32
|
+
export const SERVER_VERSION = '0.7.2';
|
|
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.
|
|
3
|
+
"version": "0.7.2",
|
|
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",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@modelcontextprotocol/server": "^2.2.0",
|
|
56
|
-
"node-autotask": "0.
|
|
56
|
+
"node-autotask": "0.18.0",
|
|
57
57
|
"zod": "^4.6.7"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
package/server.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iit-mcp-autotask",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.2",
|
|
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.
|
|
66
|
+
"versionRange": "0.18.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"
|