@tyvm/swagger-mcp 0.0.13 → 0.0.16

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 (44) hide show
  1. package/README.md +7 -0
  2. package/dist/core/cache.d.ts +50 -0
  3. package/dist/core/cache.d.ts.map +1 -0
  4. package/dist/core/cache.js +104 -0
  5. package/dist/core/cache.js.map +1 -0
  6. package/dist/core/core.d.ts +11 -0
  7. package/dist/core/core.d.ts.map +1 -0
  8. package/dist/core/core.js +55 -0
  9. package/dist/core/core.js.map +1 -0
  10. package/dist/core/execute.d.ts +28 -0
  11. package/dist/core/execute.d.ts.map +1 -0
  12. package/dist/core/execute.js +159 -0
  13. package/dist/core/execute.js.map +1 -0
  14. package/dist/core/index.d.ts +30 -0
  15. package/dist/core/index.d.ts.map +1 -0
  16. package/dist/core/index.js +156 -0
  17. package/dist/core/index.js.map +1 -0
  18. package/dist/core/jsonrpc.d.ts +74 -0
  19. package/dist/core/jsonrpc.d.ts.map +1 -0
  20. package/dist/core/jsonrpc.js +148 -0
  21. package/dist/core/jsonrpc.js.map +1 -0
  22. package/dist/core/openapi.d.ts +20 -0
  23. package/dist/core/openapi.d.ts.map +1 -0
  24. package/dist/core/openapi.js +175 -0
  25. package/dist/core/openapi.js.map +1 -0
  26. package/dist/core/types.d.ts +126 -0
  27. package/dist/core/types.d.ts.map +1 -0
  28. package/dist/core/types.js +7 -0
  29. package/dist/core/types.js.map +1 -0
  30. package/dist/generator.d.ts +1 -3
  31. package/dist/generator.d.ts.map +1 -1
  32. package/dist/generator.js +8 -204
  33. package/dist/generator.js.map +1 -1
  34. package/dist/index.d.ts +4 -1
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +34 -0
  37. package/dist/index.js.map +1 -1
  38. package/dist/proxy-runtime.d.ts +27 -0
  39. package/dist/proxy-runtime.d.ts.map +1 -0
  40. package/dist/proxy-runtime.js +383 -0
  41. package/dist/proxy-runtime.js.map +1 -0
  42. package/dist/types.d.ts +6 -0
  43. package/dist/types.d.ts.map +1 -1
  44. package/package.json +1 -1
