@llmindset/hf-mcp 0.2.32 → 0.2.33

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.
@@ -5,7 +5,7 @@ export declare const DOCS_SEMANTIC_SEARCH_CONFIG: {
5
5
  readonly name: "hf_doc_search";
6
6
  readonly description: string;
7
7
  readonly schema: z.ZodObject<{
8
- query: z.ZodString;
8
+ query: z.ZodEffects<z.ZodString, string, string>;
9
9
  product: z.ZodOptional<z.ZodString>;
10
10
  }, "strip", z.ZodTypeAny, {
11
11
  query: string;
@@ -15,7 +15,7 @@ export declare const DOCS_SEMANTIC_SEARCH_CONFIG: {
15
15
  product?: string | undefined;
16
16
  }>;
17
17
  readonly annotations: {
18
- readonly title: "Hugging Face Documentation Library Search";
18
+ readonly title: "Hugging Face Documentation Search";
19
19
  readonly destructiveHint: false;
20
20
  readonly readOnlyHint: true;
21
21
  readonly openWorldHint: true;
@@ -1 +1 @@
1
- {"version":3,"file":"docs-semantic-search.d.ts","sourceRoot":"","sources":["../../src/docs-search/docs-semantic-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAK1D,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;CAwB9B,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,MAAM,CAAC,CAAC;AAEjF,UAAU,eAAe;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,kBAAkB;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AASD,qBAAa,aAAc,SAAQ,SAAS,CAAC,kBAAkB,EAAE,eAAe,EAAE,CAAC;IAClF,OAAO,CAAC,WAAW,CAAS;gBAOhB,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,SAAkC,EAAE,WAAW,SAAuB;IASpG,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;CAiC1D"}
1
+ {"version":3,"file":"docs-semantic-search.d.ts","sourceRoot":"","sources":["../../src/docs-search/docs-semantic-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAK1D,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;CAmC9B,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,MAAM,CAAC,CAAC;AAEjF,UAAU,eAAe;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,kBAAkB;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAgBD,qBAAa,aAAc,SAAQ,SAAS,CAAC,kBAAkB,EAAE,eAAe,EAAE,CAAC;IAClF,OAAO,CAAC,WAAW,CAAS;gBAOhB,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,SAAkC,EAAE,WAAW,SAAuB;IASpG,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;CAiC1D"}
@@ -4,21 +4,32 @@ import { escapeMarkdown, estimateTokens } from '../utilities.js';
4
4
  import { DOC_FETCH_CONFIG } from './doc-fetch.js';
5
5
  export const DOCS_SEMANTIC_SEARCH_CONFIG = {
6
6
  name: 'hf_doc_search',
7
- description: 'Search documentation about all of Hugging Face products and libraries (Transformers, Datasets, Diffusers, Gradio, Hub, and more). Use this for the most up-to-date information ' +
8
- 'Returns excerpts grouped by Product and Document.',
7
+ description: 'Search and Discover Hugging Face Product and Library documentation. Use an empty query to discover structure and navigation hints and tips. ' +
8
+ 'You MUST consult this tool for the most up-to-date information when using Hugging Face libraries. Combine with the Product filter to focus results.',
9
9
  schema: z.object({
10
10
  query: z
11
11
  .string()
12
- .min(3, 'Supply at least one search term')
13
12
  .max(200, 'Query too long')
14
- .describe('Semantic search query'),
15
- product: z
16
- .string()
17
- .optional()
18
- .describe('Filter by Product (e.g., "hub", "dataset-viewer", "transformers"). Supply when known for focused results'),
13
+ .superRefine((value, ctx) => {
14
+ const trimmed = value.trim();
15
+ if (trimmed.length === 0) {
16
+ return;
17
+ }
18
+ if (trimmed.length < 3) {
19
+ ctx.addIssue({
20
+ code: z.ZodIssueCode.too_small,
21
+ type: 'string',
22
+ minimum: 3,
23
+ inclusive: true,
24
+ message: 'Supply at least one search term',
25
+ });
26
+ }
27
+ })
28
+ .describe('Start with an empty query for structure, endpoint discovery and navigation tips. Use semantic queries for targetted searches.'),
29
+ product: z.string().optional().describe('Filter by Product. Supply when known for focused results'),
19
30
  }),
20
31
  annotations: {
21
- title: 'Hugging Face Documentation Library Search',
32
+ title: 'Hugging Face Documentation Search',
22
33
  destructiveHint: false,
23
34
  readOnlyHint: true,
24
35
  openWorldHint: true,
@@ -26,6 +37,7 @@ export const DOCS_SEMANTIC_SEARCH_CONFIG = {
26
37
  };
27
38
  const DEFAULT_TOKEN_BUDGET = 12500;
28
39
  const TRUNCATE_EXCERPT_LENGTH = 400;
40
+ const DOCS_INDEX_URL = 'https://huggingface.co/api/docs';
29
41
  export class DocSearchTool extends HfApiCall {
30
42
  tokenBudget;
31
43
  constructor(hfToken, apiUrl = 'https://hf.co/api/docs/search', tokenBudget = DEFAULT_TOKEN_BUDGET) {
@@ -34,13 +46,12 @@ export class DocSearchTool extends HfApiCall {
34
46
  }
35
47
  async search(params) {
36
48
  try {
37
- if (!params.query)
38
- return {
39
- formatted: 'No query provided',
40
- totalResults: 0,
41
- resultsShared: 0
42
- };
43
- const apiParams = { q: params.query.toLowerCase() };
49
+ const query = params.query?.trim() ?? '';
50
+ if (query.length === 0) {
51
+ const docsIndex = await this.fetchFromApi(DOCS_INDEX_URL);
52
+ return formatDocsIndex(docsIndex);
53
+ }
54
+ const apiParams = { q: query.toLowerCase() };
44
55
  if (params.product) {
45
56
  apiParams.product = params.product;
46
57
  }
@@ -48,13 +59,13 @@ export class DocSearchTool extends HfApiCall {
48
59
  if (results.length === 0) {
49
60
  return {
50
61
  formatted: params.product
51
- ? `No documentation found for query '${params.query}' in product '${params.product}'`
52
- : `No documentation found for query '${params.query}'`,
62
+ ? `No documentation found for query '${query}' in product '${params.product}'`
63
+ : `No documentation found for query '${query}'`,
53
64
  totalResults: 0,
54
- resultsShared: 0
65
+ resultsShared: 0,
55
66
  };
56
67
  }
57
- return formatSearchResults(params.query, results, params.product, this.tokenBudget);
68
+ return formatSearchResults(query, results, params.product, this.tokenBudget);
58
69
  }
59
70
  catch (error) {
60
71
  if (error instanceof Error) {
@@ -84,6 +95,30 @@ function groupResults(results) {
84
95
  }
85
96
  return grouped;
86
97
  }
98
+ function formatDocsIndex(docsIndex) {
99
+ if (!docsIndex.length) {
100
+ return {
101
+ formatted: 'No documentation categories are currently available. Try running the search again with specific terms.',
102
+ totalResults: 0,
103
+ resultsShared: 0,
104
+ };
105
+ }
106
+ const header = '### Hugging Face Documentation Products\n';
107
+ const tableHeader = '| Product | Category | Documentation |\n| --- | --- | --- |\n';
108
+ const rows = docsIndex
109
+ .map((entry) => {
110
+ const docsUrl = `https://huggingface.co${entry.url}`;
111
+ return `| \`${entry.id}\` | ${escapeMarkdown(entry.category)} | ${docsUrl} |`;
112
+ })
113
+ .join('\n');
114
+ const llmsNote = '\n\nEach documentation root exposes an `llms.txt` endpoint (e.g. add `/llms.txt` to the documentation URL). ' +
115
+ 'Use semantic search when you have a specific question for faster, more targeted results.';
116
+ return {
117
+ formatted: `${header}${tableHeader}${rows}${llmsNote}`,
118
+ totalResults: docsIndex.length,
119
+ resultsShared: docsIndex.length,
120
+ };
121
+ }
87
122
  function groupBySection(pageResults) {
88
123
  const sectionGroups = new Map();
89
124
  for (const result of pageResults) {
@@ -214,7 +249,7 @@ function formatSearchResults(query, results, productFilter, tokenBudget = DEFAUL
214
249
  return {
215
250
  formatted: lines.join('\n'),
216
251
  totalResults: results.length,
217
- resultsShared: results.length
252
+ resultsShared: results.length,
218
253
  };
219
254
  }
220
255
  //# sourceMappingURL=docs-semantic-search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"docs-semantic-search.js","sourceRoot":"","sources":["../../src/docs-search/docs-semantic-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs-semantic-search.js","sourceRoot":"","sources":["../../src/docs-search/docs-semantic-search.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { HfApiCall } from './hf-api-call.js';
3
3
  import type { ToolResult } from './types/tool-result.js';
4
- import './types/mcp-ui-server-shim.js';
5
4
  interface UseSpaceResult {
6
5
  [x: string]: unknown;
7
6
  content: Array<{
@@ -1 +1 @@
1
- {"version":3,"file":"use-space.d.ts","sourceRoot":"","sources":["../src/use-space.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,+BAA+B,CAAC;AAGvC,UAAU,cAAc;IACvB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAErB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IACrF,QAAQ,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;CAaxB,CAAC;AAEX,qBAAa,YAAa,SAAQ,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;gBAC9D,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAK7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IAE3B,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;CA4D9D;AAED,eAAO,MAAM,oBAAoB,GAAU,MAAM,YAAY,EAAE,QAAQ,cAAc,KAAG,OAAO,CAAC,cAAc,CAE7G,CAAC"}
1
+ {"version":3,"file":"use-space.d.ts","sourceRoot":"","sources":["../src/use-space.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,UAAU,cAAc;IACvB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAErB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IACrF,QAAQ,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;CAaxB,CAAC;AAEX,qBAAa,YAAa,SAAQ,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;gBAC9D,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAK7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IAE3B,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;CA4D9D;AAED,eAAO,MAAM,oBAAoB,GAAU,MAAM,YAAY,EAAE,QAAQ,cAAc,KAAG,OAAO,CAAC,cAAc,CAE7G,CAAC"}
package/dist/use-space.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { HfApiCall } from './hf-api-call.js';
3
3
  import { spaceInfo } from '@huggingface/hub';
4
- import './types/mcp-ui-server-shim.js';
5
4
  import { createUIResource } from '@mcp-ui/server';
6
5
  export const USE_SPACE_TOOL_CONFIG = {
7
6
  name: 'use_space',
@@ -1 +1 @@
1
- {"version":3,"file":"use-space.js","sourceRoot":"","sources":["../src/use-space.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-space.js","sourceRoot":"","sources":["../src/use-space.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@llmindset/hf-mcp",
3
- "version": "0.2.32",
3
+ "version": "0.2.33",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "@huggingface/hub": "^2.1.0",
27
- "@mcp-ui/server": "^5.10.0",
27
+ "@mcp-ui/server": "^5.12.0",
28
28
  "turndown": "^7.2.0",
29
29
  "zod": "^3.24.4"
30
30
  },
@@ -10,23 +10,34 @@ import type { ToolResult } from '../types/tool-result.js';
10
10
  export const DOCS_SEMANTIC_SEARCH_CONFIG = {
11
11
  name: 'hf_doc_search',
12
12
  description:
13
- 'Search documentation about all of Hugging Face products and libraries (Transformers, Datasets, Diffusers, Gradio, Hub, and more). Use this for the most up-to-date information ' +
14
- 'Returns excerpts grouped by Product and Document.',
13
+ 'Search and Discover Hugging Face Product and Library documentation. Use an empty query to discover structure and navigation hints and tips. ' +
14
+ 'You MUST consult this tool for the most up-to-date information when using Hugging Face libraries. Combine with the Product filter to focus results.',
15
15
  schema: z.object({
16
16
  query: z
17
17
  .string()
18
- .min(3, 'Supply at least one search term')
19
18
  .max(200, 'Query too long')
20
- .describe('Semantic search query'),
21
- product: z
22
- .string()
23
- .optional()
19
+ .superRefine((value, ctx) => {
20
+ const trimmed = value.trim();
21
+ if (trimmed.length === 0) {
22
+ return;
23
+ }
24
+ if (trimmed.length < 3) {
25
+ ctx.addIssue({
26
+ code: z.ZodIssueCode.too_small,
27
+ type: 'string',
28
+ minimum: 3,
29
+ inclusive: true,
30
+ message: 'Supply at least one search term',
31
+ });
32
+ }
33
+ })
24
34
  .describe(
25
- 'Filter by Product (e.g., "hub", "dataset-viewer", "transformers"). Supply when known for focused results'
35
+ 'Start with an empty query for structure, endpoint discovery and navigation tips. Use semantic queries for targetted searches.'
26
36
  ),
37
+ product: z.string().optional().describe('Filter by Product. Supply when known for focused results'),
27
38
  }),
28
39
  annotations: {
29
- title: 'Hugging Face Documentation Library Search',
40
+ title: 'Hugging Face Documentation Search',
30
41
  destructiveHint: false,
31
42
  readOnlyHint: true,
32
43
  openWorldHint: true,
@@ -49,9 +60,16 @@ interface DocSearchApiParams {
49
60
  product?: string;
50
61
  }
51
62
 
63
+ interface DocsIndexEntry {
64
+ id: string;
65
+ url: string;
66
+ category: string;
67
+ }
68
+
52
69
  // Token budget defaults
53
70
  const DEFAULT_TOKEN_BUDGET = 12500;
54
71
  const TRUNCATE_EXCERPT_LENGTH = 400; // chars for truncated excerpts
72
+ const DOCS_INDEX_URL = 'https://huggingface.co/api/docs';
55
73
 
56
74
  /**
57
75
  * Use the Hugging Face Semantic Document Search API
@@ -75,13 +93,13 @@ export class DocSearchTool extends HfApiCall<DocSearchApiParams, DocSearchResult
75
93
  */
76
94
  async search(params: DocSearchParams): Promise<ToolResult> {
77
95
  try {
78
- if (!params.query) return {
79
- formatted: 'No query provided',
80
- totalResults: 0,
81
- resultsShared: 0
82
- };
96
+ const query = params.query?.trim() ?? '';
97
+ if (query.length === 0) {
98
+ const docsIndex = await this.fetchFromApi<DocsIndexEntry[]>(DOCS_INDEX_URL);
99
+ return formatDocsIndex(docsIndex);
100
+ }
83
101
 
84
- const apiParams: DocSearchApiParams = { q: params.query.toLowerCase() };
102
+ const apiParams: DocSearchApiParams = { q: query.toLowerCase() };
85
103
  if (params.product) {
86
104
  apiParams.product = params.product;
87
105
  }
@@ -91,14 +109,14 @@ export class DocSearchTool extends HfApiCall<DocSearchApiParams, DocSearchResult
91
109
  if (results.length === 0) {
92
110
  return {
93
111
  formatted: params.product
94
- ? `No documentation found for query '${params.query}' in product '${params.product}'`
95
- : `No documentation found for query '${params.query}'`,
112
+ ? `No documentation found for query '${query}' in product '${params.product}'`
113
+ : `No documentation found for query '${query}'`,
96
114
  totalResults: 0,
97
- resultsShared: 0
115
+ resultsShared: 0,
98
116
  };
99
117
  }
100
118
 
101
- return formatSearchResults(params.query, results, params.product, this.tokenBudget);
119
+ return formatSearchResults(query, results, params.product, this.tokenBudget);
102
120
  } catch (error) {
103
121
  if (error instanceof Error) {
104
122
  throw new Error(`Failed to search documentation: ${error.message}`);
@@ -138,6 +156,39 @@ function groupResults(results: DocSearchResult[]): Map<string, Map<string, DocSe
138
156
  return grouped;
139
157
  }
140
158
 
159
+ /**
160
+ * Format the documentation root index response for empty queries
161
+ */
162
+ function formatDocsIndex(docsIndex: DocsIndexEntry[]): ToolResult {
163
+ if (!docsIndex.length) {
164
+ return {
165
+ formatted:
166
+ 'No documentation categories are currently available. Try running the search again with specific terms.',
167
+ totalResults: 0,
168
+ resultsShared: 0,
169
+ };
170
+ }
171
+
172
+ const header = '### Hugging Face Documentation Products\n';
173
+ const tableHeader = '| Product | Category | Documentation |\n| --- | --- | --- |\n';
174
+ const rows = docsIndex
175
+ .map((entry) => {
176
+ const docsUrl = `https://huggingface.co${entry.url}`;
177
+ return `| \`${entry.id}\` | ${escapeMarkdown(entry.category)} | ${docsUrl} |`;
178
+ })
179
+ .join('\n');
180
+
181
+ const llmsNote =
182
+ '\n\nEach documentation root exposes an `llms.txt` endpoint (e.g. add `/llms.txt` to the documentation URL). ' +
183
+ 'Use semantic search when you have a specific question for faster, more targeted results.';
184
+
185
+ return {
186
+ formatted: `${header}${tableHeader}${rows}${llmsNote}`,
187
+ totalResults: docsIndex.length,
188
+ resultsShared: docsIndex.length,
189
+ };
190
+ }
191
+
141
192
  /**
142
193
  * Group page results by section (heading2)
143
194
  */
@@ -323,6 +374,6 @@ function formatSearchResults(
323
374
  return {
324
375
  formatted: lines.join('\n'),
325
376
  totalResults: results.length,
326
- resultsShared: results.length
377
+ resultsShared: results.length,
327
378
  };
328
379
  }
package/src/use-space.ts CHANGED
@@ -2,7 +2,6 @@ import { z } from 'zod';
2
2
  import { HfApiCall } from './hf-api-call.js';
3
3
  import { spaceInfo, type SpaceEntry } from '@huggingface/hub';
4
4
  import type { ToolResult } from './types/tool-result.js';
5
- import './types/mcp-ui-server-shim.js';
6
5
  import { createUIResource } from '@mcp-ui/server';
7
6
  // Define the return type that matches MCP server expectations
8
7
  interface UseSpaceResult {
@@ -1,37 +0,0 @@
1
- declare module '@mcp-ui/server' {
2
- interface HTMLTextContent {
3
- uri: string;
4
- mimeType: string;
5
- text: string;
6
- }
7
- interface Base64BlobContent {
8
- uri: string;
9
- mimeType: string;
10
- blob: string;
11
- }
12
- interface UIResource {
13
- type: 'resource';
14
- resource: HTMLTextContent | Base64BlobContent;
15
- }
16
- interface CreateUIResourceOptions {
17
- uri: string;
18
- encoding: 'text' | 'blob';
19
- content: {
20
- type: 'rawHtml';
21
- htmlString: string;
22
- } | {
23
- type: 'externalUrl';
24
- iframeUrl: string;
25
- } | {
26
- type: 'remoteDom';
27
- script: string;
28
- framework?: string;
29
- };
30
- uiMetadata?: {
31
- 'preferred-frame-size'?: [string, string];
32
- };
33
- }
34
- function createUIResource(options: CreateUIResourceOptions): UIResource;
35
- }
36
- export {};
37
- //# sourceMappingURL=mcp-ui-server-shim.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-ui-server-shim.d.ts","sourceRoot":"","sources":["../../src/types/mcp-ui-server-shim.ts"],"names":[],"mappings":"AAGA,OAAO,QAAQ,gBAAgB,CAAC;IAC/B,UAAiB,eAAe;QAC/B,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACb;IAED,UAAiB,iBAAiB;QACjC,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACb;IAED,UAAiB,UAAU;QAC1B,IAAI,EAAE,UAAU,CAAC;QACjB,QAAQ,EAAE,eAAe,GAAG,iBAAiB,CAAC;KAC9C;IAED,UAAiB,uBAAuB;QACvC,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;QAC1B,OAAO,EACJ;YAAE,IAAI,EAAE,SAAS,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,GACvC;YAAE,IAAI,EAAE,aAAa,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,GAC1C;YAAE,IAAI,EAAE,WAAW,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC7D,UAAU,CAAC,EAAE;YACZ,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SAC1C,CAAC;KACF;IAED,SAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,UAAU,CAAC;CAC/E"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=mcp-ui-server-shim.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-ui-server-shim.js","sourceRoot":"","sources":["../../src/types/mcp-ui-server-shim.ts"],"names":[],"mappings":""}
@@ -1,35 +0,0 @@
1
- // Ambient module shim for @mcp-ui/server under NodeNext resolution
2
- // The upstream package's d.ts re-export fails to resolve with NodeNext.
3
- // This keeps our build unblocked until the package fixes its types.
4
- declare module '@mcp-ui/server' {
5
- export interface HTMLTextContent {
6
- uri: string;
7
- mimeType: string;
8
- text: string;
9
- }
10
-
11
- export interface Base64BlobContent {
12
- uri: string;
13
- mimeType: string;
14
- blob: string; // base64-encoded
15
- }
16
-
17
- export interface UIResource {
18
- type: 'resource';
19
- resource: HTMLTextContent | Base64BlobContent;
20
- }
21
-
22
- export interface CreateUIResourceOptions {
23
- uri: string; // must start with 'ui://'
24
- encoding: 'text' | 'blob';
25
- content:
26
- | { type: 'rawHtml'; htmlString: string }
27
- | { type: 'externalUrl'; iframeUrl: string }
28
- | { type: 'remoteDom'; script: string; framework?: string };
29
- uiMetadata?: {
30
- 'preferred-frame-size'?: [string, string]; // [width, height]
31
- };
32
- }
33
-
34
- export function createUIResource(options: CreateUIResourceOptions): UIResource;
35
- }