@get-technology-inc/jamf-docs-mcp-server 3.0.50 → 4.0.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.
Files changed (120) hide show
  1. package/README.md +58 -0
  2. package/dist/core/apps/generated/app-html.d.ts +9 -0
  3. package/dist/core/apps/generated/app-html.d.ts.map +1 -0
  4. package/dist/core/apps/generated/app-html.js +9 -0
  5. package/dist/core/apps/generated/app-html.js.map +1 -0
  6. package/dist/core/apps/index.d.ts +38 -0
  7. package/dist/core/apps/index.d.ts.map +1 -0
  8. package/dist/core/apps/index.js +59 -0
  9. package/dist/core/apps/index.js.map +1 -0
  10. package/dist/core/create-server.d.ts +12 -1
  11. package/dist/core/create-server.d.ts.map +1 -1
  12. package/dist/core/create-server.js +74 -7
  13. package/dist/core/create-server.js.map +1 -1
  14. package/dist/core/prompts/compare-versions.d.ts +1 -1
  15. package/dist/core/prompts/compare-versions.d.ts.map +1 -1
  16. package/dist/core/prompts/compare-versions.js +1 -1
  17. package/dist/core/prompts/compare-versions.js.map +1 -1
  18. package/dist/core/prompts/index.d.ts +1 -1
  19. package/dist/core/prompts/index.d.ts.map +1 -1
  20. package/dist/core/prompts/setup-guide.d.ts +1 -1
  21. package/dist/core/prompts/setup-guide.d.ts.map +1 -1
  22. package/dist/core/prompts/setup-guide.js +1 -1
  23. package/dist/core/prompts/setup-guide.js.map +1 -1
  24. package/dist/core/prompts/troubleshoot.d.ts +1 -1
  25. package/dist/core/prompts/troubleshoot.d.ts.map +1 -1
  26. package/dist/core/prompts/troubleshoot.js +1 -1
  27. package/dist/core/prompts/troubleshoot.js.map +1 -1
  28. package/dist/core/resources/index.d.ts +1 -1
  29. package/dist/core/resources/index.d.ts.map +1 -1
  30. package/dist/core/resources/index.js +30 -5
  31. package/dist/core/resources/index.js.map +1 -1
  32. package/dist/core/schemas/index.d.ts +11 -11
  33. package/dist/core/schemas/index.js +3 -3
  34. package/dist/core/schemas/index.js.map +1 -1
  35. package/dist/core/schemas/output.d.ts +9 -0
  36. package/dist/core/schemas/output.d.ts.map +1 -1
  37. package/dist/core/schemas/output.js +29 -0
  38. package/dist/core/schemas/output.js.map +1 -1
  39. package/dist/core/services/article-service.d.ts +9 -1
  40. package/dist/core/services/article-service.d.ts.map +1 -1
  41. package/dist/core/services/article-service.js +4 -5
  42. package/dist/core/services/article-service.js.map +1 -1
  43. package/dist/core/services/ft-client.d.ts.map +1 -1
  44. package/dist/core/services/ft-client.js +2 -1
  45. package/dist/core/services/ft-client.js.map +1 -1
  46. package/dist/core/services/glossary.js +2 -2
  47. package/dist/core/services/glossary.js.map +1 -1
  48. package/dist/core/services/interfaces/cache.d.ts +1 -1
  49. package/dist/core/services/interfaces/cache.d.ts.map +1 -1
  50. package/dist/core/services/interfaces/logger.d.ts +0 -2
  51. package/dist/core/services/interfaces/logger.d.ts.map +1 -1
  52. package/dist/core/services/logging.d.ts +7 -15
  53. package/dist/core/services/logging.d.ts.map +1 -1
  54. package/dist/core/services/logging.js +7 -25
  55. package/dist/core/services/logging.js.map +1 -1
  56. package/dist/core/services/maps-registry.d.ts +0 -1
  57. package/dist/core/services/maps-registry.d.ts.map +1 -1
  58. package/dist/core/services/maps-registry.js +16 -15
  59. package/dist/core/services/maps-registry.js.map +1 -1
  60. package/dist/core/services/metadata.d.ts +27 -3
  61. package/dist/core/services/metadata.d.ts.map +1 -1
  62. package/dist/core/services/metadata.js +66 -26
  63. package/dist/core/services/metadata.js.map +1 -1
  64. package/dist/core/services/search-service.js.map +1 -1
  65. package/dist/core/services/toc-service.js.map +1 -1
  66. package/dist/core/services/topic-resolver.d.ts.map +1 -1
  67. package/dist/core/services/topic-resolver.js +62 -19
  68. package/dist/core/services/topic-resolver.js.map +1 -1
  69. package/dist/core/tools/batch-get-articles.d.ts +1 -1
  70. package/dist/core/tools/batch-get-articles.d.ts.map +1 -1
  71. package/dist/core/tools/get-article.d.ts +1 -1
  72. package/dist/core/tools/get-article.d.ts.map +1 -1
  73. package/dist/core/tools/get-article.js +34 -18
  74. package/dist/core/tools/get-article.js.map +1 -1
  75. package/dist/core/tools/get-toc.d.ts +1 -1
  76. package/dist/core/tools/get-toc.d.ts.map +1 -1
  77. package/dist/core/tools/get-toc.js +8 -0
  78. package/dist/core/tools/get-toc.js.map +1 -1
  79. package/dist/core/tools/glossary-lookup.d.ts +1 -1
  80. package/dist/core/tools/glossary-lookup.d.ts.map +1 -1
  81. package/dist/core/tools/glossary-lookup.js +2 -1
  82. package/dist/core/tools/glossary-lookup.js.map +1 -1
  83. package/dist/core/tools/list-products.d.ts +1 -1
  84. package/dist/core/tools/list-products.d.ts.map +1 -1
  85. package/dist/core/tools/search.d.ts +1 -1
  86. package/dist/core/tools/search.d.ts.map +1 -1
  87. package/dist/core/tools/search.js +28 -7
  88. package/dist/core/tools/search.js.map +1 -1
  89. package/dist/core/types.d.ts +10 -1
  90. package/dist/core/types.d.ts.map +1 -1
  91. package/dist/core/types.js.map +1 -1
  92. package/dist/core/utils/progress.d.ts +13 -5
  93. package/dist/core/utils/progress.d.ts.map +1 -1
  94. package/dist/core/utils/progress.js +6 -2
  95. package/dist/core/utils/progress.js.map +1 -1
  96. package/dist/index.js +8 -5
  97. package/dist/index.js.map +1 -1
  98. package/dist/platforms/node/cache.d.ts +1 -1
  99. package/dist/platforms/node/cache.d.ts.map +1 -1
  100. package/dist/platforms/node/cache.js.map +1 -1
  101. package/dist/platforms/node/config.d.ts.map +1 -1
  102. package/dist/platforms/node/config.js +3 -5
  103. package/dist/platforms/node/config.js.map +1 -1
  104. package/dist/platforms/node/http-server.d.ts +1 -1
  105. package/dist/platforms/node/http-server.d.ts.map +1 -1
  106. package/dist/platforms/node/http-server.js +21 -7
  107. package/dist/platforms/node/http-server.js.map +1 -1
  108. package/dist/platforms/node/logger.d.ts +0 -2
  109. package/dist/platforms/node/logger.d.ts.map +1 -1
  110. package/dist/platforms/node/logger.js +0 -3
  111. package/dist/platforms/node/logger.js.map +1 -1
  112. package/dist/transport/http-handler.d.ts +51 -9
  113. package/dist/transport/http-handler.d.ts.map +1 -1
  114. package/dist/transport/http-handler.js +213 -32
  115. package/dist/transport/http-handler.js.map +1 -1
  116. package/dist/transport/http-types.d.ts +14 -2
  117. package/dist/transport/http-types.d.ts.map +1 -1
  118. package/dist/transport/http-types.js +1 -1
  119. package/dist/transport/http-types.js.map +1 -1
  120. package/package.json +14 -6