@@ -0,0 +1,383 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.statelessProxy = void 0;
7
+ const express_1 = __importDefault(require("express"));
8
+ const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
9
+ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
10
+ const axios_1 = __importDefault(require("axios"));
11
+ const core_1 = require("./core");
12
+ /**
13
+ * Dynamic SwaggerClient that works with any swagger spec at runtime
14
+ */
15
+ class DynamicSwaggerClient {
16
+ constructor(baseUrl, swaggerSpec, headers = {}) {
17
+ this.baseUrl = baseUrl;
18
+ this.swaggerSpec = swaggerSpec;
19
+ this.headers = {
20
+ 'Content-Type': 'application/json',
21
+ ...headers
22
+ };
23
+ }
24
+ replacePathParams(path, params) {
25
+ let result = path;
26
+ const pathParams = path.match(/{([^}]+)}/g);
27
+ if (pathParams) {
28
+ for (const param of pathParams) {
29
+ const paramName = param.slice(1, -1);
30
+ if (params[paramName] !== undefined) {
31
+ result = result.replace(param, params[paramName]);
32
+ delete params[paramName];
33
+ }
34
+ }
35
+ }
36
+ return result;
37
+ }
38
+ async callOperation(operationId, params = {}) {
39
+ // Find the operation in the swagger spec
40
+ let foundOperation = null;
41
+ let foundPath = '';
42
+ let foundMethod = '';
43
+ for (const [path, pathItem] of Object.entries(this.swaggerSpec.paths)) {
44
+ for (const [method, operation] of Object.entries(pathItem)) {
45
+ if (typeof operation !== 'object' || !operation)
46
+ continue;
47
+ const opId = operation.operationId || `${method}_${path.replace(/[^a-zA-Z0-9]/g, '_')}`;
48
+ if (opId === operationId) {
49
+ foundOperation = operation;
50
+ foundPath = path;
51
+ foundMethod = method;
52
+ break;
53
+ }
54
+ }
55
+ if (foundOperation)
56
+ break;
57
+ }
58
+ if (!foundOperation) {
59
+ throw new Error(`Operation ${operationId} not found in swagger spec`);
60
+ }
61
+ // Replace path parameters
62
+ const bodyOrQuery = { ...params };
63
+ const path = this.replacePathParams(foundPath, bodyOrQuery);
64
+ const fullUrl = this.baseUrl + path;
65
+ // Determine if this operation has a request body
66
+ const hasRequestBody = foundOperation.requestBody !== undefined;
67
+ // Make the HTTP request
68
+ try {
69
+ let response;
70
+ if (hasRequestBody) {
71
+ response = await (0, axios_1.default)({
72
+ method: foundMethod,
73
+ url: fullUrl,
74
+ data: bodyOrQuery,
75
+ headers: this.headers,
76
+ });
77
+ }
78
+ else {
79
+ response = await (0, axios_1.default)({
80
+ method: foundMethod,
81
+ url: fullUrl,
82
+ params: bodyOrQuery,
83
+ headers: this.headers,
84
+ });
85
+ }
86
+ return response.data;
87
+ }
88
+ catch (error) {
89
+ let errorMessage = `Error calling ${operationId}: ${error.message}`;
90
+ if (error.response) {
91
+ errorMessage += `\n\nHTTP Status: ${error.response.status} ${error.response.statusText || ''}`;
92
+ if (error.response.data) {
93
+ errorMessage += `\nResponse Body: ${typeof error.response.data === 'string' ? error.response.data : JSON.stringify(error.response.data, null, 2)}`;
94
+ }
95
+ }
96
+ else if (error.request) {
97
+ errorMessage += `\n\nNo response received from server`;
98
+ const requestDetails = {
99
+ method: error.request.method,
100
+ path: error.request.path,
101
+ timeout: error.request.timeout
102
+ };
103
+ errorMessage += `\nRequest details: ${JSON.stringify(requestDetails, null, 2)}`;
104
+ }
105
+ throw new Error(errorMessage);
106
+ }
107
+ }
108
+ }
109
+ /**
110
+ * Create a dynamic MCP server from a swagger spec
111
+ */
112
+ function createDynamicMcpServer(swaggerSpec, baseUrl, requestHeaders) {
113
+ const tools = (0, core_1.generateToolsFromSwagger)(swaggerSpec);
114
+ const serverName = swaggerSpec.info.title.toLowerCase().replace(/[^a-z0-9]/g, '-');
115
+ const serverVersion = swaggerSpec.info.version;
116
+ const server = new index_js_1.Server({
117
+ name: `${serverName}-mcp-proxy`,
118
+ version: serverVersion
119
+ }, {
120
+ capabilities: {
121
+ tools: {}
122
+ }
123
+ });
124
+ const client = new DynamicSwaggerClient(baseUrl, swaggerSpec, requestHeaders || {});
125
+ // Handle tool calls
126
+ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
127
+ const { name, arguments: args } = request.params;
128
+ try {
129
+ const result = await client.callOperation(name, args || {});
130
+ return {
131
+ content: [{
132
+ type: 'text',
133
+ text: typeof result === 'string' ? result : JSON.stringify(result, null, 2)
134
+ }]
135
+ };
136
+ }
137
+ catch (error) {
138
+ return {
139
+ content: [{
140
+ type: 'text',
141
+ text: error.message
142
+ }]
143
+ };
144
+ }
145
+ });
146
+ // Handle tool list requests
147
+ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async (request) => {
148
+ return {
149
+ tools: tools.map(tool => ({
150
+ name: tool.name,
151
+ description: tool.description,
152
+ inputSchema: tool.inputSchema
153
+ }))
154
+ };
155
+ });
156
+ return server;
157
+ }
158
+ /**
159
+ * Create Express middleware for stateless MCP proxy
160
+ *
161
+ * @param storage - SwaggerStorage implementation for database operations
162
+ * @returns Express router with proxy endpoints
163
+ */
164
+ function statelessProxy(storage) {
165
+ const router = express_1.default.Router();
166
+ // Middleware to parse JSON bodies
167
+ router.use(express_1.default.json({ limit: '10mb' }));
168
+ /**
169
+ * POST /register
170
+ * Register a swagger spec and return its hash
171
+ */
172
+ router.post('/register', async (req, res) => {
173
+ try {
174
+ const swaggerSpec = req.body;
175
+ // Basic validation
176
+ if (!swaggerSpec || typeof swaggerSpec !== 'object') {
177
+ return res.status(400).json({ error: 'Invalid swagger spec: must be a JSON object' });
178
+ }
179
+ if (!swaggerSpec.swagger && !swaggerSpec.openapi) {
180
+ return res.status(400).json({ error: 'Invalid swagger spec: missing swagger or openapi version' });
181
+ }
182
+ if (!swaggerSpec.info || !swaggerSpec.info.title) {
183
+ return res.status(400).json({ error: 'Invalid swagger spec: missing info.title' });
184
+ }
185
+ if (!swaggerSpec.paths || typeof swaggerSpec.paths !== 'object') {
186
+ return res.status(400).json({ error: 'Invalid swagger spec: missing or invalid paths' });
187
+ }
188
+ // Register the spec
189
+ const hash = await storage.registerSwagger(swaggerSpec);
190
+ res.json({ hash });
191
+ }
192
+ catch (error) {
193
+ console.error('Error registering swagger spec:', error);
194
+ res.status(500).json({ error: error.message || 'Failed to register swagger spec' });
195
+ }
196
+ });
197
+ /**
198
+ * GET /:swaggerHash
199
+ * Retrieve a swagger spec by hash
200
+ */
201
+ router.get('/:swaggerHash', async (req, res) => {
202
+ try {
203
+ const { swaggerHash } = req.params;
204
+ if (!swaggerHash) {
205
+ return res.status(400).json({ error: 'Missing swaggerHash parameter' });
206
+ }
207
+ const swaggerSpec = await storage.getSwagger(swaggerHash);
208
+ if (!swaggerSpec) {
209
+ return res.status(404).json({ error: 'Swagger spec not found' });
210
+ }
211
+ res.json(swaggerSpec);
212
+ }
213
+ catch (error) {
214
+ console.error('Error retrieving swagger spec:', error);
215
+ res.status(500).json({ error: error.message || 'Failed to retrieve swagger spec' });
216
+ }
217
+ });
218
+ /**
219
+ * POST /:swaggerHash?baseUrl=xxx
220
+ * Serve MCP server for the swagger spec at the given baseUrl
221
+ *
222
+ * This endpoint accepts MCP protocol messages in the request body
223
+ * and returns MCP protocol responses.
224
+ */
225
+ router.post('/:swaggerHash', async (req, res) => {
226
+ try {
227
+ const { swaggerHash } = req.params;
228
+ const { baseUrl } = req.query;
229
+ if (!swaggerHash) {
230
+ return res.status(400).json({ error: 'Missing swaggerHash parameter' });
231
+ }
232
+ if (!baseUrl || typeof baseUrl !== 'string') {
233
+ return res.status(400).json({ error: 'Missing or invalid baseUrl query parameter' });
234
+ }
235
+ // Retrieve swagger spec
236
+ const swaggerSpec = await storage.getSwagger(swaggerHash);
237
+ if (!swaggerSpec) {
238
+ return res.status(404).json({ error: 'Swagger spec not found' });
239
+ }
240
+ // Validate baseUrl for SSRF protection
241
+ const validationError = (0, core_1.validateBaseUrl)(baseUrl, swaggerSpec);
242
+ if (validationError) {
243
+ return res.status(400).json({ error: validationError });
244
+ }
245
+ // Extract authentication headers to pass through
246
+ const authHeaders = {};
247
+ const headerKeys = ['authorization', 'x-api-key', 'api-key', 'apikey', 'x-auth-token'];
248
+ for (const key of headerKeys) {
249
+ const value = req.headers[key.toLowerCase()];
250
+ if (value) {
251
+ authHeaders[key] = Array.isArray(value) ? value[0] : value;
252
+ }
253
+ }
254
+ // Create dynamic MCP server
255
+ const mcpServer = createDynamicMcpServer(swaggerSpec, baseUrl, authHeaders);
256
+ // Parse MCP request from body
257
+ const mcpRequest = req.body;
258
+ if (!mcpRequest || typeof mcpRequest !== 'object') {
259
+ return res.status(400).json({ error: 'Invalid MCP request: must be a JSON object' });
260
+ }
261
+ // Handle MCP protocol messages
262
+ // The MCP server expects messages in JSON-RPC 2.0 format
263
+ if (!mcpRequest.jsonrpc || mcpRequest.jsonrpc !== '2.0') {
264
+ return res.status(400).json({
265
+ jsonrpc: '2.0',
266
+ id: mcpRequest.id || null,
267
+ error: {
268
+ code: -32600,
269
+ message: 'Invalid Request: missing or invalid jsonrpc version'
270
+ }
271
+ });
272
+ }
273
+ if (!mcpRequest.method || typeof mcpRequest.method !== 'string') {
274
+ return res.status(400).json({
275
+ jsonrpc: '2.0',
276
+ id: mcpRequest.id || null,
277
+ error: {
278
+ code: -32600,
279
+ message: 'Invalid Request: missing or invalid method'
280
+ }
281
+ });
282
+ }
283
+ // Route the request to the appropriate handler
284
+ let response;
285
+ try {
286
+ if (mcpRequest.method === 'tools/list') {
287
+ const tools = (0, core_1.generateToolsFromSwagger)(swaggerSpec);
288
+ response = {
289
+ jsonrpc: '2.0',
290
+ id: mcpRequest.id,
291
+ result: {
292
+ tools: tools.map(tool => ({
293
+ name: tool.name,
294
+ description: tool.description,
295
+ inputSchema: tool.inputSchema
296
+ }))
297
+ }
298
+ };
299
+ }
300
+ else if (mcpRequest.method === 'tools/call') {
301
+ const params = mcpRequest.params || {};
302
+ const { name, arguments: args } = params;
303
+ if (!name) {
304
+ return res.status(400).json({
305
+ jsonrpc: '2.0',
306
+ id: mcpRequest.id,
307
+ error: {
308
+ code: -32602,
309
+ message: 'Invalid params: missing tool name'
310
+ }
311
+ });
312
+ }
313
+ const client = new DynamicSwaggerClient(baseUrl, swaggerSpec, authHeaders);
314
+ const result = await client.callOperation(name, args || {});
315
+ response = {
316
+ jsonrpc: '2.0',
317
+ id: mcpRequest.id,
318
+ result: {
319
+ content: [{
320
+ type: 'text',
321
+ text: typeof result === 'string' ? result : JSON.stringify(result, null, 2)
322
+ }]
323
+ }
324
+ };
325
+ }
326
+ else if (mcpRequest.method === 'initialize') {
327
+ // Handle MCP initialization
328
+ response = {
329
+ jsonrpc: '2.0',
330
+ id: mcpRequest.id,
331
+ result: {
332
+ protocolVersion: '2024-11-05',
333
+ capabilities: {
334
+ tools: {}
335
+ },
336
+ serverInfo: {
337
+ name: `${swaggerSpec.info.title.toLowerCase().replace(/[^a-z0-9]/g, '-')}-mcp-proxy`,
338
+ version: swaggerSpec.info.version
339
+ }
340
+ }
341
+ };
342
+ }
343
+ else {
344
+ // Unsupported method
345
+ response = {
346
+ jsonrpc: '2.0',
347
+ id: mcpRequest.id,
348
+ error: {
349
+ code: -32601,
350
+ message: `Method not found: ${mcpRequest.method}`
351
+ }
352
+ };
353
+ }
354
+ }
355
+ catch (error) {
356
+ console.error('Error handling MCP request:', error);
357
+ response = {
358
+ jsonrpc: '2.0',
359
+ id: mcpRequest.id,
360
+ error: {
361
+ code: -32603,
362
+ message: error.message || 'Internal error'
363
+ }
364
+ };
365
+ }
366
+ res.json(response);
367
+ }
368
+ catch (error) {
369
+ console.error('Error in MCP proxy:', error);
370
+ res.status(500).json({
371
+ jsonrpc: '2.0',
372
+ id: req.body?.id || null,
373
+ error: {
374
+ code: -32603,
375
+ message: error.message || 'Internal server error'
376
+ }
377
+ });
378
+ }
379
+ });
380
+ return router;
381
+ }
382
+ exports.statelessProxy = statelessProxy;
383
+ //# sourceMappingURL=proxy-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy-runtime.js","sourceRoot":"","sources":["../src/proxy-runtime.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -24,6 +24,11 @@ export interface Tool {
24
24
  };
