@get-technology-inc/jamf-docs-mcp-server 1.0.0 → 1.2.0

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 (103) hide show
  1. package/README.md +61 -139
  2. package/dist/completions.d.ts +13 -0
  3. package/dist/completions.d.ts.map +1 -0
  4. package/dist/completions.js +31 -0
  5. package/dist/completions.js.map +1 -0
  6. package/dist/constants.d.ts +123 -1
  7. package/dist/constants.d.ts.map +1 -1
  8. package/dist/constants.js +187 -17
  9. package/dist/constants.js.map +1 -1
  10. package/dist/index.js +46 -6
  11. package/dist/index.js.map +1 -1
  12. package/dist/prompts/compare-versions.d.ts +7 -0
  13. package/dist/prompts/compare-versions.d.ts.map +1 -0
  14. package/dist/prompts/compare-versions.js +56 -0
  15. package/dist/prompts/compare-versions.js.map +1 -0
  16. package/dist/prompts/index.d.ts +6 -0
  17. package/dist/prompts/index.d.ts.map +1 -0
  18. package/dist/prompts/index.js +12 -0
  19. package/dist/prompts/index.js.map +1 -0
  20. package/dist/prompts/setup-guide.d.ts +7 -0
  21. package/dist/prompts/setup-guide.d.ts.map +1 -0
  22. package/dist/prompts/setup-guide.js +53 -0
  23. package/dist/prompts/setup-guide.js.map +1 -0
  24. package/dist/prompts/troubleshoot.d.ts +7 -0
  25. package/dist/prompts/troubleshoot.d.ts.map +1 -0
  26. package/dist/prompts/troubleshoot.js +52 -0
  27. package/dist/prompts/troubleshoot.js.map +1 -0
  28. package/dist/resources/index.d.ts +13 -0
  29. package/dist/resources/index.d.ts.map +1 -0
  30. package/dist/resources/index.js +121 -0
  31. package/dist/resources/index.js.map +1 -0
  32. package/dist/schemas/index.d.ts +29 -63
  33. package/dist/schemas/index.d.ts.map +1 -1
  34. package/dist/schemas/index.js +35 -16
  35. package/dist/schemas/index.js.map +1 -1
  36. package/dist/schemas/output.d.ts +63 -0
  37. package/dist/schemas/output.d.ts.map +1 -0
  38. package/dist/schemas/output.js +63 -0
  39. package/dist/schemas/output.js.map +1 -0
  40. package/dist/services/cache.d.ts +37 -12
  41. package/dist/services/cache.d.ts.map +1 -1
  42. package/dist/services/cache.js +141 -41
  43. package/dist/services/cache.js.map +1 -1
  44. package/dist/services/metadata.d.ts +78 -0
  45. package/dist/services/metadata.d.ts.map +1 -0
  46. package/dist/services/metadata.js +362 -0
  47. package/dist/services/metadata.js.map +1 -0
  48. package/dist/services/scraper.d.ts +3 -2
  49. package/dist/services/scraper.d.ts.map +1 -1
  50. package/dist/services/scraper.js +170 -145
  51. package/dist/services/scraper.js.map +1 -1
  52. package/dist/services/search-suggestions.d.ts +27 -0
  53. package/dist/services/search-suggestions.d.ts.map +1 -0
  54. package/dist/services/search-suggestions.js +193 -0
  55. package/dist/services/search-suggestions.js.map +1 -0
  56. package/dist/services/tokenizer.d.ts +17 -1
  57. package/dist/services/tokenizer.d.ts.map +1 -1
  58. package/dist/services/tokenizer.js +122 -66
  59. package/dist/services/tokenizer.js.map +1 -1
  60. package/dist/tools/get-article.d.ts +1 -1
  61. package/dist/tools/get-article.d.ts.map +1 -1
  62. package/dist/tools/get-article.js +145 -70
  63. package/dist/tools/get-article.js.map +1 -1
  64. package/dist/tools/get-toc.d.ts +1 -1
  65. package/dist/tools/get-toc.d.ts.map +1 -1
  66. package/dist/tools/get-toc.js +107 -47
  67. package/dist/tools/get-toc.js.map +1 -1
  68. package/dist/tools/list-products.d.ts +1 -1
  69. package/dist/tools/list-products.d.ts.map +1 -1
  70. package/dist/tools/list-products.js +42 -13
  71. package/dist/tools/list-products.js.map +1 -1
  72. package/dist/tools/search.d.ts +1 -1
  73. package/dist/tools/search.d.ts.map +1 -1
  74. package/dist/tools/search.js +142 -69
  75. package/dist/tools/search.js.map +1 -1
  76. package/dist/transport/http.d.ts +12 -0
  77. package/dist/transport/http.d.ts.map +1 -0
  78. package/dist/transport/http.js +297 -0
  79. package/dist/transport/http.js.map +1 -0
  80. package/dist/transport/index.d.ts +13 -0
  81. package/dist/transport/index.d.ts.map +1 -0
  82. package/dist/transport/index.js +40 -0
  83. package/dist/transport/index.js.map +1 -0
  84. package/dist/types.d.ts +12 -18
  85. package/dist/types.d.ts.map +1 -1
  86. package/dist/types.js.map +1 -1
  87. package/dist/utils/doc-type.d.ts +9 -0
  88. package/dist/utils/doc-type.d.ts.map +1 -0
  89. package/dist/utils/doc-type.js +16 -0
  90. package/dist/utils/doc-type.js.map +1 -0
  91. package/dist/utils/progress.d.ts +13 -0
  92. package/dist/utils/progress.d.ts.map +1 -0
  93. package/dist/utils/progress.js +18 -0
  94. package/dist/utils/progress.js.map +1 -0
  95. package/dist/utils/sanitize.d.ts +30 -0
  96. package/dist/utils/sanitize.d.ts.map +1 -0
  97. package/dist/utils/sanitize.js +57 -0
  98. package/dist/utils/sanitize.js.map +1 -0
  99. package/dist/utils/url.d.ts +11 -0
  100. package/dist/utils/url.d.ts.map +1 -0
  101. package/dist/utils/url.js +23 -0
  102. package/dist/utils/url.js.map +1 -0
  103. package/package.json +8 -5