package/README.md CHANGED
@@ -10,6 +10,44 @@ An MCP server that gives AI assistants (Claude, Cursor, etc.) direct access to J
10
10
 
11
11
  [中文文件](docs/README.zh-TW.md)
12
12
 
13
+ ## Installation
14
+
15
+ `@modelcontextprotocol/server` is a **peer dependency**, and the CLI imports it
16
+ at startup (`dist/index.js` → `@modelcontextprotocol/server/stdio`). If it is
17
+ missing from the install tree the process exits immediately with
18
+ `ERR_MODULE_NOT_FOUND` — the install itself succeeds, so the failure only
19
+ shows up when you run the server.
20
+
21
+ Most install paths bring it in automatically:
22
+
23
+ | Install method | Peer installed |
24
+ | --- | --- |
25
+ | `npx -y @get-technology-inc/jamf-docs-mcp-server` | Yes |
26
+ | `npm install` (npm 7+, default settings) | Yes |
27
+ | `pnpm add` (pnpm 10) | Yes |
28
+ | `npm install --legacy-peer-deps` | **No** |
29
+ | Yarn 1 (classic) | **No** |
30
+
31
+ If you use one of the last two — or if you are vendoring the package — install
32
+ the SDK alongside it:
33
+
34
+ ```bash
35
+ npm install @get-technology-inc/jamf-docs-mcp-server @modelcontextprotocol/server@^2
36
+ ```
37
+
38
+ **Why it is a peer dependency, not a regular one.** This package hands
39
+ `McpServer` instances to its consumers, and those consumers pass them to
40
+ `createMcpHandler` from their own SDK copy. If the two resolve to *different*
41
+ copies of the SDK, an instance built by one module's `Protocol` is inspected by
42
+ another's, and every 2026-07-28 request fails with
43
+ `Cannot read properties of undefined (reading 'includes')` — an HTTP 500 with
44
+ no useful diagnostic. Declaring the SDK as a peer states the single-copy
45
+ requirement instead of relying on the consumer's tree happening to hoist it;
46
+ listing it under `dependencies` as well would reintroduce exactly the duplicate
47
+ it exists to prevent.
48
+
49
+ Node.js 20 or newer is required.
50
+
13
51
  ## Quick Start
