@llmindset/hf-mcp-server 0.2.52 → 0.2.54

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.
@@ -6,6 +6,10 @@ export class GradioMetricsCollector {
6
6
  success: 0,
7
7
  failure: 0,
8
8
  byTool: {},
9
+ schemaFormats: {
10
+ array: 0,
11
+ object: 0,
12
+ },
9
13
  };
10
14
  schemaFetchErrors = new Set();
11
15
  constructor() { }
@@ -37,6 +41,10 @@ export class GradioMetricsCollector {
37
41
  success: 0,
38
42
  failure: 0,
39
43
  byTool: {},
44
+ schemaFormats: {
45
+ array: 0,
46
+ object: 0,
47
+ },
40
48
  };
41
49
  }
42
50
  getSummary() {
@@ -51,6 +59,14 @@ export class GradioMetricsCollector {
51
59
  this.schemaFetchErrors.add(toolName);
52
60
  return true;
53
61
  }
62
+ recordSchemaFormat(format) {
63
+ if (format === 'array') {
64
+ this.metrics.schemaFormats.array++;
65
+ }
66
+ else if (format === 'object') {
67
+ this.metrics.schemaFormats.object++;
68
+ }
69
+ }
54
70
  }
55
71
  export const gradioMetrics = GradioMetricsCollector.getInstance();
