@n8n/mcp-apps 0.11.3 → 0.12.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.
@@ -1,8 +1,21 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
1
  import { type McpAppTelemetryConfig } from '../telemetry-config';
2
+ export interface McpAppResourceServer {
3
+ registerResource(name: string, uri: string, metadata: {
4
+ description?: string;
5
+ mimeType?: string;
6
+ _meta?: Record<string, unknown>;
7
+ }, readCallback: () => Promise<{
8
+ contents: Array<{
9
+ uri: string;
10
+ mimeType: string;
11
+ text: string;
12
+ _meta?: Record<string, unknown>;
13
+ }>;
14
+ }>): unknown;
15
+ }
3
16
  export interface RegisterWorkflowPreviewAppOptions {
4
17
  instanceOrigin?: string;
5
18
  telemetry: McpAppTelemetryConfig;
6
19
  onResourceRead?: () => void;
7
20
  }
8
- export declare function registerWorkflowPreviewApp(server: Pick<McpServer, 'resource'>, options: RegisterWorkflowPreviewAppOptions): void;
21
+ export declare function registerWorkflowPreviewApp(server: McpAppResourceServer, options: RegisterWorkflowPreviewAppOptions): void;
@@ -17,7 +17,7 @@ function getWorkflowPreviewUiMeta(instanceOrigin) {
17
17
  function registerWorkflowPreviewApp(server, options) {
18
18
  const { instanceOrigin, telemetry, onResourceRead } = options;
19
19
  const uiMeta = getWorkflowPreviewUiMeta(instanceOrigin);
20
- server.resource('workflow-preview', constants_1.WORKFLOW_PREVIEW_APP_URI, {
20
+ server.registerResource('workflow-preview', constants_1.WORKFLOW_PREVIEW_APP_URI, {
21
21
  description: 'Workflow preview shown after creating a workflow from code',
22
22
  mimeType: constants_1.RESOURCE_MIME_TYPE,
23
23
  _meta: {
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-preview.js","sourceRoot":"","sources":["../../../src/server/apps/workflow-preview.ts"],"names":[],"mappings":";;;AAGA,4CAIsB;AACtB,wDAAiD;AACjD,0DAI6B;AAW7B,SAAS,wBAAwB,CAAC,cAAuB;IACxD,OAAO;QACN,GAAG,EAAE;YACJ,YAAY,EAAE,CAAC,GAAG,0CAA8B,CAAC;YACjD,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,yCAAsB,CAAC,CAAC,CAAC,CAAC,EAAE;YAC/D,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;SACtD;QACD,aAAa,EAAE,KAAK;KACpB,CAAC;AACH,CAAC;AAED,oCACC,MAAmC,EACnC,OAA0C;IAE1C,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAC9D,MAAM,MAAM,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC;IAExD,MAAM,CAAC,QAAQ,CACd,kBAAkB,EAClB,oCAAwB,EACxB;QACC,WAAW,EAAE,4DAA4D;QACzE,QAAQ,EAAE,8BAAkB;QAC5B,KAAK,EAAE;YACN,EAAE,EAAE,MAAM;SACV;KACD,EACD,KAAK,IAAI,EAAE;QACV,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,uBAAuB,CAAC,CAAC;QAExD,IAAI,CAAC;YACJ,cAAc,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAED,OAAO;YACN,QAAQ,EAAE;gBACT;oBACC,GAAG,EAAE,oCAAwB;oBAC7B,QAAQ,EAAE,8BAAkB;oBAC5B,IAAI,EAAE,IAAA,wCAAqB,EAAC,IAAI,EAAE,SAAS,CAAC;oBAC5C,KAAK,EAAE;wBACN,EAAE,EAAE,MAAM;qBACV;iBACD;aACD;SACD,CAAC;IACH,CAAC,CACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"workflow-preview.js","sourceRoot":"","sources":["../../../src/server/apps/workflow-preview.ts"],"names":[],"mappings":";;;AAEA,4CAIsB;AACtB,wDAAiD;AACjD,0DAI6B;AAgC7B,SAAS,wBAAwB,CAAC,cAAuB;IACxD,OAAO;QACN,GAAG,EAAE;YACJ,YAAY,EAAE,CAAC,GAAG,0CAA8B,CAAC;YACjD,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,yCAAsB,CAAC,CAAC,CAAC,CAAC,EAAE;YAC/D,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;SACtD;QACD,aAAa,EAAE,KAAK;KACpB,CAAC;AACH,CAAC;AAED,oCACC,MAA4B,EAC5B,OAA0C;IAE1C,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAC9D,MAAM,MAAM,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC;IAExD,MAAM,CAAC,gBAAgB,CACtB,kBAAkB,EAClB,oCAAwB,EACxB;QACC,WAAW,EAAE,4DAA4D;QACzE,QAAQ,EAAE,8BAAkB;QAC5B,KAAK,EAAE;YACN,EAAE,EAAE,MAAM;SACV;KACD,EACD,KAAK,IAAI,EAAE;QACV,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,uBAAuB,CAAC,CAAC;QAExD,IAAI,CAAC;YACJ,cAAc,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAED,OAAO;YACN,QAAQ,EAAE;gBACT;oBACC,GAAG,EAAE,oCAAwB;oBAC7B,QAAQ,EAAE,8BAAkB;oBAC5B,IAAI,EAAE,IAAA,wCAAqB,EAAC,IAAI,EAAE,SAAS,CAAC;oBAC5C,KAAK,EAAE;wBACN,EAAE,EAAE,MAAM;qBACV;iBACD;aACD;SACD,CAAC;IACH,CAAC,CACD,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { RESOURCE_MIME_TYPE, RESOURCE_URI_META_KEY, WORKFLOW_PREVIEW_APP_URI, } from './constants';
2
- export { registerMcpAppTool, type McpAppToolConfig } from './register-mcp-app-tool';
3
- export { registerWorkflowPreviewApp, type RegisterWorkflowPreviewAppOptions, } from './apps/workflow-preview';
2
+ export { registerMcpAppTool, mcpAppToolMeta, type McpAppToolConfig } from './register-mcp-app-tool';
3
+ export { registerWorkflowPreviewApp, type McpAppResourceServer, type RegisterWorkflowPreviewAppOptions, } from './apps/workflow-preview';
4
4
  export { injectTelemetryConfig, MCP_APP_TELEMETRY_GLOBAL, RUDDERSTACK_CDN_ORIGIN, type McpAppTelemetryConfig, } from './telemetry-config';
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RUDDERSTACK_CDN_ORIGIN = exports.MCP_APP_TELEMETRY_GLOBAL = exports.injectTelemetryConfig = exports.registerWorkflowPreviewApp = exports.registerMcpAppTool = exports.WORKFLOW_PREVIEW_APP_URI = exports.RESOURCE_URI_META_KEY = exports.RESOURCE_MIME_TYPE = void 0;
3
+ exports.RUDDERSTACK_CDN_ORIGIN = exports.MCP_APP_TELEMETRY_GLOBAL = exports.injectTelemetryConfig = exports.registerWorkflowPreviewApp = exports.mcpAppToolMeta = exports.registerMcpAppTool = exports.WORKFLOW_PREVIEW_APP_URI = exports.RESOURCE_URI_META_KEY = exports.RESOURCE_MIME_TYPE = void 0;
4
4
  var constants_1 = require("./constants");
5
5
  Object.defineProperty(exports, "RESOURCE_MIME_TYPE", { enumerable: true, get: function () { return constants_1.RESOURCE_MIME_TYPE; } });
6
6
  Object.defineProperty(exports, "RESOURCE_URI_META_KEY", { enumerable: true, get: function () { return constants_1.RESOURCE_URI_META_KEY; } });
7
7
  Object.defineProperty(exports, "WORKFLOW_PREVIEW_APP_URI", { enumerable: true, get: function () { return constants_1.WORKFLOW_PREVIEW_APP_URI; } });
8
8
  var register_mcp_app_tool_1 = require("./register-mcp-app-tool");
9
9
  Object.defineProperty(exports, "registerMcpAppTool", { enumerable: true, get: function () { return register_mcp_app_tool_1.registerMcpAppTool; } });
10
+ Object.defineProperty(exports, "mcpAppToolMeta", { enumerable: true, get: function () { return register_mcp_app_tool_1.mcpAppToolMeta; } });
10
11
  var workflow_preview_1 = require("./apps/workflow-preview");
11
12
  Object.defineProperty(exports, "registerWorkflowPreviewApp", { enumerable: true, get: function () { return workflow_preview_1.registerWorkflowPreviewApp; } });
12
13
  var telemetry_config_1 = require("./telemetry-config");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";;;AAAA,yCAIqB;AAHpB,+GAAA,kBAAkB,OAAA;AAClB,kHAAA,qBAAqB,OAAA;AACrB,qHAAA,wBAAwB,OAAA;AAEzB,iEAAoF;AAA3E,2HAAA,kBAAkB,OAAA;AAC3B,4DAGiC;AAFhC,8HAAA,0BAA0B,OAAA;AAG3B,uDAK4B;AAJ3B,yHAAA,qBAAqB,OAAA;AACrB,4HAAA,wBAAwB,OAAA;AACxB,0HAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";;;AAAA,yCAIqB;AAHpB,+GAAA,kBAAkB,OAAA;AAClB,kHAAA,qBAAqB,OAAA;AACrB,qHAAA,wBAAwB,OAAA;AAEzB,iEAAoG;AAA3F,2HAAA,kBAAkB,OAAA;AAAE,uHAAA,cAAc,OAAA;AAC3C,4DAIiC;AAHhC,8HAAA,0BAA0B,OAAA;AAI3B,uDAK4B;AAJ3B,yHAAA,qBAAqB,OAAA;AACrB,4HAAA,wBAAwB,OAAA;AACxB,0HAAA,sBAAsB,OAAA"}
@@ -15,3 +15,5 @@ export type McpAppToolConfig<InputArgs extends z.ZodRawShape = z.ZodRawShape> =
15
15
  _meta: Record<string, unknown>;
16
16
  };
17
17
  export declare function registerMcpAppTool<InputArgs extends z.ZodRawShape = z.ZodRawShape>(server: Pick<McpServer, 'registerTool'>, name: string, config: McpAppToolConfig<InputArgs>, handler: ToolCallback<InputArgs>): RegisteredTool;
18
+ export declare function mcpAppToolMeta(resourceUri: string): Record<string, unknown>;
19
+ export declare function normalizeMcpAppToolMeta(meta: Record<string, unknown>): Record<string, unknown>;
@@ -1,11 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.registerMcpAppTool = registerMcpAppTool;
4
+ exports.mcpAppToolMeta = mcpAppToolMeta;
5
+ exports.normalizeMcpAppToolMeta = normalizeMcpAppToolMeta;
4
6
  const is_record_1 = require("@n8n/utils/is-record");
5
7
  const constants_1 = require("./constants");
6
8
  function registerMcpAppTool(server, name, config, handler) {
7
9
  return server.registerTool(name, { ...config, _meta: normalizeMcpAppToolMeta(config._meta) }, handler);
8
10
  }
11
+ function mcpAppToolMeta(resourceUri) {
12
+ return normalizeMcpAppToolMeta({ ui: { resourceUri } });
13
+ }
9
14
  function normalizeMcpAppToolMeta(meta) {
10
15
  const uiMeta = (0, is_record_1.isRecord)(meta.ui) ? meta.ui : undefined;
11
16
  const modernUri = typeof uiMeta?.resourceUri === 'string' ? uiMeta.resourceUri : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"register-mcp-app-tool.js","sourceRoot":"","sources":["../../src/server/register-mcp-app-tool.ts"],"names":[],"mappings":";;;AAKA,oDAAgD;AAGhD,2CAAoD;AAiBpD,4BACC,MAAuC,EACvC,IAAY,EACZ,MAAmC,EACnC,OAAgC;IAEhC,OAAO,MAAM,CAAC,YAAY,CACzB,IAAI,EACJ,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAC3D,OAAO,CACP,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,IAA6B;IAC7D,MAAM,MAAM,GAAG,IAAA,oBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,MAAM,SAAS,GACd,OAAO,IAAI,CAAC,iCAAqB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,iCAAqB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE3F,IAAI,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,iCAAqB,CAAC,EAAE,SAAS,EAAE,CAAC;IACxD,CAAC;IAED,IAAI,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,CAAC;IACvE,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"register-mcp-app-tool.js","sourceRoot":"","sources":["../../src/server/register-mcp-app-tool.ts"],"names":[],"mappings":";;;;;AAKA,oDAAgD;AAGhD,2CAAoD;AAiBpD,4BACC,MAAuC,EACvC,IAAY,EACZ,MAAmC,EACnC,OAAgC;IAEhC,OAAO,MAAM,CAAC,YAAY,CACzB,IAAI,EACJ,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAC3D,OAAO,CACP,CAAC;AACH,CAAC;AAOD,wBAA+B,WAAmB;IACjD,OAAO,uBAAuB,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,iCAAwC,IAA6B;IACpE,MAAM,MAAM,GAAG,IAAA,oBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,MAAM,SAAS,GACd,OAAO,IAAI,CAAC,iCAAqB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,iCAAqB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE3F,IAAI,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,iCAAqB,CAAC,EAAE,SAAS,EAAE,CAAC;IACxD,CAAC;IAED,IAAI,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,CAAC;IACvE,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n8n/mcp-apps",
3
- "version": "0.11.3",
3
+ "version": "0.12.0",
4
4
  "description": "MCP Apps UI resources and server helpers for n8n",
5
5
  "main": "dist/server/index.js",
6
6
  "types": "dist/server/index.d.ts",
@@ -28,8 +28,8 @@
28
28
  "vue": "^3.5.13",
29
29
  "vue-i18n": "^11.4.4",
30
30
  "zod": "3.25.76",
31
- "@n8n/utils": "1.42.0",
32
- "@n8n/design-system": "2.33.3"
31
+ "@n8n/design-system": "2.34.0",
32
+ "@n8n/utils": "1.43.0"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@iconify-json/lucide": "^1.2.112",
@@ -47,9 +47,9 @@
47
47
  "vite-svg-loader": "5.1.0",
48
48
  "vitest": "^4.1.9",
49
49
  "vue-tsc": "^2.2.8",
50
- "@n8n/eslint-config": "0.0.1",
51
- "@n8n/vitest-config": "1.19.0",
52
- "@n8n/typescript-config": "1.9.0"
50
+ "@n8n/typescript-config": "1.9.0",
51
+ "@n8n/vitest-config": "1.20.0",
52
+ "@n8n/eslint-config": "0.0.1"
53
53
  },
54
54
  "peerDependencies": {
55
55
  "@modelcontextprotocol/sdk": "1.26.0"