package/dist/constants.js CHANGED
@@ -4,21 +4,38 @@
4
4
  * Note: Jamf documentation has moved from docs.jamf.com to learn.jamf.com
5
5
  * The new URL structure is: learn.jamf.com/en-US/bundle/{product}-documentation/page/{page}.html
6
6
  */
7
+ import * as path from 'path';
7
8
  // Environment variable helpers
8
- const getEnvNumber = (key, defaultValue) => {
9
+ export function getEnvNumber(key, defaultValue, min, max) {
9
10
  const value = process.env[key];
10
11
  if (value === undefined) {
11
12
  return defaultValue;
12
13
  }
13
14
  const parsed = parseInt(value, 10);
14
- return isNaN(parsed) ? defaultValue : parsed;
15
- };
16
- const getEnvString = (key, defaultValue) => {
17
- return process.env[key] ?? defaultValue;
18
- };
15
+ if (isNaN(parsed)) {
16
+ return defaultValue;
17
+ }
18
+ if (min !== undefined && parsed < min) {
19
+ console.error(`[WARNING] ${key}=${parsed} is below minimum ${min}. Using default ${defaultValue}.`);
20
+ return defaultValue;
21
+ }
22
+ if (max !== undefined && parsed > max) {
23
+ console.error(`[WARNING] ${key}=${parsed} exceeds maximum ${max}. Using default ${defaultValue}.`);
24
+ return defaultValue;
25
+ }
26
+ return parsed;
27
+ }
28
+ function getEnvString(key, defaultValue) {
29
+ const value = process.env[key] ?? defaultValue;
30
+ // Strip CRLF characters to prevent HTTP header injection
31
+ return value.replace(/[\r\n]/g, '');
32
+ }
33
+ // Server icon (32x32 PNG, document theme, base64 data URI)
34
+ export const SERVER_ICON = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAiUlEQVR4nGNgGAU4QEpKxX9qYpItpwSA9N+58wyOSXYENR0AYw+IA9AdQr4DehgQmEgHYIsGujuA7IRIqQNwOYp8B1ABUOQAOat4svDwcQA1wNB2ACVBPzwcQA0wtB0w4NlwwB1ADTC0HUBu1hs+DqAGGNoOAAbxCVLx8HIANQBZvaMB65qNKAAA5fafYXNsHh0AAAAASUVORK5CYII=';
35
+ // Server metadata (keep in sync with package.json)
36
+ export const SERVER_VERSION = '1.2.0';
19
37
  // Base URLs
20
38
  export const DOCS_BASE_URL = 'https://learn.jamf.com';
21
- export const LEARN_BASE_URL = 'https://learn.jamf.com';
22
39
  export const DOCS_API_URL = 'https://learn-be.jamf.com';
23
40
  // Supported products - updated URL patterns for learn.jamf.com
