@kubb/mcp 4.12.2 → 4.12.4

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.
package/dist/index.cjs CHANGED
@@ -1,3 +1,3 @@
1
- const require_src = require('./src-K3L7kaeB.cjs');
1
+ const require_src = require('./src-BK6A7C_w.cjs');
2
2
 
3
3
  exports.startServer = require_src.startServer;
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import { t as startServer } from "./src-B3CZzU8k.js";
1
+ import { t as startServer } from "./src-BXb629vg.js";
2
2
 
3
3
  export { startServer };
package/dist/server.cjs CHANGED
@@ -1,4 +1,4 @@
1
- const require_src = require('./src-K3L7kaeB.cjs');
1
+ const require_src = require('./src-BK6A7C_w.cjs');
2
2
 
3
3
  //#region src/server.ts
4
4
  require_src.startServer();
package/dist/server.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as startServer } from "./src-B3CZzU8k.js";
1
+ import { t as startServer } from "./src-BXb629vg.js";
2
2
 
3
3
  //#region src/server.ts
4
4
  startServer();
@@ -27,18 +27,18 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
27
  //#endregion
28
28
  let node_process = require("node:process");
29
29
  node_process = __toESM(node_process);
30
- let __modelcontextprotocol_sdk_server_mcp_js = require("@modelcontextprotocol/sdk/server/mcp.js");
31
- let __modelcontextprotocol_sdk_server_stdio_js = require("@modelcontextprotocol/sdk/server/stdio.js");
30
+ let _modelcontextprotocol_sdk_server_mcp_js = require("@modelcontextprotocol/sdk/server/mcp.js");
31
+ let _modelcontextprotocol_sdk_server_stdio_js = require("@modelcontextprotocol/sdk/server/stdio.js");
32
32
  let zod = require("zod");
33
- let __kubb_core = require("@kubb/core");
34
- let __kubb_core_utils = require("@kubb/core/utils");
35
- let __kubb_plugin_oas = require("@kubb/plugin-oas");
36
- let __kubb_plugin_react_query = require("@kubb/plugin-react-query");
37
- let __kubb_plugin_ts = require("@kubb/plugin-ts");
38
- let __kubb_react_fabric = require("@kubb/react-fabric");
33
+ let _kubb_core = require("@kubb/core");
34
+ let _kubb_core_utils = require("@kubb/core/utils");
35
+ let _kubb_plugin_oas = require("@kubb/plugin-oas");
36
+ let _kubb_plugin_react_query = require("@kubb/plugin-react-query");
37
+ let _kubb_plugin_ts = require("@kubb/plugin-ts");
38
+ let _kubb_react_fabric = require("@kubb/react-fabric");
39
39
 
40
40
  //#region package.json
41
- var version = "4.12.2";
41
+ var version = "4.12.4";
42
42
 
43
43
  //#endregion
44
44
  //#region src/schemas/generateSchema.ts
@@ -57,22 +57,22 @@ async function generate({ plugin, openApi, operationId }) {
57
57
  pattern: operationId
58
58
  } : void 0].filter(Boolean);
