@get-technology-inc/jamf-docs-mcp-server 1.4.0 → 1.5.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 (77) hide show
  1. package/dist/constants.d.ts +0 -5
  2. package/dist/constants.d.ts.map +1 -1
  3. package/dist/constants.js +6 -9
  4. package/dist/constants.js.map +1 -1
  5. package/dist/index.js +17 -5
  6. package/dist/index.js.map +1 -1
  7. package/dist/resources/index.d.ts.map +1 -1
  8. package/dist/resources/index.js +3 -1
  9. package/dist/resources/index.js.map +1 -1
  10. package/dist/schemas/index.d.ts +30 -0
  11. package/dist/schemas/index.d.ts.map +1 -1
  12. package/dist/schemas/index.js +50 -1
  13. package/dist/schemas/index.js.map +1 -1
  14. package/dist/schemas/output.d.ts +30 -0
  15. package/dist/schemas/output.d.ts.map +1 -1
  16. package/dist/schemas/output.js +27 -0
  17. package/dist/schemas/output.js.map +1 -1
  18. package/dist/services/cache.d.ts.map +1 -1
  19. package/dist/services/cache.js +3 -1
  20. package/dist/services/cache.js.map +1 -1
  21. package/dist/services/glossary.d.ts +45 -0
  22. package/dist/services/glossary.d.ts.map +1 -0
  23. package/dist/services/glossary.js +323 -0
  24. package/dist/services/glossary.js.map +1 -0
  25. package/dist/services/logging.d.ts +32 -0
  26. package/dist/services/logging.d.ts.map +1 -0
  27. package/dist/services/logging.js +61 -0
  28. package/dist/services/logging.js.map +1 -0
  29. package/dist/services/metadata.d.ts.map +1 -1
  30. package/dist/services/metadata.js +8 -6
  31. package/dist/services/metadata.js.map +1 -1
  32. package/dist/services/scraper.d.ts +7 -0
  33. package/dist/services/scraper.d.ts.map +1 -1
  34. package/dist/services/scraper.js +228 -165
  35. package/dist/services/scraper.js.map +1 -1
  36. package/dist/tools/batch-get-articles.d.ts +14 -0
  37. package/dist/tools/batch-get-articles.d.ts.map +1 -0
  38. package/dist/tools/batch-get-articles.js +240 -0
  39. package/dist/tools/batch-get-articles.js.map +1 -0
  40. package/dist/tools/get-article.d.ts.map +1 -1
  41. package/dist/tools/get-article.js +6 -4
  42. package/dist/tools/get-article.js.map +1 -1
  43. package/dist/tools/get-toc.d.ts.map +1 -1
  44. package/dist/tools/get-toc.js +27 -18
  45. package/dist/tools/get-toc.js.map +1 -1
  46. package/dist/tools/glossary-lookup.d.ts +7 -0
  47. package/dist/tools/glossary-lookup.d.ts.map +1 -0
  48. package/dist/tools/glossary-lookup.js +183 -0
  49. package/dist/tools/glossary-lookup.js.map +1 -0
  50. package/dist/tools/list-products.d.ts.map +1 -1
  51. package/dist/tools/list-products.js +8 -1
  52. package/dist/tools/list-products.js.map +1 -1
  53. package/dist/tools/search.d.ts.map +1 -1
  54. package/dist/tools/search.js +94 -63
  55. package/dist/tools/search.js.map +1 -1
  56. package/dist/transport/http.d.ts.map +1 -1
  57. package/dist/transport/http.js +57 -8
  58. package/dist/transport/http.js.map +1 -1
  59. package/dist/transport/index.d.ts.map +1 -1
  60. package/dist/transport/index.js +4 -2
  61. package/dist/transport/index.js.map +1 -1
  62. package/dist/types.d.ts +11 -0
  63. package/dist/types.d.ts.map +1 -1
  64. package/dist/types.js.map +1 -1
  65. package/dist/utils/bundle.d.ts +11 -0
  66. package/dist/utils/bundle.d.ts.map +1 -1
  67. package/dist/utils/bundle.js +22 -0
  68. package/dist/utils/bundle.js.map +1 -1
  69. package/dist/utils/concurrency.d.ts +6 -0
  70. package/dist/utils/concurrency.d.ts.map +1 -0
  71. package/dist/utils/concurrency.js +24 -0
  72. package/dist/utils/concurrency.js.map +1 -0
  73. package/dist/utils/progress.d.ts +7 -1
  74. package/dist/utils/progress.d.ts.map +1 -1
  75. package/dist/utils/progress.js +16 -5
  76. package/dist/utils/progress.js.map +1 -1
  77. package/package.json +2 -1