24
41
  export const JAMF_PRODUCTS = {
@@ -61,6 +78,86 @@ export const JAMF_PRODUCTS = {
61
78
  searchLabel: 'product-protect',
62
79
  latestVersion: 'current',
63
80
  versions: ['current']
81
+ },
82
+ 'jamf-now': {
83
+ id: 'jamf-now',
84
+ name: 'Jamf Now',
85
+ description: 'Simple Apple device management for small businesses',
86
+ urlPattern: 'en-US/bundle/jamf-now-documentation/page',
87
+ bundleId: 'jamf-now-documentation',
88
+ searchLabel: 'product-now',
89
+ latestVersion: 'current',
90
+ versions: ['current']
91
+ },
92
+ 'jamf-safe-internet': {
93
+ id: 'jamf-safe-internet',
94
+ name: 'Jamf Safe Internet',
95
+ description: 'Content filtering and web security for education and business',
96
+ urlPattern: 'en-US/bundle/jamf-safe-internet-documentation/page',
97
+ bundleId: 'jamf-safe-internet-documentation',
98
+ searchLabel: 'product-safeinternet',
99
+ latestVersion: 'current',
100
+ versions: ['current']
101
+ },
102
+ 'jamf-insights': {
103
+ id: 'jamf-insights',
104
+ name: 'Jamf Insights',
105
+ description: 'Analytics and reporting platform for Apple fleet',
106
+ urlPattern: 'en-US/bundle/jamf-insights-documentation/page',
107
+ bundleId: 'jamf-insights-documentation',
108
+ searchLabel: 'product-insights',
109
+ latestVersion: 'current',
110
+ versions: ['current']
111
+ },
112
+ 'jamf-rapididentity': {
113
+ id: 'jamf-rapididentity',
114
+ name: 'RapidIdentity',
115
+ description: 'Identity and access management platform',
116
+ urlPattern: 'en-US/bundle/jamf-rapididentity-documentation/page',
117
+ bundleId: 'jamf-rapididentity-documentation',
118
+ searchLabel: 'product-rapididentity',
119
+ latestVersion: 'current',
120
+ versions: ['current']
121
+ },
122
+ 'jamf-trust': {
123
+ id: 'jamf-trust',
124
+ name: 'Jamf Trust',
125
+ description: 'Zero-trust network access for Apple devices',
126
+ urlPattern: 'en-US/bundle/jamf-trust-documentation/page',
127
+ bundleId: 'jamf-trust-documentation',
128
+ searchLabel: 'product-trust',
129
+ latestVersion: 'current',
130
+ versions: ['current']
131
+ },
132
+ 'jamf-routines': {
133
+ id: 'jamf-routines',
134
+ name: 'Jamf Routines',
135
+ description: 'Automated workflow orchestration for device management',
136
+ urlPattern: 'en-US/bundle/jamf-routines-documentation/page',
137
+ bundleId: 'jamf-routines-documentation',
138
+ searchLabel: 'product-routines',
139
+ latestVersion: 'current',
140
+ versions: ['current']
141
+ },
142
+ 'self-service-plus': {
143
+ id: 'self-service-plus',
144
+ name: 'Self Service+',
145
+ description: 'Next-generation self-service portal for macOS',
146
+ urlPattern: 'en-US/bundle/self-service-plus-documentation/page',
147
+ bundleId: 'self-service-plus-documentation',
148
+ searchLabel: 'product-self-service',
149
+ latestVersion: 'current',
150
+ versions: ['current']
151
+ },
152
+ 'jamf-app-catalog': {
153
+ id: 'jamf-app-catalog',
154
+ name: 'Jamf App Catalog',
155
+ description: 'Curated application catalog for managed deployments',
156
+ urlPattern: 'en-US/bundle/jamf-app-catalog/page',
157
+ bundleId: 'jamf-app-catalog',
158
+ searchLabel: 'product-appcatalog',
159
+ latestVersion: 'current',
160
+ versions: ['current']
64
161
  }
65
162
  };
66
163
  // Response format
@@ -69,21 +166,58 @@ export var ResponseFormat;
69
166
  ResponseFormat["MARKDOWN"] = "markdown";
70
167
  ResponseFormat["JSON"] = "json";
71
168
  })(ResponseFormat || (ResponseFormat = {}));
169
+ // Output mode (detail level)
170
+ export var OutputMode;
171
+ (function (OutputMode) {
172
+ OutputMode["FULL"] = "full";
173
+ OutputMode["COMPACT"] = "compact";
174
+ })(OutputMode || (OutputMode = {}));
72
175
  // Cache settings (in milliseconds) - configurable via environment variables