56
72
  export function getMetricsSafeName(toolName) {
@@ -1 +1 @@
1
- {"version":3,"file":"gradio-metrics.js","sourceRoot":"","sources":["../../../src/server/utils/gradio-metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gradio-metrics.js","sourceRoot":"","sources":["../../../src/server/utils/gradio-metrics.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { CallToolResultSchema, type ServerNotification, type ServerRequest } from '@modelcontextprotocol/sdk/types.js';
1
+ import type { CallToolResultSchema } from '@modelcontextprotocol/sdk/types.js';
2
+ import { type ServerNotification, type ServerRequest } from '@modelcontextprotocol/sdk/types.js';
2
3
  import type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';
3
4
  export interface GradioToolCallOptions {
4
5
  stripImageContent?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"gradio-tool-caller.d.ts","sourceRoot":"","sources":["../../../src/server/utils/gradio-tool-caller.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,oBAAoB,EACpB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAkB,MAAM,8CAA8C,CAAC;AAOxG,MAAM,WAAW,qBAAqB;IAErC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,WAAW,CAAC,EAAE;QACb,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,UAAU,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/C,CAAC;IAEF,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAkED,wBAAsB,cAAc,CACnC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,KAAK,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAAG,SAAS,GACvE,OAAO,CAAC,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAkD5C;AAUD,wBAAgB,yBAAyB,CACxC,MAAM,EAAE,OAAO,oBAAoB,CAAC,KAAK,EACzC,OAAO,EAAE,qBAAqB,GAC5B,OAAO,oBAAoB,CAAC,KAAK,CAyBnC"}
1
+ {"version":3,"file":"gradio-tool-caller.d.ts","sourceRoot":"","sources":["../../../src/server/utils/gradio-tool-caller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAC,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACjG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAQxF,MAAM,WAAW,qBAAqB;IAErC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,WAAW,CAAC,EAAE;QACb,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,UAAU,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/C,CAAC;IAEF,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAcD,wBAAsB,cAAc,CACnC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,KAAK,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAAG,SAAS,GACvE,OAAO,CAAC,OAAO,oBAAoB,CAAC,KAAK,CAAC,CA8B5C;AAUD,wBAAgB,yBAAyB,CACxC,MAAM,EAAE,OAAO,oBAAoB,CAAC,KAAK,EACzC,OAAO,EAAE,qBAAqB,GAC5B,OAAO,oBAAoB,CAAC,KAAK,CAyBnC"}
@@ -1,75 +1,25 @@
1
- import { Client } from '@modelcontextprotocol/sdk/client/index.js';
2
- import { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js';
3
- import { CallToolResultSchema, } from '@modelcontextprotocol/sdk/types.js';
1
+ import {} from '@modelcontextprotocol/sdk/types.js';
2
+ import { callGradioToolWithHeaders } from '@llmindset/hf-mcp';
4
3
  import { logger } from './logger.js';
5
4
  import { stripImageContentFromResult, extractUrlFromContent } from './gradio-result-processor.js';
6
- async function createGradioConnection(sseUrl, hfToken) {
7
- logger.debug({ url: sseUrl }, 'Creating SSE connection to Gradio endpoint');
8
- const remoteClient = new Client({
9
- name: 'hf-mcp-gradio-client',
10
- version: '1.0.0',
11
- }, {
12
- capabilities: {},
13
- });
14
- const transportOptions = {};
15
- if (hfToken) {
16
- const headerName = 'X-HF-Authorization';
17
- const customHeaders = {
18
- [headerName]: `Bearer ${hfToken}`,
19
- };
20
- logger.trace('Creating Gradio connection with authorization header');
21
- transportOptions.requestInit = {
22
- headers: customHeaders,
23
- };
24
- transportOptions.eventSourceInit = {
25
- fetch: (url, init) => {
26
- const headers = new Headers(init.headers);
27
- Object.entries(customHeaders).forEach(([key, value]) => {
28
- headers.set(key, value);
29
- });
30
- return fetch(url.toString(), { ...init, headers });
31
- },
32
- };
33
- }
34
- const transport = new SSEClientTransport(new URL(sseUrl), transportOptions);
35
- await remoteClient.connect(transport);
36
- logger.debug('SSE connection established');
37
- return remoteClient;
38
- }
39
5
  export async function callGradioTool(sseUrl, toolName, parameters, hfToken, extra) {
40
6
  logger.info({ tool: toolName, params: parameters }, 'Calling Gradio tool via unified caller');
41
- const client = await createGradioConnection(sseUrl, hfToken);
42
- try {
43
- const progressToken = extra?._meta?.progressToken;
44
- const requestOptions = {};
45
- if (progressToken !== undefined && extra) {
46
- logger.debug({ tool: toolName, progressToken }, 'Progress notifications requested');
47
- requestOptions.onprogress = async (progress) => {
48
- logger.trace({ tool: toolName, progressToken, progress }, 'Relaying progress notification');
49
- await extra.sendNotification({
50
- method: 'notifications/progress',
51
- params: {
52
- progressToken,
53
- progress: progress.progress,
54
- total: progress.total,
55
- message: progress.message,
56
- },
57
- });
58
- };
59
- requestOptions.resetTimeoutOnProgress = true;
60
- }
61
- return await client.request({
62
- method: 'tools/call',
63
- params: {
64
- name: toolName,
65
- arguments: parameters,
66
- _meta: progressToken !== undefined ? { progressToken } : undefined,
7
+ const { result, capturedHeaders } = await callGradioToolWithHeaders(sseUrl, toolName, parameters, hfToken, extra, { logProxiedReplica: true });
8
+ const proxiedReplica = capturedHeaders['x-proxied-replica'];
9
+ if (proxiedReplica) {
10
+ logger.debug({ tool: toolName, proxiedReplica }, 'Captured Gradio response header');
11
+ return {
12
+ ...result,
13
+ _meta: {
14
+ ...result._meta,
15
+ responseHeaders: {
16
+ ...result._meta?.responseHeaders,
17
+ 'x-proxied-replica': proxiedReplica,
18
+ },
67
19
  },
68
- }, CallToolResultSchema, requestOptions);
69
- }
70
- finally {
71
- await client.close();
20
+ };
72
21
  }
22
+ return result;
73
23
  }
74
24
  export function applyResultPostProcessing(result, options) {
75
25
  const filteredResult = stripImageContentFromResult(result, {
@@ -1 +1 @@
1
- {"version":3,"file":"gradio-tool-caller.js","sourceRoot":"","sources":["../../../src/server/utils/gradio-tool-caller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gradio-tool-caller.js","sourceRoot":"","sources":["../../../src/server/utils/gradio-tool-caller.ts"],"names":[],"mappings":"AACA,OAAO,EAA+C,MAAM,oCAAoC,CAAC;AAEjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAoClG,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,MAAc,EACd,QAAgB,EAChB,UAAmC,EACnC,OAA2B,EAC3B,KAAyE;IAEzE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,wCAAwC,CAAC,CAAC;IAG9F,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,yBAAyB,CAClE,MAAM,EACN,QAAQ,EACR,UAAU,EACV,OAAO,EACP,KAAK,EACL,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAC3B,CAAC;IAGF,MAAM,cAAc,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC;IAC5D,IAAI,cAAc,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,iCAAiC,CAAC,CAAC;QACpF,OAAO;YACN,GAAG,MAAM;YACT,KAAK,EAAE;gBACN,GAAI,MAA8C,CAAC,KAAK;gBACxD,eAAe,EAAE;oBAChB,GAAI,MAAoE,CAAC,KAAK,EAAE,eAAe;oBAC/F,mBAAmB,EAAE,cAAc;iBACnC;aACD;SACoC,CAAC;IACxC,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAUD,MAAM,UAAU,yBAAyB,CACxC,MAAyC,EACzC,OAA8B;IAG9B,MAAM,cAAc,GAAG,2BAA2B,CAAC,MAAM,EAAE;QAC1D,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB;QACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;KAC5C,CAAC,CAAC;IAGH,IAAI,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;QAC5D,MAAM,YAAY,GAAG,qBAAqB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,YAAY,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,8CAA8C,CAAC,CAAC;YAE3G,cAGA,CAAC,iBAAiB,GAAG;gBACrB,GAAG,EAAE,YAAY;gBACjB,SAAS,EAAE,OAAO,CAAC,SAAS;aAC5B,CAAC;QACH,CAAC;IACF,CAAC;IAED,OAAO,cAAc,CAAC;AACvB,CAAC"}
@@ -7,4 +7,11 @@ export interface ParsedGradioSpace {
7
7
  export declare function parseGradioSpaceIds(gradioParam: string): ParsedGradioSpace[];
8
8
  export declare function fetchGradioSubdomains(spaceIds: ParsedGradioSpace[], hfToken?: string): Promise<SpaceTool[]>;
9
9
  export declare function parseAndFetchGradioEndpoints(gradioParam: string, hfToken?: string): Promise<SpaceTool[]>;
10
+ export interface GradioFilesEligibilityParams {
11
+ gradioSpaceCount: number;
12
+ builtInTools: string[];
13
+ dynamicSpaceToolId: string;
14
+ datasetExists: boolean;
15
+ }
16
+ export declare function shouldRegisterGradioFilesTool(params: GradioFilesEligibilityParams): boolean;
10
17
  //# sourceMappingURL=gradio-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gradio-utils.d.ts","sourceRoot":"","sources":["../../../src/server/utils/gradio-utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAkB1D,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGtD;AAiBD,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,OAAO,GAAG,SAAS,EAC9B,SAAS,CAAC,EAAE,MAAM,GAChB,MAAM,CAoCR;AAKD,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,MAAM,CAAC;CACb;AAcD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAqC5E;AAgBD,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CA4BjH;AAeD,wBAAsB,4BAA4B,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAQ9G"}
1
+ {"version":3,"file":"gradio-utils.d.ts","sourceRoot":"","sources":["../../../src/server/utils/gradio-utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAkB1D,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGtD;AAiBD,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,OAAO,GAAG,SAAS,EAC9B,SAAS,CAAC,EAAE,MAAM,GAChB,MAAM,CAoCR;AAKD,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,MAAM,CAAC;CACb;AAcD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAqC5E;AAgBD,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CA4BjH;AAeD,wBAAsB,4BAA4B,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAQ9G;AAKD,MAAM,WAAW,4BAA4B;IAE5C,gBAAgB,EAAE,MAAM,CAAC;IAEzB,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,kBAAkB,EAAE,MAAM,CAAC;IAE3B,aAAa,EAAE,OAAO,CAAC;CACvB;AAoCD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAW3F"}
@@ -78,4 +78,13 @@ export async function parseAndFetchGradioEndpoints(gradioParam, hfToken) {
78
78
  }
79
79
  return fetchGradioSubdomains(parsedSpaces, hfToken);
80
80
  }
81
+ export function shouldRegisterGradioFilesTool(params) {
82
+ const { gradioSpaceCount, builtInTools, dynamicSpaceToolId, datasetExists } = params;
83
+ if (!datasetExists) {
84
+ return false;
85
+ }
86
+ const hasGradioSpaces = gradioSpaceCount > 0;
87
+ const isDynamicSpaceEnabled = builtInTools.includes(dynamicSpaceToolId);
88
+ return hasGradioSpaces || isDynamicSpaceEnabled;
89
+ }
81
90
  //# sourceMappingURL=gradio-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gradio-utils.js","sourceRoot":"","sources":["../../../src/server/utils/gradio-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gradio-utils.js","sourceRoot":"","sources":["../../../src/server/utils/gradio-utils.ts"],"names":[],"mappings":"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"}