25
25
  }
26
26
  export interface SwaggerSpec {
27
+ swagger?: string;
28
+ openapi?: string;
29
+ host?: string;
30
+ basePath?: string;
31
+ schemes?: string[];
27
32
  info: {
28
33
  title: string;
29
34
  version: string;
@@ -57,6 +62,7 @@ export interface SwaggerSpec {
57
62
  };
58
63
  };
59
64
  };
65
+ responses?: any;
60
66
  };
61
67
  };
62
68
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;SAAE,CAAC;KAC1C,CAAC;IACF,UAAU,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,CAAC;CAC1C;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;SAAE,CAAC;QACxC,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;KACpC,CAAC,CAAC;IACH,KAAK,EAAE;QACL,CAAC,IAAI,EAAE,MAAM,GAAG;YACd,CAAC,MAAM,EAAE,MAAM,GAAG;gBAChB,WAAW,CAAC,EAAE,MAAM,CAAC;gBACrB,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,WAAW,CAAC,EAAE,MAAM,CAAC;gBACrB,UAAU,CAAC,EAAE,KAAK,CAAC;oBACjB,IAAI,EAAE,MAAM,CAAC;oBACb,EAAE,EAAE,MAAM,CAAC;oBACX,QAAQ,CAAC,EAAE,OAAO,CAAC;oBACnB,MAAM,CAAC,EAAE,GAAG,CAAC;oBACb,IAAI,CAAC,EAAE,MAAM,CAAC;oBACd,WAAW,CAAC,EAAE,MAAM,CAAC;iBACtB,CAAC,CAAC;gBACH,WAAW,CAAC,EAAE;oBACZ,OAAO,EAAE;wBACP,CAAC,SAAS,EAAE,MAAM,GAAG;4BACnB,MAAM,EAAE,GAAG,CAAC;yBACb,CAAC;qBACH,CAAC;iBACH,CAAC;aACH,CAAC;SACH,CAAC;KACH,CAAC;IACF,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE;YACR,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;SACrB,CAAC;KACH,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;KACrB,CAAC;CACH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;SAAE,CAAC;KAC1C,CAAC;IACF,UAAU,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,CAAC;CAC1C;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;SAAE,CAAC;QACxC,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;KACpC,CAAC,CAAC;IACH,KAAK,EAAE;QACL,CAAC,IAAI,EAAE,MAAM,GAAG;YACd,CAAC,MAAM,EAAE,MAAM,GAAG;gBAChB,WAAW,CAAC,EAAE,MAAM,CAAC;gBACrB,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,WAAW,CAAC,EAAE,MAAM,CAAC;gBACrB,UAAU,CAAC,EAAE,KAAK,CAAC;oBACjB,IAAI,EAAE,MAAM,CAAC;oBACb,EAAE,EAAE,MAAM,CAAC;oBACX,QAAQ,CAAC,EAAE,OAAO,CAAC;oBACnB,MAAM,CAAC,EAAE,GAAG,CAAC;oBACb,IAAI,CAAC,EAAE,MAAM,CAAC;oBACd,WAAW,CAAC,EAAE,MAAM,CAAC;iBACtB,CAAC,CAAC;gBACH,WAAW,CAAC,EAAE;oBACZ,OAAO,EAAE;wBACP,CAAC,SAAS,EAAE,MAAM,GAAG;4BACnB,MAAM,EAAE,GAAG,CAAC;yBACb,CAAC;qBACH,CAAC;iBACH,CAAC;gBACF,SAAS,CAAC,EAAE,GAAG,CAAC;aACjB,CAAC;SACH,CAAC;KACH,CAAC;IACF,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE;YACR,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;SACrB,CAAC;KACH,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;KACrB,CAAC;CACH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tyvm/swagger-mcp",
3
- "version": "0.0.13",
3
+ "version": "0.0.16",
4
4
  "description": "Generate MCP servers from Swagger/OpenAPI specifications",
5
5
  "main": "dist/index.js",
6
6
  "bin": {