176
+ // Range: 1 minute to 30 days
177
+ const CACHE_TTL_MIN = 60_000;
178
+ const CACHE_TTL_MAX = 30 * 24 * 60 * 60 * 1000;
73
179
  export const CACHE_TTL = {
74
- SEARCH_RESULTS: getEnvNumber('CACHE_TTL_SEARCH', 30 * 60 * 1000), // 30 minutes
75
- ARTICLE_CONTENT: getEnvNumber('CACHE_TTL_ARTICLE', 24 * 60 * 60 * 1000), // 24 hours
76
- PRODUCT_LIST: getEnvNumber('CACHE_TTL_PRODUCTS', 7 * 24 * 60 * 60 * 1000), // 7 days
77
- TOC: getEnvNumber('CACHE_TTL_TOC', 24 * 60 * 60 * 1000) // 24 hours
180
+ SEARCH_RESULTS: getEnvNumber('CACHE_TTL_SEARCH', 30 * 60 * 1000, CACHE_TTL_MIN, CACHE_TTL_MAX),
181
+ ARTICLE_CONTENT: getEnvNumber('CACHE_TTL_ARTICLE', 24 * 60 * 60 * 1000, CACHE_TTL_MIN, CACHE_TTL_MAX),
182
+ PRODUCT_LIST: getEnvNumber('CACHE_TTL_PRODUCTS', 7 * 24 * 60 * 60 * 1000, CACHE_TTL_MIN, CACHE_TTL_MAX),
183
+ TOC: getEnvNumber('CACHE_TTL_TOC', 24 * 60 * 60 * 1000, CACHE_TTL_MIN, CACHE_TTL_MAX)
78
184
  };
79
- // Cache directory - configurable via environment variable
80
- export const CACHE_DIR = getEnvString('CACHE_DIR', '.cache');
185
+ // Cache memory limits
186
+ export const CACHE_MAX_ENTRIES = getEnvNumber('CACHE_MAX_ENTRIES', 500, 10, 10000);
187
+ // Cache directory - configurable via environment variable with path traversal protection
188
+ const DEFAULT_CACHE_DIR = '.cache';
189
+ // System-sensitive directory prefixes that should not be used as cache directories
190
+ const SENSITIVE_DIR_PREFIXES = ['/etc', '/usr', '/var', '/sys', '/proc', '/dev', '/sbin', '/bin'];
191
+ function getValidatedCacheDir() {
192
+ const raw = getEnvString('CACHE_DIR', DEFAULT_CACHE_DIR);
193
+ const resolved = path.resolve(raw);
194
+ const cwd = process.cwd();
195
+ if (path.isAbsolute(raw)) {
196
+ // Reject absolute paths pointing to system-sensitive directories
197
+ const normalizedResolved = resolved.toLowerCase();
198
+ for (const prefix of SENSITIVE_DIR_PREFIXES) {
199
+ if (normalizedResolved === prefix || normalizedResolved.startsWith(`${prefix}/`)) {
200
+ console.error(`[SECURITY WARNING] CACHE_DIR "${raw}" points to a sensitive system directory. Using default "${DEFAULT_CACHE_DIR}".`);
201
+ return DEFAULT_CACHE_DIR;
202
+ }
203
+ }
204
+ }
205
+ else {
206
+ // Relative paths must resolve within cwd
207
+ if (!resolved.startsWith(cwd)) {
208
+ console.error(`[SECURITY WARNING] CACHE_DIR "${raw}" resolves outside project directory. Using default "${DEFAULT_CACHE_DIR}".`);
209
+ return DEFAULT_CACHE_DIR;
210
+ }
211
+ }
212
+ return raw;
213
+ }
214
+ export const CACHE_DIR = getValidatedCacheDir();
81
215
  // Request settings - configurable via environment variables
82
216
  export const REQUEST_CONFIG = {
83
- TIMEOUT: getEnvNumber('REQUEST_TIMEOUT', 15000), // 15 seconds
84
- MAX_RETRIES: getEnvNumber('MAX_RETRIES', 3),
85
- RETRY_DELAY: getEnvNumber('RETRY_DELAY', 1000), // 1 second
86
- RATE_LIMIT_DELAY: getEnvNumber('RATE_LIMIT_DELAY', 500), // 500ms between requests
217
+ TIMEOUT: getEnvNumber('REQUEST_TIMEOUT', 15000, 1000, 60000), // 15s (1s-60s)
218
+ MAX_RETRIES: getEnvNumber('MAX_RETRIES', 3, 0, 10), // 3 (0-10)
219
+ RETRY_DELAY: getEnvNumber('RETRY_DELAY', 1000, 100, 30000), // 1s (100ms-30s)
220
+ RATE_LIMIT_DELAY: getEnvNumber('RATE_LIMIT_DELAY', 500, 0, 10000), // 500ms (0-10s)
87
221
  USER_AGENT: getEnvString('USER_AGENT', 'JamfDocsMCP/1.0 (https://github.com/GET-Technology-Inc/jamf-docs-mcp-server)')
88
222
  };
89
223
  // Content limits
@@ -287,6 +421,42 @@ export const JAMF_TOPICS = {
287
421
  keywords: ['apple school manager', 'asm', 'shared ipad', 'location', 'google classroom']
288
422
  }