59
59
  const plugins = [
60
- (0, __kubb_plugin_oas.pluginOas)({
60
+ (0, _kubb_plugin_oas.pluginOas)({
61
61
  validate: false,
62
62
  generators: []
63
63
  }),
64
- (0, __kubb_plugin_ts.pluginTs)({
64
+ (0, _kubb_plugin_ts.pluginTs)({
65
65
  output: { path: "typescript.ts" },
66
66
  generators: plugin === "typescript" ? void 0 : [],
67
67
  include
68
68
  }),
69
- (0, __kubb_plugin_react_query.pluginReactQuery)({
69
+ (0, _kubb_plugin_react_query.pluginReactQuery)({
70
70
  output: { path: "react-query.ts" },
71
71
  generators: plugin === "react-query" ? void 0 : [],
72
72
  include
73
73
  })
74
74
  ].filter(Boolean);
75
- const fileProcessor = new __kubb_react_fabric.FileProcessor();
75
+ const fileProcessor = new _kubb_react_fabric.FileProcessor();
76
76
  const definedConfig = {
77
77
  root: process.cwd(),
78
78
  input: { data: openApi },
@@ -83,9 +83,9 @@ async function generate({ plugin, openApi, operationId }) {
83
83
  },
84
84
  plugins
85
85
  };
86
- const { fabric, error } = await (0, __kubb_core.safeBuild)({
86
+ const { fabric, error } = await (0, _kubb_core.safeBuild)({
87
87
  config: definedConfig,
88
- events: new __kubb_core_utils.AsyncEventEmitter()
88
+ events: new _kubb_core_utils.AsyncEventEmitter()
89
89
  });
90
90
  if (error) return {
91
91
  content: [{
@@ -95,7 +95,7 @@ async function generate({ plugin, openApi, operationId }) {
95
95
  isError: true
96
96
  };
97
97
  const promises = fabric.files.map(async (file) => {
98
- return fileProcessor.parse((0, __kubb_react_fabric.createFile)(file));
98
+ return fileProcessor.parse((0, _kubb_react_fabric.createFile)(file));
99
99
  });
100
100
  const sources = await Promise.all(promises);
101
101
  return { content: [{
@@ -120,8 +120,8 @@ async function generate({ plugin, openApi, operationId }) {
120
120
  //#region src/index.ts
121
121
  async function startServer() {
122
122
  try {
123
- const transport = new __modelcontextprotocol_sdk_server_stdio_js.StdioServerTransport();
124
- const server = new __modelcontextprotocol_sdk_server_mcp_js.McpServer({
123
+ const transport = new _modelcontextprotocol_sdk_server_stdio_js.StdioServerTransport();
124
+ const server = new _modelcontextprotocol_sdk_server_mcp_js.McpServer({
125
125
  name: "Kubb",
126
126
  version
127
127
  });
@@ -140,4 +140,4 @@ Object.defineProperty(exports, 'startServer', {
140
140
  return startServer;
141
141
  }
142
142
  });
143
- //# sourceMappingURL=src-K3L7kaeB.cjs.map
143
+ //# sourceMappingURL=src-BK6A7C_w.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"src-BK6A7C_w.cjs","names":["z","FileProcessor","definedConfig: Config","AsyncEventEmitter","StdioServerTransport","McpServer"],"sources":["../package.json","../src/schemas/generateSchema.ts","../src/tools/generate.ts","../src/index.ts"],"sourcesContent":["","import { z } from 'zod'\n\nexport const generateSchema = z.object({\n openApi: z.string().default('https://petstore.swagger.io/v2/swagger.json').describe('OpenAPI/Swagger spec'),\n plugin: z.enum(['typescript', 'react-query']).describe('Plugin to use'),\n operationId: z.string().nullable().optional().describe('Which operationId should be used'),\n // schemaName: z.string().nullable().optional().describe('Which schema should be used'),\n})\n","import { type Config, type KubbEvents, type Plugin, safeBuild } from '@kubb/core'\nimport { AsyncEventEmitter } from '@kubb/core/utils'\nimport { type Include, pluginOas } from '@kubb/plugin-oas'\nimport { pluginReactQuery } from '@kubb/plugin-react-query'\nimport { pluginTs } from '@kubb/plugin-ts'\nimport { createFile, FileProcessor } from '@kubb/react-fabric'\nimport type { CallToolResult } from '@modelcontextprotocol/sdk/types.d.ts'\nimport type { z } from 'zod'\nimport type { generateSchema } from '../schemas/generateSchema.ts'\n\nexport async function generate({ plugin, openApi, operationId }: z.infer<typeof generateSchema>): Promise<CallToolResult> {\n try {\n const include = [\n operationId\n ? {\n type: 'operationId',\n pattern: operationId,\n }\n : undefined,\n ].filter(Boolean) as Include[]\n\n const plugins = [\n pluginOas({ validate: false, generators: [] }),\n pluginTs({\n output: {\n path: 'typescript.ts',\n },\n generators: plugin === 'typescript' ? undefined : [],\n include,\n }),\n pluginReactQuery({\n output: {\n path: 'react-query.ts',\n },\n generators: plugin === 'react-query' ? undefined : [],\n include,\n }),\n ].filter(Boolean) as Plugin[]\n\n const fileProcessor = new FileProcessor()\n const definedConfig: Config = {\n root: process.cwd(),\n input: {\n data: openApi,\n },\n output: {\n path: './',\n write: false,\n barrelType: 'named',\n },\n plugins,\n }\n\n const { fabric, error } = await safeBuild({\n config: definedConfig,\n events: new AsyncEventEmitter<KubbEvents>(),\n })\n\n if (error) {\n return {\n content: [\n {\n type: 'text',\n text: error.message,\n },\n ],\n isError: true,\n }\n }\n\n const promises = fabric.files.map(async (file) => {\n return fileProcessor.parse(createFile(file))\n })\n\n const sources = await Promise.all(promises)\n\n return {\n content: [\n // {\n // type: 'resource',\n // resource: {}\n // },\n {\n type: 'text',\n text: `Config: ${JSON.stringify(definedConfig, null, 2)}`,\n },\n {\n type: 'text',\n text: `Files: ${JSON.stringify(sources, null, 2)}`,\n },\n ],\n }\n } catch (e) {\n const error = e as Error\n\n return {\n content: [\n {\n type: 'text',\n text: error.message,\n },\n ],\n isError: true,\n }\n }\n}\n","import process from 'node:process'\nimport { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'\nimport { version } from '../package.json'\nimport { generateSchema } from './schemas/generateSchema.ts'\nimport { generate } from './tools/generate.ts'\n\nexport async function startServer() {\n try {\n const transport = new StdioServerTransport()\n const server = new McpServer({\n name: 'Kubb',\n version,\n })\n\n server.tool('generate', 'generate an openAPI spec to a code snippet', generateSchema.shape, generate)\n\n await server.connect(transport)\n } catch (error) {\n console.error('Failed to start server:', error)\n process.exit(1)\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACEA,MAAa,iBAAiBA,MAAE,OAAO;CACrC,SAASA,MAAE,QAAQ,CAAC,QAAQ,8CAA8C,CAAC,SAAS,uBAAuB;CAC3G,QAAQA,MAAE,KAAK,CAAC,cAAc,cAAc,CAAC,CAAC,SAAS,gBAAgB;CACvE,aAAaA,MAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,mCAAmC;CAE3F,CAAC;;;;ACGF,eAAsB,SAAS,EAAE,QAAQ,SAAS,eAAwE;AACxH,KAAI;EACF,MAAM,UAAU,CACd,cACI;GACE,MAAM;GACN,SAAS;GACV,GACD,OACL,CAAC,OAAO,QAAQ;EAEjB,MAAM,UAAU;mCACJ;IAAE,UAAU;IAAO,YAAY,EAAE;IAAE,CAAC;iCACrC;IACP,QAAQ,EACN,MAAM,iBACP;IACD,YAAY,WAAW,eAAe,SAAY,EAAE;IACpD;IACD,CAAC;kDACe;IACf,QAAQ,EACN,MAAM,kBACP;IACD,YAAY,WAAW,gBAAgB,SAAY,EAAE;IACrD;IACD,CAAC;GACH,CAAC,OAAO,QAAQ;EAEjB,MAAM,gBAAgB,IAAIC,kCAAe;EACzC,MAAMC,gBAAwB;GAC5B,MAAM,QAAQ,KAAK;GACnB,OAAO,EACL,MAAM,SACP;GACD,QAAQ;IACN,MAAM;IACN,OAAO;IACP,YAAY;IACb;GACD;GACD;EAED,MAAM,EAAE,QAAQ,UAAU,gCAAgB;GACxC,QAAQ;GACR,QAAQ,IAAIC,oCAA+B;GAC5C,CAAC;AAEF,MAAI,MACF,QAAO;GACL,SAAS,CACP;IACE,MAAM;IACN,MAAM,MAAM;IACb,CACF;GACD,SAAS;GACV;EAGH,MAAM,WAAW,OAAO,MAAM,IAAI,OAAO,SAAS;AAChD,UAAO,cAAc,yCAAiB,KAAK,CAAC;IAC5C;EAEF,MAAM,UAAU,MAAM,QAAQ,IAAI,SAAS;AAE3C,SAAO,EACL,SAAS,CAKP;GACE,MAAM;GACN,MAAM,WAAW,KAAK,UAAU,eAAe,MAAM,EAAE;GACxD,EACD;GACE,MAAM;GACN,MAAM,UAAU,KAAK,UAAU,SAAS,MAAM,EAAE;GACjD,CACF,EACF;UACM,GAAG;AAGV,SAAO;GACL,SAAS,CACP;IACE,MAAM;IACN,MANQ,EAMI;IACb,CACF;GACD,SAAS;GACV;;;;;;AChGL,eAAsB,cAAc;AAClC,KAAI;EACF,MAAM,YAAY,IAAIC,gEAAsB;EAC5C,MAAM,SAAS,IAAIC,kDAAU;GAC3B,MAAM;GACN;GACD,CAAC;AAEF,SAAO,KAAK,YAAY,8CAA8C,eAAe,OAAO,SAAS;AAErG,QAAM,OAAO,QAAQ,UAAU;UACxB,OAAO;AACd,UAAQ,MAAM,2BAA2B,MAAM;AAC/C,uBAAQ,KAAK,EAAE"}
@@ -10,7 +10,7 @@ import { pluginTs } from "@kubb/plugin-ts";
10
10
  import { FileProcessor, createFile } from "@kubb/react-fabric";
11
11
 
12
12
  //#region package.json
13
- var version = "4.12.2";
13
+ var version = "4.12.4";
14
14
 
15
15
  //#endregion
16
16
  //#region src/schemas/generateSchema.ts
@@ -107,4 +107,4 @@ async function startServer() {
107
107
 
108
108
  //#endregion
109
109
  export { startServer as t };
110
- //# sourceMappingURL=src-B3CZzU8k.js.map
110
+ //# sourceMappingURL=src-BXb629vg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"src-BXb629vg.js","names":["definedConfig: Config"],"sources":["../package.json","../src/schemas/generateSchema.ts","../src/tools/generate.ts","../src/index.ts"],"sourcesContent":["","import { z } from 'zod'\n\nexport const generateSchema = z.object({\n openApi: z.string().default('https://petstore.swagger.io/v2/swagger.json').describe('OpenAPI/Swagger spec'),\n plugin: z.enum(['typescript', 'react-query']).describe('Plugin to use'),\n operationId: z.string().nullable().optional().describe('Which operationId should be used'),\n // schemaName: z.string().nullable().optional().describe('Which schema should be used'),\n})\n","import { type Config, type KubbEvents, type Plugin, safeBuild } from '@kubb/core'\nimport { AsyncEventEmitter } from '@kubb/core/utils'\nimport { type Include, pluginOas } from '@kubb/plugin-oas'\nimport { pluginReactQuery } from '@kubb/plugin-react-query'\nimport { pluginTs } from '@kubb/plugin-ts'\nimport { createFile, FileProcessor } from '@kubb/react-fabric'\nimport type { CallToolResult } from '@modelcontextprotocol/sdk/types.d.ts'\nimport type { z } from 'zod'\nimport type { generateSchema } from '../schemas/generateSchema.ts'\n\nexport async function generate({ plugin, openApi, operationId }: z.infer<typeof generateSchema>): Promise<CallToolResult> {\n try {\n const include = [\n operationId\n ? {\n type: 'operationId',\n pattern: operationId,\n }\n : undefined,\n ].filter(Boolean) as Include[]\n\n const plugins = [\n pluginOas({ validate: false, generators: [] }),\n pluginTs({\n output: {\n path: 'typescript.ts',\n },\n generators: plugin === 'typescript' ? undefined : [],\n include,\n }),\n pluginReactQuery({\n output: {\n path: 'react-query.ts',\n },\n generators: plugin === 'react-query' ? undefined : [],\n include,\n }),\n ].filter(Boolean) as Plugin[]\n\n const fileProcessor = new FileProcessor()\n const definedConfig: Config = {\n root: process.cwd(),\n input: {\n data: openApi,\n },\n output: {\n path: './',\n write: false,\n barrelType: 'named',\n },\n plugins,\n }\n\n const { fabric, error } = await safeBuild({\n config: definedConfig,\n events: new AsyncEventEmitter<KubbEvents>(),\n })\n\n if (error) {\n return {\n content: [\n {\n type: 'text',\n text: error.message,\n },\n ],\n isError: true,\n }\n }\n\n const promises = fabric.files.map(async (file) => {\n return fileProcessor.parse(createFile(file))\n })\n\n const sources = await Promise.all(promises)\n\n return {\n content: [\n // {\n // type: 'resource',\n // resource: {}\n // },\n {\n type: 'text',\n text: `Config: ${JSON.stringify(definedConfig, null, 2)}`,\n },\n {\n type: 'text',\n text: `Files: ${JSON.stringify(sources, null, 2)}`,\n },\n ],\n }\n } catch (e) {\n const error = e as Error\n\n return {\n content: [\n {\n type: 'text',\n text: error.message,\n },\n ],\n isError: true,\n }\n }\n}\n","import process from 'node:process'\nimport { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'\nimport { version } from '../package.json'\nimport { generateSchema } from './schemas/generateSchema.ts'\nimport { generate } from './tools/generate.ts'\n\nexport async function startServer() {\n try {\n const transport = new StdioServerTransport()\n const server = new McpServer({\n name: 'Kubb',\n version,\n })\n\n server.tool('generate', 'generate an openAPI spec to a code snippet', generateSchema.shape, generate)\n\n await server.connect(transport)\n } catch (error) {\n console.error('Failed to start server:', error)\n process.exit(1)\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;ACEA,MAAa,iBAAiB,EAAE,OAAO;CACrC,SAAS,EAAE,QAAQ,CAAC,QAAQ,8CAA8C,CAAC,SAAS,uBAAuB;CAC3G,QAAQ,EAAE,KAAK,CAAC,cAAc,cAAc,CAAC,CAAC,SAAS,gBAAgB;CACvE,aAAa,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,mCAAmC;CAE3F,CAAC;;;;ACGF,eAAsB,SAAS,EAAE,QAAQ,SAAS,eAAwE;AACxH,KAAI;EACF,MAAM,UAAU,CACd,cACI;GACE,MAAM;GACN,SAAS;GACV,GACD,OACL,CAAC,OAAO,QAAQ;EAEjB,MAAM,UAAU;GACd,UAAU;IAAE,UAAU;IAAO,YAAY,EAAE;IAAE,CAAC;GAC9C,SAAS;IACP,QAAQ,EACN,MAAM,iBACP;IACD,YAAY,WAAW,eAAe,SAAY,EAAE;IACpD;IACD,CAAC;GACF,iBAAiB;IACf,QAAQ,EACN,MAAM,kBACP;IACD,YAAY,WAAW,gBAAgB,SAAY,EAAE;IACrD;IACD,CAAC;GACH,CAAC,OAAO,QAAQ;EAEjB,MAAM,gBAAgB,IAAI,eAAe;EACzC,MAAMA,gBAAwB;GAC5B,MAAM,QAAQ,KAAK;GACnB,OAAO,EACL,MAAM,SACP;GACD,QAAQ;IACN,MAAM;IACN,OAAO;IACP,YAAY;IACb;GACD;GACD;EAED,MAAM,EAAE,QAAQ,UAAU,MAAM,UAAU;GACxC,QAAQ;GACR,QAAQ,IAAI,mBAA+B;GAC5C,CAAC;AAEF,MAAI,MACF,QAAO;GACL,SAAS,CACP;IACE,MAAM;IACN,MAAM,MAAM;IACb,CACF;GACD,SAAS;GACV;EAGH,MAAM,WAAW,OAAO,MAAM,IAAI,OAAO,SAAS;AAChD,UAAO,cAAc,MAAM,WAAW,KAAK,CAAC;IAC5C;EAEF,MAAM,UAAU,MAAM,QAAQ,IAAI,SAAS;AAE3C,SAAO,EACL,SAAS,CAKP;GACE,MAAM;GACN,MAAM,WAAW,KAAK,UAAU,eAAe,MAAM,EAAE;GACxD,EACD;GACE,MAAM;GACN,MAAM,UAAU,KAAK,UAAU,SAAS,MAAM,EAAE;GACjD,CACF,EACF;UACM,GAAG;AAGV,SAAO;GACL,SAAS,CACP;IACE,MAAM;IACN,MANQ,EAMI;IACb,CACF;GACD,SAAS;GACV;;;;;;AChGL,eAAsB,cAAc;AAClC,KAAI;EACF,MAAM,YAAY,IAAI,sBAAsB;EAC5C,MAAM,SAAS,IAAI,UAAU;GAC3B,MAAM;GACN;GACD,CAAC;AAEF,SAAO,KAAK,YAAY,8CAA8C,eAAe,OAAO,SAAS;AAErG,QAAM,OAAO,QAAQ,UAAU;UACxB,OAAO;AACd,UAAQ,MAAM,2BAA2B,MAAM;AAC/C,YAAQ,KAAK,EAAE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubb/mcp",
3
- "version": "4.12.2",
3
+ "version": "4.12.4",
4
4
  "description": "Generator MCP",
5
5
  "keywords": [
6
6
  "typescript",
@@ -53,28 +53,25 @@
53
53
  }
54
54
  ],
55
55
  "dependencies": {
56
- "@kubb/react-fabric": "0.7.0",
56
+ "@kubb/react-fabric": "0.7.1",
57
57
  "@modelcontextprotocol/sdk": "1.21.1",
58
58
  "zod": "^3.25.76",
59
- "@kubb/core": "4.12.2",
60
- "@kubb/plugin-client": "4.12.2",
61
- "@kubb/plugin-cypress": "4.12.2",
62
- "@kubb/plugin-faker": "4.12.2",
63
- "@kubb/plugin-mcp": "4.12.2",
64
- "@kubb/plugin-msw": "4.12.2",
65
- "@kubb/plugin-oas": "4.12.2",
66
- "@kubb/plugin-react-query": "4.12.2",
67
- "@kubb/plugin-redoc": "4.12.2",
68
- "@kubb/plugin-swr": "4.12.2",
69
- "@kubb/plugin-ts": "4.12.2",
70
- "@kubb/plugin-zod": "4.12.2"
59
+ "@kubb/core": "4.12.4",
60
+ "@kubb/plugin-client": "4.12.4",
61
+ "@kubb/plugin-cypress": "4.12.4",
62
+ "@kubb/plugin-faker": "4.12.4",
63
+ "@kubb/plugin-mcp": "4.12.4",
64
+ "@kubb/plugin-msw": "4.12.4",
65
+ "@kubb/plugin-oas": "4.12.4",
66
+ "@kubb/plugin-react-query": "4.12.4",
67
+ "@kubb/plugin-redoc": "4.12.4",
68
+ "@kubb/plugin-swr": "4.12.4",
69
+ "@kubb/plugin-ts": "4.12.4",
70
+ "@kubb/plugin-zod": "4.12.4"
71
71
  },
72
72
  "peerDependencies": {
73
73
  "@kubb/react-fabric": "0.7.0"
74
74
  },
75
- "devDependencies": {
76
- "@kubb/plugin-oas": "4.12.2"
77
- },
78
75
  "engines": {
79
76
  "node": ">=20"
80
77
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"src-B3CZzU8k.js","names":["definedConfig: Config"],"sources":["../package.json","../src/schemas/generateSchema.ts","../src/tools/generate.ts","../src/index.ts"],"sourcesContent":["{\n \"name\": \"@kubb/mcp\",\n \"version\": \"4.12.2\",\n \"description\": \"Generator MCP\",\n \"keywords\": [\n \"typescript\",\n \"plugins\",\n \"kubb\",\n \"codegen\",\n \"MCP\"\n ],\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/kubb-labs/kubb.git\",\n \"directory\": \"packages/mcp\"\n },\n \"license\": \"MIT\",\n \"author\": \"stijnvanhulle\",\n \"sideEffects\": false,\n \"type\": \"module\",\n \"exports\": {\n \".\": {\n \"require\": \"./dist/index.cjs\",\n \"import\": \"./dist/index.js\"\n },\n \"./server\": {\n \"require\": \"./dist/server.cjs\",\n \"import\": \"./dist/server.js\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"main\": \"./dist/index.cjs\",\n \"module\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.cts\",\n \"typesVersions\": {\n \"*\": {\n \"server\": [\n \"./dist/server.d.ts\"\n ]\n }\n },\n \"files\": [\n \"src\",\n \"dist\",\n \"!/**/**.test.**\",\n \"!/**/__tests__/**\"\n ],\n \"size-limit\": [\n {\n \"path\": \"./dist/*.js\",\n \"limit\": \"510 KiB\",\n \"gzip\": true\n }\n ],\n \"scripts\": {\n \"build\": \"tsdown && size-limit\",\n \"start:mcp\": \"bun --watch ./src/server.ts\",\n \"debug:mcp\": \"npx -y @modelcontextprotocol/inspector node ./dist/server.js\",\n \"clean\": \"npx rimraf ./dist\",\n \"lint\": \"bun biome lint .\",\n \"lint:fix\": \"bun biome lint --fix --unsafe .\",\n \"release\": \"pnpm publish --no-git-check\",\n \"release:canary\": \"bash ../../.github/canary.sh && node ../../scripts/build.js canary && pnpm publish --no-git-check\",\n \"start\": \"tsdown --watch\",\n \"test\": \"vitest --passWithNoTests\",\n \"typecheck\": \"tsc -p ./tsconfig.json --noEmit --emitDeclarationOnly false\"\n },\n \"dependencies\": {\n \"@kubb/core\": \"workspace:*\",\n \"@kubb/plugin-client\": \"workspace:*\",\n \"@kubb/plugin-cypress\": \"workspace:*\",\n \"@kubb/plugin-faker\": \"workspace:*\",\n \"@kubb/plugin-mcp\": \"workspace:*\",\n \"@kubb/plugin-msw\": \"workspace:*\",\n \"@kubb/plugin-oas\": \"workspace:*\",\n \"@kubb/plugin-react-query\": \"workspace:*\",\n \"@kubb/plugin-redoc\": \"workspace:*\",\n \"@kubb/plugin-swr\": \"workspace:*\",\n \"@kubb/plugin-ts\": \"workspace:*\",\n \"@kubb/plugin-zod\": \"workspace:*\",\n \"@kubb/react-fabric\": \"catalog:\",\n \"@modelcontextprotocol/sdk\": \"1.21.1\",\n \"zod\": \"^3.25.76\"\n },\n \"peerDependencies\": {\n \"@kubb/react-fabric\": \"0.7.0\"\n },\n \"devDependencies\": {\n \"@kubb/plugin-oas\": \"workspace:*\"\n },\n \"engines\": {\n \"node\": \">=20\"\n },\n \"publishConfig\": {\n \"access\": \"public\",\n \"registry\": \"https://registry.npmjs.org/\"\n }\n}\n","import { z } from 'zod'\n\nexport const generateSchema = z.object({\n openApi: z.string().default('https://petstore.swagger.io/v2/swagger.json').describe('OpenAPI/Swagger spec'),\n plugin: z.enum(['typescript', 'react-query']).describe('Plugin to use'),\n operationId: z.string().nullable().optional().describe('Which operationId should be used'),\n // schemaName: z.string().nullable().optional().describe('Which schema should be used'),\n})\n","import { type Config, type KubbEvents, type Plugin, safeBuild } from '@kubb/core'\nimport { AsyncEventEmitter } from '@kubb/core/utils'\nimport { type Include, pluginOas } from '@kubb/plugin-oas'\nimport { pluginReactQuery } from '@kubb/plugin-react-query'\nimport { pluginTs } from '@kubb/plugin-ts'\nimport { createFile, FileProcessor } from '@kubb/react-fabric'\nimport type { CallToolResult } from '@modelcontextprotocol/sdk/types.d.ts'\nimport type { z } from 'zod'\nimport type { generateSchema } from '../schemas/generateSchema.ts'\n\nexport async function generate({ plugin, openApi, operationId }: z.infer<typeof generateSchema>): Promise<CallToolResult> {\n try {\n const include = [\n operationId\n ? {\n type: 'operationId',\n pattern: operationId,\n }\n : undefined,\n ].filter(Boolean) as Include[]\n\n const plugins = [\n pluginOas({ validate: false, generators: [] }),\n pluginTs({\n output: {\n path: 'typescript.ts',\n },\n generators: plugin === 'typescript' ? undefined : [],\n include,\n }),\n pluginReactQuery({\n output: {\n path: 'react-query.ts',\n },\n generators: plugin === 'react-query' ? undefined : [],\n include,\n }),\n ].filter(Boolean) as Plugin[]\n\n const fileProcessor = new FileProcessor()\n const definedConfig: Config = {\n root: process.cwd(),\n input: {\n data: openApi,\n },\n output: {\n path: './',\n write: false,\n barrelType: 'named',\n },\n plugins,\n }\n\n const { fabric, error } = await safeBuild({\n config: definedConfig,\n events: new AsyncEventEmitter<KubbEvents>(),\n })\n\n if (error) {\n return {\n content: [\n {\n type: 'text',\n text: error.message,\n },\n ],\n isError: true,\n }\n }\n\n const promises = fabric.files.map(async (file) => {\n return fileProcessor.parse(createFile(file))\n })\n\n const sources = await Promise.all(promises)\n\n return {\n content: [\n // {\n // type: 'resource',\n // resource: {}\n // },\n {\n type: 'text',\n text: `Config: ${JSON.stringify(definedConfig, null, 2)}`,\n },\n {\n type: 'text',\n text: `Files: ${JSON.stringify(sources, null, 2)}`,\n },\n ],\n }\n } catch (e) {\n const error = e as Error\n\n return {\n content: [\n {\n type: 'text',\n text: error.message,\n },\n ],\n isError: true,\n }\n }\n}\n","import process from 'node:process'\nimport { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'\nimport { version } from '../package.json'\nimport { generateSchema } from './schemas/generateSchema.ts'\nimport { generate } from './tools/generate.ts'\n\nexport async function startServer() {\n try {\n const transport = new StdioServerTransport()\n const server = new McpServer({\n name: 'Kubb',\n version,\n })\n\n server.tool('generate', 'generate an openAPI spec to a code snippet', generateSchema.shape, generate)\n\n await server.connect(transport)\n } catch (error) {\n console.error('Failed to start server:', error)\n process.exit(1)\n }\n}\n"],"mappings":";;;;;;;;;;;;cAEa;;;;ACAb,MAAa,iBAAiB,EAAE,OAAO;CACrC,SAAS,EAAE,QAAQ,CAAC,QAAQ,8CAA8C,CAAC,SAAS,uBAAuB;CAC3G,QAAQ,EAAE,KAAK,CAAC,cAAc,cAAc,CAAC,CAAC,SAAS,gBAAgB;CACvE,aAAa,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,mCAAmC;CAE3F,CAAC;;;;ACGF,eAAsB,SAAS,EAAE,QAAQ,SAAS,eAAwE;AACxH,KAAI;EACF,MAAM,UAAU,CACd,cACI;GACE,MAAM;GACN,SAAS;GACV,GACD,OACL,CAAC,OAAO,QAAQ;EAEjB,MAAM,UAAU;GACd,UAAU;IAAE,UAAU;IAAO,YAAY,EAAE;IAAE,CAAC;GAC9C,SAAS;IACP,QAAQ,EACN,MAAM,iBACP;IACD,YAAY,WAAW,eAAe,SAAY,EAAE;IACpD;IACD,CAAC;GACF,iBAAiB;IACf,QAAQ,EACN,MAAM,kBACP;IACD,YAAY,WAAW,gBAAgB,SAAY,EAAE;IACrD;IACD,CAAC;GACH,CAAC,OAAO,QAAQ;EAEjB,MAAM,gBAAgB,IAAI,eAAe;EACzC,MAAMA,gBAAwB;GAC5B,MAAM,QAAQ,KAAK;GACnB,OAAO,EACL,MAAM,SACP;GACD,QAAQ;IACN,MAAM;IACN,OAAO;IACP,YAAY;IACb;GACD;GACD;EAED,MAAM,EAAE,QAAQ,UAAU,MAAM,UAAU;GACxC,QAAQ;GACR,QAAQ,IAAI,mBAA+B;GAC5C,CAAC;AAEF,MAAI,MACF,QAAO;GACL,SAAS,CACP;IACE,MAAM;IACN,MAAM,MAAM;IACb,CACF;GACD,SAAS;GACV;EAGH,MAAM,WAAW,OAAO,MAAM,IAAI,OAAO,SAAS;AAChD,UAAO,cAAc,MAAM,WAAW,KAAK,CAAC;IAC5C;EAEF,MAAM,UAAU,MAAM,QAAQ,IAAI,SAAS;AAE3C,SAAO,EACL,SAAS,CAKP;GACE,MAAM;GACN,MAAM,WAAW,KAAK,UAAU,eAAe,MAAM,EAAE;GACxD,EACD;GACE,MAAM;GACN,MAAM,UAAU,KAAK,UAAU,SAAS,MAAM,EAAE;GACjD,CACF,EACF;UACM,GAAG;AAGV,SAAO;GACL,SAAS,CACP;IACE,MAAM;IACN,MANQ,EAMI;IACb,CACF;GACD,SAAS;GACV;;;;;;AChGL,eAAsB,cAAc;AAClC,KAAI;EACF,MAAM,YAAY,IAAI,sBAAsB;EAC5C,MAAM,SAAS,IAAI,UAAU;GAC3B,MAAM;GACN;GACD,CAAC;AAEF,SAAO,KAAK,YAAY,8CAA8C,eAAe,OAAO,SAAS;AAErG,QAAM,OAAO,QAAQ,UAAU;UACxB,OAAO;AACd,UAAQ,MAAM,2BAA2B,MAAM;AAC/C,YAAQ,KAAK,EAAE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"src-K3L7kaeB.cjs","names":["z","FileProcessor","definedConfig: Config","AsyncEventEmitter","StdioServerTransport","McpServer"],"sources":["../package.json","../src/schemas/generateSchema.ts","../src/tools/generate.ts","../src/index.ts"],"sourcesContent":["{\n \"name\": \"@kubb/mcp\",\n \"version\": \"4.12.2\",\n \"description\": \"Generator MCP\",\n \"keywords\": [\n \"typescript\",\n \"plugins\",\n \"kubb\",\n \"codegen\",\n \"MCP\"\n ],\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/kubb-labs/kubb.git\",\n \"directory\": \"packages/mcp\"\n },\n \"license\": \"MIT\",\n \"author\": \"stijnvanhulle\",\n \"sideEffects\": false,\n \"type\": \"module\",\n \"exports\": {\n \".\": {\n \"require\": \"./dist/index.cjs\",\n \"import\": \"./dist/index.js\"\n },\n \"./server\": {\n \"require\": \"./dist/server.cjs\",\n \"import\": \"./dist/server.js\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"main\": \"./dist/index.cjs\",\n \"module\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.cts\",\n \"typesVersions\": {\n \"*\": {\n \"server\": [\n \"./dist/server.d.ts\"\n ]\n }\n },\n \"files\": [\n \"src\",\n \"dist\",\n \"!/**/**.test.**\",\n \"!/**/__tests__/**\"\n ],\n \"size-limit\": [\n {\n \"path\": \"./dist/*.js\",\n \"limit\": \"510 KiB\",\n \"gzip\": true\n }\n ],\n \"scripts\": {\n \"build\": \"tsdown && size-limit\",\n \"start:mcp\": \"bun --watch ./src/server.ts\",\n \"debug:mcp\": \"npx -y @modelcontextprotocol/inspector node ./dist/server.js\",\n \"clean\": \"npx rimraf ./dist\",\n \"lint\": \"bun biome lint .\",\n \"lint:fix\": \"bun biome lint --fix --unsafe .\",\n \"release\": \"pnpm publish --no-git-check\",\n \"release:canary\": \"bash ../../.github/canary.sh && node ../../scripts/build.js canary && pnpm publish --no-git-check\",\n \"start\": \"tsdown --watch\",\n \"test\": \"vitest --passWithNoTests\",\n \"typecheck\": \"tsc -p ./tsconfig.json --noEmit --emitDeclarationOnly false\"\n },\n \"dependencies\": {\n \"@kubb/core\": \"workspace:*\",\n \"@kubb/plugin-client\": \"workspace:*\",\n \"@kubb/plugin-cypress\": \"workspace:*\",\n \"@kubb/plugin-faker\": \"workspace:*\",\n \"@kubb/plugin-mcp\": \"workspace:*\",\n \"@kubb/plugin-msw\": \"workspace:*\",\n \"@kubb/plugin-oas\": \"workspace:*\",\n \"@kubb/plugin-react-query\": \"workspace:*\",\n \"@kubb/plugin-redoc\": \"workspace:*\",\n \"@kubb/plugin-swr\": \"workspace:*\",\n \"@kubb/plugin-ts\": \"workspace:*\",\n \"@kubb/plugin-zod\": \"workspace:*\",\n \"@kubb/react-fabric\": \"catalog:\",\n \"@modelcontextprotocol/sdk\": \"1.21.1\",\n \"zod\": \"^3.25.76\"\n },\n \"peerDependencies\": {\n \"@kubb/react-fabric\": \"0.7.0\"\n },\n \"devDependencies\": {\n \"@kubb/plugin-oas\": \"workspace:*\"\n },\n \"engines\": {\n \"node\": \">=20\"\n },\n \"publishConfig\": {\n \"access\": \"public\",\n \"registry\": \"https://registry.npmjs.org/\"\n }\n}\n","import { z } from 'zod'\n\nexport const generateSchema = z.object({\n openApi: z.string().default('https://petstore.swagger.io/v2/swagger.json').describe('OpenAPI/Swagger spec'),\n plugin: z.enum(['typescript', 'react-query']).describe('Plugin to use'),\n operationId: z.string().nullable().optional().describe('Which operationId should be used'),\n // schemaName: z.string().nullable().optional().describe('Which schema should be used'),\n})\n","import { type Config, type KubbEvents, type Plugin, safeBuild } from '@kubb/core'\nimport { AsyncEventEmitter } from '@kubb/core/utils'\nimport { type Include, pluginOas } from '@kubb/plugin-oas'\nimport { pluginReactQuery } from '@kubb/plugin-react-query'\nimport { pluginTs } from '@kubb/plugin-ts'\nimport { createFile, FileProcessor } from '@kubb/react-fabric'\nimport type { CallToolResult } from '@modelcontextprotocol/sdk/types.d.ts'\nimport type { z } from 'zod'\nimport type { generateSchema } from '../schemas/generateSchema.ts'\n\nexport async function generate({ plugin, openApi, operationId }: z.infer<typeof generateSchema>): Promise<CallToolResult> {\n try {\n const include = [\n operationId\n ? {\n type: 'operationId',\n pattern: operationId,\n }\n : undefined,\n ].filter(Boolean) as Include[]\n\n const plugins = [\n pluginOas({ validate: false, generators: [] }),\n pluginTs({\n output: {\n path: 'typescript.ts',\n },\n generators: plugin === 'typescript' ? undefined : [],\n include,\n }),\n pluginReactQuery({\n output: {\n path: 'react-query.ts',\n },\n generators: plugin === 'react-query' ? undefined : [],\n include,\n }),\n ].filter(Boolean) as Plugin[]\n\n const fileProcessor = new FileProcessor()\n const definedConfig: Config = {\n root: process.cwd(),\n input: {\n data: openApi,\n },\n output: {\n path: './',\n write: false,\n barrelType: 'named',\n },\n plugins,\n }\n\n const { fabric, error } = await safeBuild({\n config: definedConfig,\n events: new AsyncEventEmitter<KubbEvents>(),\n })\n\n if (error) {\n return {\n content: [\n {\n type: 'text',\n text: error.message,\n },\n ],\n isError: true,\n }\n }\n\n const promises = fabric.files.map(async (file) => {\n return fileProcessor.parse(createFile(file))\n })\n\n const sources = await Promise.all(promises)\n\n return {\n content: [\n // {\n // type: 'resource',\n // resource: {}\n // },\n {\n type: 'text',\n text: `Config: ${JSON.stringify(definedConfig, null, 2)}`,\n },\n {\n type: 'text',\n text: `Files: ${JSON.stringify(sources, null, 2)}`,\n },\n ],\n }\n } catch (e) {\n const error = e as Error\n\n return {\n content: [\n {\n type: 'text',\n text: error.message,\n },\n ],\n isError: true,\n }\n }\n}\n","import process from 'node:process'\nimport { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'\nimport { version } from '../package.json'\nimport { generateSchema } from './schemas/generateSchema.ts'\nimport { generate } from './tools/generate.ts'\n\nexport async function startServer() {\n try {\n const transport = new StdioServerTransport()\n const server = new McpServer({\n name: 'Kubb',\n version,\n })\n\n server.tool('generate', 'generate an openAPI spec to a code snippet', generateSchema.shape, generate)\n\n await server.connect(transport)\n } catch (error) {\n console.error('Failed to start server:', error)\n process.exit(1)\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAEa;;;;ACAb,MAAa,iBAAiBA,MAAE,OAAO;CACrC,SAASA,MAAE,QAAQ,CAAC,QAAQ,8CAA8C,CAAC,SAAS,uBAAuB;CAC3G,QAAQA,MAAE,KAAK,CAAC,cAAc,cAAc,CAAC,CAAC,SAAS,gBAAgB;CACvE,aAAaA,MAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,mCAAmC;CAE3F,CAAC;;;;ACGF,eAAsB,SAAS,EAAE,QAAQ,SAAS,eAAwE;AACxH,KAAI;EACF,MAAM,UAAU,CACd,cACI;GACE,MAAM;GACN,SAAS;GACV,GACD,OACL,CAAC,OAAO,QAAQ;EAEjB,MAAM,UAAU;oCACJ;IAAE,UAAU;IAAO,YAAY,EAAE;IAAE,CAAC;kCACrC;IACP,QAAQ,EACN,MAAM,iBACP;IACD,YAAY,WAAW,eAAe,SAAY,EAAE;IACpD;IACD,CAAC;mDACe;IACf,QAAQ,EACN,MAAM,kBACP;IACD,YAAY,WAAW,gBAAgB,SAAY,EAAE;IACrD;IACD,CAAC;GACH,CAAC,OAAO,QAAQ;EAEjB,MAAM,gBAAgB,IAAIC,mCAAe;EACzC,MAAMC,gBAAwB;GAC5B,MAAM,QAAQ,KAAK;GACnB,OAAO,EACL,MAAM,SACP;GACD,QAAQ;IACN,MAAM;IACN,OAAO;IACP,YAAY;IACb;GACD;GACD;EAED,MAAM,EAAE,QAAQ,UAAU,iCAAgB;GACxC,QAAQ;GACR,QAAQ,IAAIC,qCAA+B;GAC5C,CAAC;AAEF,MAAI,MACF,QAAO;GACL,SAAS,CACP;IACE,MAAM;IACN,MAAM,MAAM;IACb,CACF;GACD,SAAS;GACV;EAGH,MAAM,WAAW,OAAO,MAAM,IAAI,OAAO,SAAS;AAChD,UAAO,cAAc,0CAAiB,KAAK,CAAC;IAC5C;EAEF,MAAM,UAAU,MAAM,QAAQ,IAAI,SAAS;AAE3C,SAAO,EACL,SAAS,CAKP;GACE,MAAM;GACN,MAAM,WAAW,KAAK,UAAU,eAAe,MAAM,EAAE;GACxD,EACD;GACE,MAAM;GACN,MAAM,UAAU,KAAK,UAAU,SAAS,MAAM,EAAE;GACjD,CACF,EACF;UACM,GAAG;AAGV,SAAO;GACL,SAAS,CACP;IACE,MAAM;IACN,MANQ,EAMI;IACb,CACF;GACD,SAAS;GACV;;;;;;AChGL,eAAsB,cAAc;AAClC,KAAI;EACF,MAAM,YAAY,IAAIC,iEAAsB;EAC5C,MAAM,SAAS,IAAIC,mDAAU;GAC3B,MAAM;GACN;GACD,CAAC;AAEF,SAAO,KAAK,YAAY,8CAA8C,eAAe,OAAO,SAAS;AAErG,QAAM,OAAO,QAAQ,UAAU;UACxB,OAAO;AACd,UAAQ,MAAM,2BAA2B,MAAM;AAC/C,uBAAQ,KAAK,EAAE"}