14
52
 
15
53
  ### Claude Desktop
@@ -243,6 +281,26 @@ Instructs the AI to compare table-of-contents structures and key articles betwee
243
281
  - **Search Suggestions**: Receive helpful suggestions when a search returns no results
244
282
  - **Token Management**: All tools accept a `maxTokens` parameter (100–20000, default 5000) to control response size
245
283
 
284
+ ## MCP Apps (interactive viewer)
285
+
286
+ Hosts that negotiate the MCP Apps extension (`io.modelcontextprotocol/ui`) render
287
+ `jamf_docs_search`, `jamf_docs_get_toc` and `jamf_docs_get_article` results as an
288
+ interactive viewer instead of plain markdown: search hits are clickable through to
289
+ the article, TOC entries open in place, and articles carry section navigation and a
290
+ back stack. All three tools reference one self-contained `ui://jamf-docs/app.html`
291
+ resource. Hosts that do not negotiate the extension ignore the metadata and get
292
+ exactly the markdown they always did.
293
+
294
+ > [!WARNING]
295
+ > **The MCP Apps viewer is broken in 4.0.0 — upgrade past it.** The build step that
296
+ > inlines the UI bundle into the HTML document used a replacement string, so every
297
+ > `$` pattern in the minified JavaScript was expanded instead of copied. The
298
+ > document that shipped is not parseable JavaScript, and a host that renders it gets
299
+ > `SyntaxError: missing ) after argument list` and a blank panel. Nothing else in
300
+ > 4.0.0 is affected — tools, resources and prompts return the same results either
301
+ > way, since a host that cannot render the app falls back to the markdown. Fixed in
302
+ > 4.0.1.
303
+
246
304
  ## HTTP/SSE Transport Mode
247
305
 
248
306
  In addition to the default `stdio` transport, the server supports an HTTP transport for use as a remote or shared MCP endpoint.