289
423
  };
424
+ // Document types for filtering search results by content category
425
+ export const DOC_TYPES = {
426
+ 'documentation': {
427
+ name: 'Documentation',
428
+ description: 'Main product documentation',
429
+ },
430
+ 'release-notes': {
431
+ name: 'Release Notes',
432
+ description: 'Version release notes and changelogs',
433
+ bundlePattern: /-release-notes/,
434
+ },
435
+ 'install-guide': {
436
+ name: 'Installation Guide',
437
+ description: 'Installation and configuration guides',
438
+ bundlePattern: /-install-guide-/,
439
+ },
440
+ 'technical-paper': {
441
+ name: 'Technical Paper',
442
+ description: 'Technical white papers and integration guides',
443
+ bundlePattern: /^technical-paper-/,
444
+ },
445
+ 'configuration-guide': {
446
+ name: 'Configuration Guide',
447
+ description: 'Setup and configuration guides',
448
+ bundlePattern: /-configuration-guide|compliance-benchmarks|blueprints/,
449
+ },
450
+ 'training': {
451
+ name: 'Training',
452
+ description: 'Training materials and video guides',
453
+ bundlePattern: /^training-|^jamf-100-|^jamf-170-/,
454
+ },
455
+ };
456
+ // Derived ID arrays (shared by schemas, completions, etc.)
457
+ export const PRODUCT_IDS = Object.keys(JAMF_PRODUCTS);
458
+ export const TOPIC_IDS = Object.keys(JAMF_TOPICS);
459
+ export const DOC_TYPE_IDS = Object.keys(DOC_TYPES);
290
460
  // HTML selectors for learn.jamf.com (React-based site)