@@ -0,0 +1,183 @@
1
+ /**
2
+ * jamf_docs_glossary_lookup tool
3
+ * Look up Jamf glossary terms and get their definitions.
4
+ */
5
+ import { GlossaryLookupInputSchema } from '../schemas/index.js';
6
+ import { GlossaryLookupOutputSchema } from '../schemas/output.js';
7
+ import { ResponseFormat, OutputMode, JAMF_PRODUCTS, TOKEN_CONFIG } from '../constants.js';
8
+ import { lookupGlossaryTerm } from '../services/glossary.js';
9
+ import { sanitizeMarkdownText, sanitizeMarkdownUrl, getSafeErrorMessage } from '../utils/sanitize.js';
10
+ import { reportProgress } from '../utils/progress.js';
11
+ function formatEntryMarkdown(entry) {
12
+ let output = `### ${sanitizeMarkdownText(entry.term)}\n\n`;
13
+ output += `${entry.definition}\n\n`;
14
+ if (entry.product !== undefined) {
15
+ output += `**Product**: ${entry.product} | `;
16
+ }
17
+ output += `**Source**: [${sanitizeMarkdownText(entry.term)}](${sanitizeMarkdownUrl(entry.url)})\n\n`;
18
+ output += '---\n\n';
19
+ return output;
20
+ }
21
+ function formatEntryCompact(entry, index) {
22
+ const defPreview = entry.definition.length > 100
23
+ ? `${entry.definition.slice(0, 97)}...`
24
+ : entry.definition;
25
+ // Strip newlines for compact view
26
+ const singleLine = defPreview.replace(/\n/g, ' ');
27
+ return `${index}. **${sanitizeMarkdownText(entry.term)}** - ${singleLine}\n`;
28
+ }
29
+ function formatTokenFooter(tokenInfo, totalMatches, returnedCount) {
30
+ let footer = `\n*${returnedCount} of ${totalMatches} match(es) | ${tokenInfo.tokenCount.toLocaleString()} tokens*`;
31
+ if (tokenInfo.truncated) {
32
+ footer += '\n*Results truncated due to token limit. Increase `maxTokens` or narrow your search.*';
33
+ }
34
+ return `${footer}\n`;
35
+ }
36
+ const TOOL_NAME = 'jamf_docs_glossary_lookup';
37
+ const TOOL_DESCRIPTION = `Look up a term in the Jamf official glossary and get its definition.
38
+
39
+ This tool searches glossary pages across Jamf product documentation and returns
40
+ matching term definitions using fuzzy matching.
41
+
42
+ Args:
43
+ - term (string, required): Glossary term to look up (2-100 characters). Supports fuzzy matching.
44
+ - product (string, optional): Filter by product ID (use jamf_docs_list_products to see all)
45
+ - language (string, optional): Documentation language/locale (default: en-US)
46
+ - maxTokens (number, optional): Maximum tokens in response 100-50000 (default: 5000)
47
+ - outputMode ('full' | 'compact'): Output detail level (default: 'full')
48
+ - responseFormat ('markdown' | 'json'): Output format (default: 'markdown')
49
+
50
+ Returns:
51
+ For JSON format:
52
+ {
53
+ "term": string,
54
+ "totalMatches": number,
55
+ "entries": [{ "term": string, "definition": string, "product": string, "url": string }],
56
+ "tokenInfo": { "tokenCount": number, "truncated": boolean, "maxTokens": number }
57
+ }
58
+
59
+ For Markdown format:
60
+ A formatted list of glossary definitions with source links.
61
+
62
+ Examples:
63
+ - "What is MDM?" → term="MDM"
64
+ - "Configuration Profile in Jamf Pro" → term="Configuration Profile", product="jamf-pro"
65
+ - "What does DEP stand for?" → term="DEP"
66
+
67
+ Errors:
68
+ - "No matching term found" if no glossary entries match
69
+ - "Invalid product ID" if product parameter is not recognized`;
70
+ export function registerGlossaryLookupTool(server) {
71
+ server.registerTool(TOOL_NAME, {
72
+ title: 'Lookup Jamf Glossary Term',
73
+ description: TOOL_DESCRIPTION,
74
+ inputSchema: GlossaryLookupInputSchema,
75
+ outputSchema: GlossaryLookupOutputSchema,
76
+ annotations: {
77
+ readOnlyHint: true,
78
+ destructiveHint: false,
79
+ idempotentHint: true,
80
+ openWorldHint: true,
81
+ },
82
+ }, async (args, extra) => {
83
+ const parseResult = GlossaryLookupInputSchema.safeParse(args);
84
+ if (!parseResult.success) {
85
+ return {
86
+ isError: true,
87
+ content: [{ type: 'text', text: `Invalid input: ${parseResult.error.message}` }],
88
+ };
89
+ }
90
+ const params = parseResult.data;
91
+ try {
92
+ if (params.product !== undefined && !(params.product in JAMF_PRODUCTS)) {
93
+ return {
94
+ isError: true,
95
+ content: [{
96
+ type: 'text',
97
+ text: `Invalid product ID: "${params.product}". Valid options: ${Object.keys(JAMF_PRODUCTS).join(', ')}`,
98
+ }],
99
+ };
100
+ }
101
+ await reportProgress(extra, { progress: 0, total: 3, message: 'Looking up term...' });
102
+ const result = await lookupGlossaryTerm({
103
+ term: params.term,
104
+ product: params.product,
105
+ language: params.language,
106
+ maxTokens: params.maxTokens ?? TOKEN_CONFIG.DEFAULT_MAX_TOKENS,
107
+ });
108
+ await reportProgress(extra, { progress: 1, total: 3, message: 'Processing matches...' });
109
+ const structuredContent = {
110
+ term: params.term,
111
+ totalMatches: result.totalMatches,
112
+ entries: result.entries.map(e => ({
113
+ term: e.term,
114
+ definition: e.definition,
115
+ ...(e.product !== undefined ? { product: e.product } : {}),
116
+ url: e.url,
117
+ })),
118
+ truncated: result.tokenInfo.truncated,
119
+ };
120
+ await reportProgress(extra, { progress: 2, total: 3, message: 'Formatting output...' });
121
+ // No results
122
+ if (result.entries.length === 0) {
123
+ const productHint = params.product !== undefined
124
+ ? ' Try removing the product filter or use a different term.'
125
+ : '';
126
+ const noResultText = `No glossary entries found for "${params.term}".${productHint}\n\n*Tip: Try using \`jamf_docs_search\` with \`docType: "glossary"\` for broader results.*`;
127
+ await reportProgress(extra, { progress: 3, total: 3 });
128
+ return {
129
+ content: [{ type: 'text', text: noResultText }],
130
+ structuredContent,
131
+ };
132
+ }
133
+ // JSON format
134
+ if (params.responseFormat === ResponseFormat.JSON) {
135
+ await reportProgress(extra, { progress: 3, total: 3 });
136
+ return {
137
+ content: [{
138
+ type: 'text',
139
+ text: JSON.stringify({
140
+ term: params.term,
141
+ totalMatches: result.totalMatches,
142
+ entries: result.entries,
143
+ tokenInfo: result.tokenInfo,
144
+ }, null, 2),
145
+ }],
146
+ structuredContent,
147
+ };
148
+ }
149
+ // Markdown format
150
+ let markdown;
151
+ if (params.outputMode === OutputMode.COMPACT) {
152
+ markdown = `## Glossary: "${params.term}" (${result.totalMatches} match${result.totalMatches !== 1 ? 'es' : ''})\n\n`;
153
+ result.entries.forEach((entry, idx) => {
154
+ markdown += formatEntryCompact(entry, idx + 1);
155
+ });
156
+ markdown += formatTokenFooter(result.tokenInfo, result.totalMatches, result.entries.length);
157
+ }
158
+ else {
159
+ markdown = `# Glossary Lookup: "${params.term}"\n\n`;
160
+ markdown += `Found ${result.totalMatches} match${result.totalMatches !== 1 ? 'es' : ''}\n\n---\n\n`;
161
+ for (const entry of result.entries) {
162
+ markdown += formatEntryMarkdown(entry);
163
+ }
164
+ markdown += formatTokenFooter(result.tokenInfo, result.totalMatches, result.entries.length);
165
+ }
166
+ await reportProgress(extra, { progress: 3, total: 3 });
167
+ return {
168
+ content: [{ type: 'text', text: markdown }],
169
+ structuredContent,
170
+ };
171
+ }
172
+ catch (error) {
173
+ return {
174
+ isError: true,
175
+ content: [{
176
+ type: 'text',
177
+ text: `Glossary lookup error: ${getSafeErrorMessage(error)}\n\nPlease try again or use different search terms.`,
178
+ }],
179
+ };
180
+ }
181
+ });
182
+ }
183
+ //# sourceMappingURL=glossary-lookup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glossary-lookup.js","sourceRoot":"","sources":["../../src/tools/glossary-lookup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list-products.d.ts","sourceRoot":"","sources":["../../src/tools/list-products.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4CzE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiJhE"}
1
+ {"version":3,"file":"list-products.d.ts","sourceRoot":"","sources":["../../src/tools/list-products.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA6CzE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA6JhE"}
@@ -8,6 +8,7 @@ import { JAMF_PRODUCTS, JAMF_TOPICS, DOC_TYPES, ResponseFormat, OutputMode, TOKE
8
8
  import { estimateTokens, createTokenInfo } from '../services/tokenizer.js';
9
9
  import { getProductAvailability } from '../services/metadata.js';
10
10
  import { getSafeErrorMessage } from '../utils/sanitize.js';
11
+ import { reportProgress } from '../utils/progress.js';
11
12
  const TOOL_NAME = 'jamf_docs_list_products';
12
13
  const TOOL_DESCRIPTION = `List all available Jamf products, topics, and their documentation versions.
13
14
 
@@ -53,7 +54,7 @@ export function registerListProductsTool(server) {
53
54
  idempotentHint: true,
54
55
  openWorldHint: false
55
56
  }
56
- }, async (args) => {
57
+ }, async (args, extra) => {
57
58
  // Parse and validate input
58
59
  const parseResult = ListProductsInputSchema.safeParse(args);
59
60
  if (!parseResult.success) {
@@ -65,8 +66,10 @@ export function registerListProductsTool(server) {
65
66
  const params = parseResult.data;
66
67
  const maxTokens = params.maxTokens ?? TOKEN_CONFIG.DEFAULT_MAX_TOKENS;
67
68
  try {
69
+ await reportProgress(extra, { progress: 0, total: 3, message: 'Fetching product info...' });
68
70
  // Fetch product availability (cached)
69
71
  const availability = await getProductAvailability();
72
+ await reportProgress(extra, { progress: 1, total: 3, message: 'Processing availability...' });
70
73
  // Build product list, filtering out products with no TOC content
71
74
  const products = Object.values(JAMF_PRODUCTS)
72
75
  .map(product => ({
@@ -85,12 +88,14 @@ export function registerListProductsTool(server) {
85
88
  keywords: topic.keywords
86
89
  }));
87
90
  const structuredContent = { products, topics };
91
+ await reportProgress(extra, { progress: 2, total: 3, message: 'Formatting output...' });
88
92
  if (params.responseFormat === ResponseFormat.JSON) {
89
93
  const jsonData = JSON.stringify(structuredContent);
90
94
  const jsonOutput = JSON.stringify({
91
95
  ...structuredContent,
92
96
  tokenInfo: createTokenInfo(jsonData, maxTokens)
93
97
  }, null, 2);
98
+ await reportProgress(extra, { progress: 3, total: 3 });
94
99
  return {
95
100
  content: [{
96
101
  type: 'text',
@@ -109,6 +114,7 @@ export function registerListProductsTool(server) {
109
114
  for (const topic of topics) {
110
115
  markdown += `- \`${topic.id}\`: ${topic.name}\n`;
111
116
  }
117
+ await reportProgress(extra, { progress: 3, total: 3 });
112
118
  return {
113
119
  content: [{
114
120
  type: 'text',
@@ -149,6 +155,7 @@ export function registerListProductsTool(server) {
149
155
  markdown += `*${tokenCount.toLocaleString()} tokens*\n\n`;
150
156
  markdown += '*Use `jamf_docs_search` to search within these products, ';
151
157
  markdown += 'or `jamf_docs_get_toc` to browse the table of contents.*\n';
158
+ await reportProgress(extra, { progress: 3, total: 3 });
152
159
  return {
153
160
  content: [{
154
161
  type: 'text',
@@ -1 +1 @@
1
- {"version":3,"file":"list-products.js","sourceRoot":"","sources":["../../src/tools/list-products.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-products.js","sourceRoot":"","sources":["../../src/tools/list-products.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiLzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsM1D"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAuRzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiJ1D"}
@@ -8,6 +8,7 @@ import { ResponseFormat, OutputMode, JAMF_PRODUCTS, JAMF_TOPICS, TOKEN_CONFIG, D
8
8
  import { searchDocumentation } from '../services/scraper.js';
9
9
  import { generateSearchSuggestions, formatSearchSuggestions } from '../services/search-suggestions.js';
10
10
  import { sanitizeMarkdownText, sanitizeMarkdownUrl, getSafeErrorMessage } from '../utils/sanitize.js';
11
+ import { reportProgress } from '../utils/progress.js';
11
12
  function formatFiltersLine(filters) {
12
13
  const parts = [];
13
14
  if (filters.product !== undefined) {
@@ -101,7 +102,7 @@ Args:
101
102
  - query (string, required): Search keywords (2-200 characters)
102
103
  - product (string, optional): Filter by product ID (use jamf_docs_list_products to see all)
103
104
  - topic (string, optional): Filter by topic (enrollment, profiles, security, inventory, policies, smart-groups, apps, identity, api, network)
104
- - docType (string, optional): Filter by document type: documentation, release-notes, training, solution-guide, glossary, getting-started, archive
105
+ - docType (string, optional): Filter by document type: documentation, release-notes, training, solution-guide, glossary, getting-started
105
106
  - version (string, optional): Filter by version (e.g., "11.5.0", "10.x")
106
107
  - limit (number, optional): Maximum results per page 1-50 (default: 10)
107
108
  - page (number, optional): Page number for pagination 1-100 (default: 1)
@@ -144,6 +145,83 @@ Errors:
144
145
  - "Invalid product ID" if product parameter is not recognized
145
146
 
146
147
  Note: Results are ranked by relevance. Use filters and pagination to navigate large result sets.`;
148
+ /**
149
+ * Build structured content for a search result set
150
+ */
151
+ function buildSearchStructuredContent(query, results, pagination, extras) {
152
+ return {
153
+ query,
154
+ totalResults: pagination.totalItems,
155
+ page: pagination.page,
156
+ totalPages: pagination.totalPages,
157
+ hasMore: pagination.hasNext,
158
+ results: results.map(r => ({
159
+ title: r.title,
160
+ url: r.url,
161
+ snippet: r.snippet,
162
+ product: r.product ?? '',
163
+ ...(r.version !== undefined ? { version: r.version } : {}),
164
+ ...(r.docType !== undefined ? { docType: r.docType } : {})
165
+ })),
166
+ ...(extras?.filterRelaxation !== undefined ? { filterRelaxation: extras.filterRelaxation } : {}),
167
+ ...(extras?.truncatedContent !== undefined ? { truncatedContent: extras.truncatedContent } : {})
168
+ };
169
+ }
170
+ /**
171
+ * Build no-results response with suggestions
172
+ */
173
+ function buildNoResultsResponse(query, hasProductFilter, hasTopicFilter, locale) {
174
+ const suggestions = generateSearchSuggestions(query, hasProductFilter, hasTopicFilter);
175
+ const suggestionTexts = [
176
+ ...(locale !== undefined && locale !== DEFAULT_LOCALE
177
+ ? [`Not all documentation is available in "${locale}". Try searching with language: "${DEFAULT_LOCALE}".`]
178
+ : []),
179
+ ...(suggestions.simplifiedQuery !== null ? [`Try: ${suggestions.simplifiedQuery}`] : []),
180
+ ...suggestions.alternativeKeywords,
181
+ ...suggestions.tips
182
+ ];
183
+ return {
184
+ content: [{
185
+ type: 'text',
186
+ text: formatSearchSuggestions(query, suggestions)
187
+ }],
188
+ structuredContent: {
189
+ query,
190
+ totalResults: 0,
191
+ page: 1,
192
+ totalPages: 0,
193
+ hasMore: false,
194
+ results: [],
195
+ suggestions: suggestionTexts
196
+ }
197
+ };
198
+ }
199
+ /**
200
+ * Append filter/version/truncation notices to markdown output
201
+ */
202
+ function appendMarkdownNotices(markdown, filterRelaxation, versionNote, truncatedContent) {
203
+ let result = markdown;
204
+ if (filterRelaxation !== undefined) {
205
+ result += `\n> **Note:** ${filterRelaxation.message}\n`;
206
+ }
207
+ if (versionNote !== undefined) {
208
+ result += `\n> **Version Note:** ${versionNote}\n`;
209
+ }
210
+ if (truncatedContent !== undefined && truncatedContent.omittedCount > 0) {
211
+ result += `\n*${truncatedContent.omittedCount} additional result(s) omitted due to token limit.*\n`;
212
+ }
213
+ return result;
214
+ }
215
+ /**
216
+ * Build search filters from params
217
+ */
218
+ function buildSearchFilters(params) {
219
+ return {
220
+ ...(params.product !== undefined ? { product: params.product } : {}),
221
+ ...(params.version !== undefined ? { version: params.version } : {}),
222
+ ...(params.topic !== undefined ? { topic: params.topic } : {})
223
+ };
224
+ }
147
225
  export function registerSearchTool(server) {
148
226
  server.registerTool(TOOL_NAME, {
149
227
  title: 'Search Jamf Documentation',
@@ -156,7 +234,7 @@ export function registerSearchTool(server) {
156
234
  idempotentHint: true,
157
235
  openWorldHint: true
158
236
  }
159
- }, async (args) => {
237
+ }, async (args, extra) => {
160
238
  // Parse and validate input
161
239
  const parseResult = SearchInputSchema.safeParse(args);
162
240
  if (!parseResult.success) {
@@ -185,6 +263,7 @@ export function registerSearchTool(server) {
185
263
  }]
186
264
  };
187
265
  }
266
+ await reportProgress(extra, { progress: 0, total: 3, message: 'Searching documentation...' });
188
267
  // Perform search
189
268
  const searchResult = await searchDocumentation({
190
269
  query: params.query,
@@ -197,75 +276,35 @@ export function registerSearchTool(server) {
197
276
  page: params.page,
198
277
  maxTokens: params.maxTokens ?? TOKEN_CONFIG.DEFAULT_MAX_TOKENS
199
278
  });
279
+ await reportProgress(extra, { progress: 1, total: 3, message: 'Processing results...' });
200
280
  const { results, pagination, tokenInfo, filterRelaxation, versionNote, truncatedContent } = searchResult;
201
281
  // Build response
282
+ const filters = buildSearchFilters(params);
202
283
  const response = {
203
284
  total: pagination.totalItems,
204
285
  query: params.query,
205
286
  results,
206
- filters: {
207
- ...(params.product !== undefined ? { product: params.product } : {}),
208
- ...(params.version !== undefined ? { version: params.version } : {}),
209
- ...(params.topic !== undefined ? { topic: params.topic } : {})
210
- },
287
+ filters,
211
288
  tokenInfo,
212
289
  pagination,
213
290
  ...(filterRelaxation !== undefined ? { filterRelaxation } : {}),
214
291
  ...(versionNote !== undefined ? { versionNote } : {}),
215
292
  ...(truncatedContent !== undefined ? { truncatedContent } : {})
216
293
  };
294
+ await reportProgress(extra, { progress: 2, total: 3, message: 'Formatting output...' });
217
295
  // Handle no results with suggestions
218
296
  if (results.length === 0 && pagination.totalItems === 0) {
219
- const locale = params.language;
220
- const suggestions = generateSearchSuggestions(params.query, params.product !== undefined, params.topic !== undefined);
221
- const suggestionTexts = [
222
- ...(locale !== undefined && locale !== DEFAULT_LOCALE
223
- ? [`Not all documentation is available in "${locale}". Try searching with language: "${DEFAULT_LOCALE}".`]
224
- : []),
225
- ...(suggestions.simplifiedQuery !== null ? [`Try: ${suggestions.simplifiedQuery}`] : []),
226
- ...suggestions.alternativeKeywords,
227
- ...suggestions.tips
228
- ];
229
- const structuredContent = {
230
- query: params.query,
231
- totalResults: 0,
232
- page: 1,
233
- totalPages: 0,
234
- hasMore: false,
235
- results: [],
236
- suggestions: suggestionTexts
237
- };
238
- return {
239
- content: [{
240
- type: 'text',
241
- text: formatSearchSuggestions(params.query, suggestions)
242
- }],
243
- structuredContent
244
- };
297
+ await reportProgress(extra, { progress: 3, total: 3 });
298
+ return buildNoResultsResponse(params.query, params.product !== undefined, params.topic !== undefined, params.language);
245
299
  }
246
- const structuredContent = {
247
- query: params.query,
248
- totalResults: pagination.totalItems,
249
- page: pagination.page,
250
- totalPages: pagination.totalPages,
251
- hasMore: pagination.hasNext,
252
- results: results.map(r => ({
253
- title: r.title,
254
- url: r.url,
255
- snippet: r.snippet,
256
- product: r.product ?? '',
257
- ...(r.version !== undefined ? { version: r.version } : {}),
258
- ...(r.docType !== undefined ? { docType: r.docType } : {})
259
- })),
260
- ...(filterRelaxation !== undefined ? { filterRelaxation } : {}),
261
- ...(truncatedContent !== undefined ? { truncatedContent } : {})
262
- };
300
+ const structuredContent = buildSearchStructuredContent(params.query, results, pagination, { filterRelaxation, truncatedContent });
263
301
  if (params.responseFormat === ResponseFormat.JSON) {
264
302
  // Add relevance note only in JSON format
265
303
  const jsonResponse = {
266
304
  ...response,
267
305
  relevanceNote: 'Relevance scores are provided by the Zoomin Search API based on text matching. Higher values indicate stronger keyword matches.'
268
306
  };
307
+ await reportProgress(extra, { progress: 3, total: 3 });
269
308
  return {
270
309
  content: [{
271
310
  type: 'text',
@@ -278,19 +317,11 @@ export function registerSearchTool(server) {
278
317
  };
279
318
  }
280
319
  // Markdown format (full or compact)
281
- let markdown = params.outputMode === OutputMode.COMPACT
282
- ? formatSearchResultsAsCompact(params.query, results, response.filters ?? {}, pagination, tokenInfo)
283
- : formatSearchResultsAsMarkdown(params.query, results, response.filters ?? {}, pagination, tokenInfo);
284
- // Append notices for markdown
285
- if (filterRelaxation !== undefined) {
286
- markdown += `\n> **Note:** ${filterRelaxation.message}\n`;
287
- }
288
- if (versionNote !== undefined) {
289
- markdown += `\n> **Version Note:** ${versionNote}\n`;
290
- }
291
- if (truncatedContent !== undefined && truncatedContent.omittedCount > 0) {
292
- markdown += `\n*${truncatedContent.omittedCount} additional result(s) omitted due to token limit.*\n`;
293
- }
320
+ const formatFn = params.outputMode === OutputMode.COMPACT
321
+ ? formatSearchResultsAsCompact
322
+ : formatSearchResultsAsMarkdown;
323
+ const markdown = appendMarkdownNotices(formatFn(params.query, results, filters, pagination, tokenInfo), filterRelaxation, versionNote, truncatedContent);
324
+ await reportProgress(extra, { progress: 3, total: 3 });
294
325
  return {
295
326
  content: [{
296
327
  type: 'text',
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmNzE;;GAEG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAsDf"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+PzE;;GAEG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAuDf"}