291
461
  export const SELECTORS = {
292
462
  // Main content - learn.jamf.com uses semantic article tag
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11,23 +11,63 @@ import { registerSearchTool } from './tools/search.js';
11
11
  import { registerGetArticleTool } from './tools/get-article.js';
12
12
  import { registerListProductsTool } from './tools/list-products.js';
13
13
  import { registerGetTocTool } from './tools/get-toc.js';
14
+ import { registerResources } from './resources/index.js';
15
+ import { registerPrompts } from './prompts/index.js';
16
+ import { SERVER_ICON, SERVER_VERSION } from './constants.js';
17
+ import { parseCliArgs } from './transport/index.js';
18
+ // Server instructions for AI clients
19
+ const SERVER_INSTRUCTIONS = `This server provides access to Jamf official documentation (learn.jamf.com) for Jamf Pro, Jamf School, Jamf Connect, and Jamf Protect.
20
+
21
+ ## Tool Usage Order
22
+ 1. Use jamf_docs_list_products to discover available products and versions.
23
+ 2. Use jamf_docs_search to find relevant articles by keyword. Always search before fetching a full article.
24
+ 3. Use jamf_docs_get_article to retrieve full content of a specific article found via search.
25
+ 4. Use jamf_docs_get_toc to browse the table of contents for a product.
26
+
27
+ ## Output Modes
28
+ - Use outputMode: "compact" when browsing or listing results to save tokens.
29
+ - Use outputMode: "full" when reading a specific article in detail.
30
+
31
+ ## Token Management
32
+ - Use the maxTokens parameter to control response size (default: 5000, max: 20000).
33
+ - Start with a lower maxTokens value and increase only when more detail is needed.
34
+ - Use summaryOnly: true on jamf_docs_get_article to get an article outline before fetching full content.
35
+
36
+ ## Product Filtering
37
+ - When the target Jamf product is known, filter by product ID to narrow results: jamf-pro, jamf-school, jamf-connect, jamf-protect.
38
+ - Combine product and topic filters on jamf_docs_search for the most relevant results.`;
14
39
  // Create server instance
15
40
  const server = new McpServer({
16
41
  name: 'jamf-docs-mcp-server',
17
- version: '1.0.0',
42
+ version: SERVER_VERSION,
43
+ icons: [{ src: SERVER_ICON, mimeType: 'image/png', sizes: ['32x32'] }],
44
+ }, {
45
+ instructions: SERVER_INSTRUCTIONS,
18
46
  });
19
47
  // Register all tools
20
48
  registerListProductsTool(server);
21
49
  registerSearchTool(server);
22
50
  registerGetArticleTool(server);
23
51
  registerGetTocTool(server);
52
+ // Register resources
53
+ registerResources(server);
54
+ // Register prompts
55
+ registerPrompts(server);
24
56
  // Start server
25
57
  async function main() {
26
- const transport = new StdioServerTransport();
27
- await server.connect(transport);
28
- // Log to stderr (not stdout, which is used for MCP protocol)
29
- console.error('Jamf Docs MCP Server running on stdio');
30
- console.error('Available tools: jamf_docs_list_products, jamf_docs_search, jamf_docs_get_article, jamf_docs_get_toc');
58
+ const args = parseCliArgs(process.argv.slice(2));
59
+ if (args.transport === 'http') {
60
+ const { startHttpServer } = await import('./transport/http.js');
61
+ await startHttpServer(server, args.port, args.host);
62
+ }
63
+ else {
64
+ const transport = new StdioServerTransport();
65
+ await server.connect(transport);
66
+ console.error('Jamf Docs MCP Server running on stdio');
67
+ console.error('Available tools: jamf_docs_list_products, jamf_docs_search, jamf_docs_get_article, jamf_docs_get_toc');
68
+ console.error('Available resources: jamf://products, jamf://topics');
69
+ console.error('Available prompts: jamf_troubleshoot, jamf_setup_guide, jamf_compare_versions');
70
+ }
31
71
  }
32
72
  main().catch((error) => {
33
73
  console.error('Fatal error:', error);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,yBAAyB;AACzB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,qBAAqB;AACrB,wBAAwB,CAAC,MAAM,CAAC,CAAC;AACjC,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC3B,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC/B,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAE3B,eAAe;AACf,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,6DAA6D;IAC7D,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACvD,OAAO,CAAC,KAAK,CAAC,sGAAsG,CAAC,CAAC;AACxH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,qCAAqC;AACrC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;uFAmB2D,CAAC;AAExF,yBAAyB;AACzB,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;IACE,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,cAAc;IACvB,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACvE,EACD;IACE,YAAY,EAAE,mBAAmB;CAClC,CACF,CAAC;AAEF,qBAAqB;AACrB,wBAAwB,CAAC,MAAM,CAAC,CAAC;AACjC,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC3B,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC/B,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAE3B,qBAAqB;AACrB,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAE1B,mBAAmB;AACnB,eAAe,CAAC,MAAM,CAAC,CAAC;AAExB,eAAe;AACf,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjD,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAChE,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhC,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,sGAAsG,CAAC,CAAC;QACtH,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO,CAAC,KAAK,CAAC,+EAA+E,CAAC,CAAC;IACjG,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAC9B,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * jamf_compare_versions prompt
3
+ * Guides AI through comparing documentation between two versions.
4
+ */
5
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
6
+ export declare function registerCompareVersionsPrompt(server: McpServer): void;
7
+ //# sourceMappingURL=compare-versions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compare-versions.d.ts","sourceRoot":"","sources":["../../src/prompts/compare-versions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAyDrE"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * jamf_compare_versions prompt
3
+ * Guides AI through comparing documentation between two versions.
4
+ */
5
+ import { z } from 'zod';
6
+ import { completable } from '@modelcontextprotocol/sdk/server/completable.js';
7
+ import { completeProduct } from '../completions.js';
8
+ export function registerCompareVersionsPrompt(server) {
9
+ server.registerPrompt('jamf_compare_versions', {
10
+ title: 'Compare Jamf Versions',
11
+ description: 'Compare documentation between two versions of a Jamf product to identify changes',
12
+ argsSchema: {
13
+ product: completable(z.string().max(100).describe('Jamf product ID (jamf-pro, jamf-school, jamf-connect, jamf-protect)'), completeProduct),
14
+ version_a: z.string().max(50).describe('First version to compare (e.g., "11.5.0")'),
15
+ version_b: z.string().max(50).describe('Second version to compare (e.g., "11.12.0")'),
16
+ },
17
+ }, ({ product, version_a: versionA, version_b: versionB }) => {
18
+ return {
19
+ messages: [
20
+ {
21
+ role: 'user',
22
+ content: {
23
+ type: 'text',
24
+ text: `I need to compare what changed between version ${versionA} and ${versionB} of ${product}.
25
+
26
+ Please follow these steps using the Jamf documentation tools:
27
+
28
+ 1. **Get the table of contents for both versions**
29
+ Use \`jamf_docs_get_toc\` with product="${product}" and version="${versionA}", then again with version="${versionB}".
30
+
31
+ 2. **Identify structural differences**
32
+ Compare the two TOC structures to find:
33
+ - New sections added in ${versionB}
34
+ - Sections removed from ${versionA}
35
+ - Sections that may have been renamed or reorganized
36
+
37
+ 3. **Review key changed articles**
38
+ For significant changes, use \`jamf_docs_get_article\` with \`summaryOnly: true\` to understand what's new or different.
39
+
40
+ 4. **Summarize the changes**
41
+ Provide a structured comparison:
42
+ - New features/capabilities in ${versionB}
43
+ - Removed or deprecated features
44
+ - Notable changes to existing functionality
45
+ - Migration considerations
46
+
47
+ Product: ${product}
48
+ Version A: ${versionA}
49
+ Version B: ${versionB}`,
50
+ },
51
+ },
52
+ ],
53
+ };
54
+ });
55
+ }
56
+ //# sourceMappingURL=compare-versions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compare-versions.js","sourceRoot":"","sources":["../../src/prompts/compare-versions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,UAAU,6BAA6B,CAAC,MAAiB;IAC7D,MAAM,CAAC,cAAc,CACnB,uBAAuB,EACvB;QACE,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EACT,kFAAkF;QACpF,UAAU,EAAE;YACV,OAAO,EAAE,WAAW,CAClB,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAC1B,qEAAqE,CACtE,EACD,eAAe,CAChB;YACD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;YACnF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;SACtF;KACF,EACD,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;QACxD,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,kDAAkD,QAAQ,QAAQ,QAAQ,OAAO,OAAO;;;;;6CAK/D,OAAO,kBAAkB,QAAQ,+BAA+B,QAAQ;;;;6BAIxF,QAAQ;6BACR,QAAQ;;;;;;;;oCAQD,QAAQ;;;;;WAKjC,OAAO;aACL,QAAQ;aACR,QAAQ,EAAE;qBACV;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * MCP Prompt registration
3
+ */
4
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ export declare function registerPrompts(server: McpServer): void;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAIvD"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * MCP Prompt registration
3
+ */
4
+ import { registerTroubleshootPrompt } from './troubleshoot.js';
5
+ import { registerSetupGuidePrompt } from './setup-guide.js';
6
+ import { registerCompareVersionsPrompt } from './compare-versions.js';
7
+ export function registerPrompts(server) {
8
+ registerTroubleshootPrompt(server);
9
+ registerSetupGuidePrompt(server);
10
+ registerCompareVersionsPrompt(server);
11
+ }
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAEtE,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,6BAA6B,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * jamf_setup_guide prompt
3
+ * Guides AI through creating a setup guide from Jamf documentation.
4
+ */
5
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
6
+ export declare function registerSetupGuidePrompt(server: McpServer): void;
7
+ //# sourceMappingURL=setup-guide.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-guide.d.ts","sourceRoot":"","sources":["../../src/prompts/setup-guide.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsDhE"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * jamf_setup_guide prompt
3
+ * Guides AI through creating a setup guide from Jamf documentation.
4
+ */
5
+ import { z } from 'zod';
6
+ import { completable } from '@modelcontextprotocol/sdk/server/completable.js';
7
+ import { completeProduct } from '../completions.js';
8
+ export function registerSetupGuidePrompt(server) {
9
+ server.registerPrompt('jamf_setup_guide', {
10
+ title: 'Jamf Setup Guide',
11
+ description: 'Generate a step-by-step setup guide for a Jamf feature using official documentation',
12
+ argsSchema: {
13
+ feature: z.string().max(2000).describe('The feature or capability to set up'),
14
+ product: completable(z.string().optional().describe('Jamf product ID (jamf-pro, jamf-school, jamf-connect, jamf-protect)'), completeProduct),
15
+ },
16
+ }, ({ feature, product }) => {
17
+ const productFilter = product !== undefined && product !== ''
18
+ ? `, product: "${product}"`
19
+ : '';
20
+ return {
21
+ messages: [
22
+ {
23
+ role: 'user',
24
+ content: {
25
+ type: 'text',
26
+ text: `I need a step-by-step setup guide for: "${feature}"
27
+
28
+ Please follow these steps using the Jamf documentation tools:
29
+
30
+ 1. **Search for setup documentation**
31
+ Use \`jamf_docs_search\` with query related to "${feature}" setup/configuration${productFilter !== '' ? ` and filter by ${productFilter}` : ''}.
32
+
33
+ 2. **Find the primary setup article**
34
+ Review search results and use \`jamf_docs_get_article\` with \`summaryOnly: true\` to identify the main setup/configuration article.
35
+
36
+ 3. **Extract detailed steps**
37
+ Use \`jamf_docs_get_article\` to get the full content of the primary article. If it's long, use the \`section\` parameter to fetch specific sections like "Prerequisites" or "Configuration".
38
+
39
+ 4. **Compile the setup guide**
40
+ Based on the documentation, provide:
41
+ - Prerequisites and requirements
42
+ - Step-by-step setup instructions
43
+ - Configuration options and recommendations
44
+ - Verification steps to confirm successful setup
45
+
46
+ Feature: ${feature}${product !== undefined && product !== '' ? `\nProduct: ${product}` : ''}`,
47
+ },
48
+ },
49
+ ],
50
+ };
51
+ });
52
+ }
53
+ //# sourceMappingURL=setup-guide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-guide.js","sourceRoot":"","sources":["../../src/prompts/setup-guide.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,MAAM,CAAC,cAAc,CACnB,kBAAkB,EAClB;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,qFAAqF;QACvF,UAAU,EAAE;YACV,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC;YAC7E,OAAO,EAAE,WAAW,CAClB,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC5B,qEAAqE,CACtE,EACD,eAAe,CAChB;SACF;KACF,EACD,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;QACvB,MAAM,aAAa,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE;YAC3D,CAAC,CAAC,eAAe,OAAO,GAAG;YAC3B,CAAC,CAAC,EAAE,CAAC;QACP,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,2CAA2C,OAAO;;;;;qDAKjB,OAAO,wBAAwB,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,kBAAkB,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;WAetI,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;qBAChF;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * jamf_troubleshoot prompt
3
+ * Guides AI through a troubleshooting workflow using Jamf documentation.
4
+ */
5
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
6
+ export declare function registerTroubleshootPrompt(server: McpServer): void;
7
+ //# sourceMappingURL=troubleshoot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"troubleshoot.d.ts","sourceRoot":"","sources":["../../src/prompts/troubleshoot.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoDlE"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * jamf_troubleshoot prompt
3
+ * Guides AI through a troubleshooting workflow using Jamf documentation.
4
+ */
5
+ import { z } from 'zod';
6
+ import { completable } from '@modelcontextprotocol/sdk/server/completable.js';
7
+ import { completeProduct } from '../completions.js';
8
+ export function registerTroubleshootPrompt(server) {
9
+ server.registerPrompt('jamf_troubleshoot', {
10
+ title: 'Troubleshoot Jamf Issue',
11
+ description: 'Guide through troubleshooting a Jamf issue using official documentation',
12
+ argsSchema: {
13
+ problem: z.string().max(2000).describe('Description of the issue to troubleshoot'),
14
+ product: completable(z.string().optional().describe('Jamf product ID (jamf-pro, jamf-school, jamf-connect, jamf-protect)'), completeProduct),
15
+ },
16
+ }, ({ problem, product }) => {
17
+ const productFilter = product !== undefined && product !== ''
18
+ ? `, product: "${product}"`
19
+ : '';
20
+ return {
21
+ messages: [
22
+ {
23
+ role: 'user',
24
+ content: {
25
+ type: 'text',
26
+ text: `I need help troubleshooting a Jamf issue: "${problem}"
27
+
28
+ Please follow these steps using the Jamf documentation tools:
29
+
30
+ 1. **Search for relevant documentation**
31
+ Use \`jamf_docs_search\` with query based on the problem description${productFilter !== '' ? ` and filter by ${productFilter}` : ''}.
32
+
33
+ 2. **Review the most relevant articles**
34
+ For each promising search result, use \`jamf_docs_get_article\` with \`summaryOnly: true\` to quickly assess relevance.
35
+
36
+ 3. **Deep dive into the solution**
37
+ For the most relevant article(s), use \`jamf_docs_get_article\` with the full content to find specific troubleshooting steps.
38
+
39
+ 4. **Provide a structured diagnosis**
40
+ Based on the documentation, provide:
41
+ - Likely root cause(s)
42
+ - Step-by-step resolution
43
+ - Related articles for further reference
44
+
45
+ Problem: ${problem}${product !== undefined && product !== '' ? `\nProduct: ${product}` : ''}`,
46
+ },
47
+ },
48
+ ],
49
+ };
50
+ });
51
+ }
52
+ //# sourceMappingURL=troubleshoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"troubleshoot.js","sourceRoot":"","sources":["../../src/prompts/troubleshoot.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,UAAU,0BAA0B,CAAC,MAAiB;IAC1D,MAAM,CAAC,cAAc,CACnB,mBAAmB,EACnB;QACE,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,yEAAyE;QACtF,UAAU,EAAE;YACV,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YAClF,OAAO,EAAE,WAAW,CAClB,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC5B,qEAAqE,CACtE,EACD,eAAe,CAChB;SACF;KACF,EACD,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;QACvB,MAAM,aAAa,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE;YAC3D,CAAC,CAAC,eAAe,OAAO,GAAG;YAC3B,CAAC,CAAC,EAAE,CAAC;QACP,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,8CAA8C,OAAO;;;;;yEAKA,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,kBAAkB,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;WAc3H,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;qBAChF;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * MCP Resources registration
3
+ *
4
+ * Exposes dynamic reference data for AI clients to read directly
5
+ * without needing to call tools. Data is fetched from the API
6
+ * with fallback to static constants.
7
+ */
8
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
9
+ /**
10
+ * Register all MCP resources
11
+ */
12
+ export declare function registerResources(server: McpServer): void;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgCzE;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoHzD"}