@tyvm/swagger-mcp 0.0.1 → 0.0.2

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/README.md CHANGED
@@ -5,26 +5,28 @@ Generate MCP (Model Context Protocol) servers from Swagger/OpenAPI specification
5
5
  ## Usage
6
6
 
7
7
  ```bash
8
- npx swagger-mcp-generator <swagger-url> [output-dir] [--start-stdio]
8
+ npx @tyvm/swagger-mcp <swagger-url> [output-dir] [--start-stdio]
9
9
  ```
10
10
 
11
+ By default, the output directory is generated based on the domain name of the swagger URL. For example, `https://api.dev.knowhow.tyvm.ai/docs/` would create `./generated/api_dev_knowhow_tyvm_ai/`.
12
+
11
13
  ### Examples
12
14
 
13
15
  ```bash
14
- # Generate MCP server from Swagger spec
15
- npx swagger-mcp-generator https://api.example.com/swagger.json
16
+ # Generate MCP server from Swagger spec (creates ./generated/api_example_com/)
17
+ npx @tyvm/swagger-mcp https://api.example.com/swagger.json
16
18
 
17
19
  # Generate with custom output directory
18
- npx swagger-mcp-generator https://api.example.com/swagger.json ./my-mcp-server
20
+ npx @tyvm/swagger-mcp https://api.example.com/swagger.json ./my-mcp-server
19
21
 
20
- # Generate and immediately start the server
21
- npx swagger-mcp-generator https://api.example.com/swagger.json --start-stdio
22
+ # Generate and immediately start the server (creates ./generated/api_example_com/)
23
+ npx @tyvm/swagger-mcp https://api.example.com/swagger.json --start-stdio
22
24
 
23
25
  # Generate with custom output directory and start the server
24
- npx swagger-mcp-generator https://api.example.com/swagger.json ./my-mcp-server --start-stdio
26
+ npx @tyvm/swagger-mcp https://api.example.com/swagger.json ./my-mcp-server --start-stdio
25
27
 
26
28
  # Generate with authentication headers
27
- HEADER_AUTHORIZATION="Bearer abc123" npx swagger-mcp-generator https://api.example.com/swagger.json
29
+ HEADER_AUTHORIZATION="Bearer abc123" npx @tyvm/swagger-mcp https://api.example.com/swagger.json
28
30
  ```
29
31
 
30
32
  ## Options
@@ -51,23 +53,23 @@ The tool creates:
51
53
 
52
54
  ## Using the Generated MCP Server
53
55
 
54
- After generation:
56
+ After generation (assuming URL `https://api.example.com/swagger.json`):
55
57
 
56
- 1. Install dependencies: `npm install`
57
- 2. Build the project: `npm run build`
58
- 3. Add to your MCP client configuration:
58
+ 1. Navigate to the generated directory: `cd ./generated/api_example_com/`
59
+ 2. Install dependencies: `npm install`
60
+ 3. Build the project: `npm run build`
61
+ 4. Add to your MCP client configuration:
59
62
 
60
63
  ```json
61
64
  {
62
- "servers": {
63
- "my-api": {
64
- "command": "node",
65
- "args": ["./path/to/generated/dist/mcp-server.js", "https://api.example.com/swagger.json"],
66
- "env": {
67
- "HEADER_AUTHORIZATION": "Bearer your-token-here"
68
- }
69
- }
70
- }
65
+ "name": "knowhow-web",
66
+ "command": "npx",
67
+ "args": [
68
+ "-y",
69
+ "@tyvm/swagger-mcp",
70
+ "https://api.dev.knowhow.tyvm.ai/docs/swagger.json",
71
+ "--start-stdio"
72
+ ]
71
73
  }
72
74
  ```
73
75
 
@@ -88,4 +90,4 @@ After generation:
88
90
 
89
91
  ## License
90
92
 
91
- MIT
93
+ MIT
@@ -1,4 +1,4 @@
1
- import { Tool, SwaggerSpec } from './types';
1
+ import { Tool, SwaggerSpec } from "./types";
2
2
  export declare class SwaggerMcpGenerator {
3
3
  private swaggerSpec;
4
4
  private baseUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAY,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAA8B;gBAEjC,UAAU,EAAE,MAAM;IAK9B,OAAO,CAAC,YAAY;IAed,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC;IAmB7C,OAAO,CAAC,4BAA4B;IAqCpC,OAAO,CAAC,gBAAgB;IAgBxB,aAAa,IAAI,IAAI,EAAE;IAkGvB,uBAAuB,IAAI,MAAM;IA+EjC,iBAAiB,IAAI,MAAM;IAqFrB,kBAAkB,CAAC,SAAS,GAAE,MAAsB;CAiE3D"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAY,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAA8B;gBAEjC,UAAU,EAAE,MAAM;IAK9B,OAAO,CAAC,YAAY;IAed,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC;IAqB7C,OAAO,CAAC,4BAA4B;IAwCpC,OAAO,CAAC,gBAAgB;IAsBxB,aAAa,IAAI,IAAI,EAAE;IAmGvB,uBAAuB,IAAI,MAAM;IAqFjC,iBAAiB,IAAI,MAAM;IAsGrB,kBAAkB,CAAC,SAAS,GAAE,MAAsB;CA4E3D"}
package/dist/generator.js CHANGED
@@ -16,14 +16,14 @@ class SwaggerMcpGenerator {
16
16
  setupHeaders() {
17
17
  // Parse environment variables for headers starting with HEADER_
18
18
  for (const [key, value] of Object.entries(process.env)) {
19
- if (key.startsWith('HEADER_')) {
19
+ if (key.startsWith("HEADER_")) {
20
20
  const headerName = key.substring(7); // Remove 'HEADER_' prefix
21
- this.headers[headerName] = value || '';
21
+ this.headers[headerName] = value || "";
22
22
  }
23
23
  }
24
24
  // Special handling for HEADER_AUTHORIZATION
25
25
  if (process.env.HEADER_AUTHORIZATION) {
26
- this.headers['Authorization'] = process.env.HEADER_AUTHORIZATION;
26
+ this.headers["Authorization"] = process.env.HEADER_AUTHORIZATION;
27
27
  }
28
28
  }
29
29
  async loadSwaggerSpec() {
@@ -31,42 +31,43 @@ class SwaggerMcpGenerator {
31
31
  console.log(`Loading Swagger spec from: ${this.baseUrl}`);
32
32
  const response = await axios_1.default.get(this.baseUrl, {
33
33
  headers: {
34
- 'Accept': 'application/json',
35
- ...this.headers
36
- }
34
+ Accept: "application/json",
35
+ ...this.headers,
36
+ },
37
37
  });
38
38
  this.swaggerSpec = response.data;
39
39
  console.log(`Loaded Swagger spec: ${this.swaggerSpec.info.title} v${this.swaggerSpec.info.version}`);
40
40
  return this.swaggerSpec;
41
41
  }
42
42
  catch (error) {
43
- console.error('Failed to load Swagger spec:', error.message);
43
+ console.error("Failed to load Swagger spec:", error.message);
44
44
  throw error;
45
45
  }
46
46
  }
47
47
  convertSwaggerTypeToToolProp(swaggerType) {
48
48
  if (!swaggerType) {
49
- return { type: 'string' };
49
+ return { type: "string" };
50
50
  }
51
51
  const toolProp = {
52
- type: swaggerType.type || 'string',
53
- description: swaggerType.description
52
+ type: swaggerType.type || "string",
53
+ description: swaggerType.description,
54
54
  };
55
55
  if (swaggerType.enum) {
56
56
  toolProp.enum = swaggerType.enum;
57
57
  }
58
- if (swaggerType.type === 'array' && swaggerType.items) {
58
+ if (swaggerType.type === "array" && swaggerType.items) {
59
59
  toolProp.items = {
60
- type: swaggerType.items.type || 'string'
60
+ type: swaggerType.items.type || "string",
61
61
  };
62
62
  if (swaggerType.items.properties) {
63
63
  toolProp.items.properties = {};
64
64
  for (const [key, value] of Object.entries(swaggerType.items.properties)) {
65
- toolProp.items.properties[key] = this.convertSwaggerTypeToToolProp(value);
65
+ toolProp.items.properties[key] =
66
+ this.convertSwaggerTypeToToolProp(value);
66
67
  }
67
68
  }
68
69
  }
69
- if (swaggerType.type === 'object' && swaggerType.properties) {
70
+ if (swaggerType.type === "object" && swaggerType.properties) {
70
71
  toolProp.properties = {};
71
72
  for (const [key, value] of Object.entries(swaggerType.properties)) {
72
73
  toolProp.properties[key] = this.convertSwaggerTypeToToolProp(value);
@@ -76,24 +77,27 @@ class SwaggerMcpGenerator {
76
77
  }
77
78
  resolveSchemaRef(ref) {
78
79
  // Handle OpenAPI 3.0 format
79
- if (ref.startsWith('#/components/schemas/')) {
80
- const schemaName = ref.replace('#/components/schemas/', '');
81
- return this.swaggerSpec.components?.schemas?.[schemaName] || { type: 'string' };
80
+ if (ref.startsWith("#/components/schemas/")) {
81
+ const schemaName = ref.replace("#/components/schemas/", "");
82
+ return (this.swaggerSpec.components?.schemas?.[schemaName] || { type: "string" });
82
83
  }
83
84
  // Handle Swagger 2.0 format
84
- if (ref.startsWith('#/definitions/')) {
85
- const schemaName = ref.replace('#/definitions/', '');
86
- return this.swaggerSpec.definitions?.[schemaName] || { type: 'string' };
85
+ if (ref.startsWith("#/definitions/")) {
86
+ const schemaName = ref.replace("#/definitions/", "");
87
+ return (this.swaggerSpec.definitions?.[schemaName] || {
88
+ type: "string",
89
+ });
87
90
  }
88
- return { type: 'string' };
91
+ return { type: "string" };
89
92
  }
90
93
  generateTools() {
91
94
  const tools = [];
92
95
  for (const [path, pathItem] of Object.entries(this.swaggerSpec.paths)) {
93
96
  for (const [method, operation] of Object.entries(pathItem)) {
94
- if (typeof operation !== 'object' || !operation)
97
+ if (typeof operation !== "object" || !operation)
95
98
  continue;
96
- const operationId = operation.operationId || `${method}_${path.replace(/[^a-zA-Z0-9]/g, '_')}`;
99
+ const operationId = operation.operationId ||
100
+ `${method}_${path.replace(/[^a-zA-Z0-9]/g, "_")}`;
97
101
  const summary = operation.summary || `${method.toUpperCase()} ${path}`;
98
102
  const description = operation.description || summary;
99
103
  const properties = {};
@@ -104,8 +108,8 @@ class SwaggerMcpGenerator {
104
108
  for (const param of pathParams) {
105
109
  const paramName = param.slice(1, -1); // Remove { and }
106
110
  properties[paramName] = {
107
- type: 'string',
108
- description: `Path parameter: ${paramName}`
111
+ type: "string",
112
+ description: `Path parameter: ${paramName}`,
109
113
  };
110
114
  required.push(paramName);
111
115
  }
@@ -113,7 +117,7 @@ class SwaggerMcpGenerator {
113
117
  // Add query parameters
114
118
  if (operation.parameters) {
115
119
  for (const param of operation.parameters) {
116
- if (param.in === 'query') {
120
+ if (param.in === "query") {
117
121
  // Handle OpenAPI 3.0 format (has schema property)
118
122
  let schema = param.schema || param;
119
123
  if (schema && schema.$ref) {
@@ -122,13 +126,15 @@ class SwaggerMcpGenerator {
122
126
  else if (!schema || !schema.type) {
123
127
  // Swagger 2.0 format (properties directly on param)
124
128
  schema = {
125
- type: param.type || 'string',
126
- description: param.description
129
+ type: param.type || "string",
130
+ description: param.description,
127
131
  };
128
132
  }
129
- properties[param.name] = this.convertSwaggerTypeToToolProp(schema);
133
+ properties[param.name] =
134
+ this.convertSwaggerTypeToToolProp(schema);
130
135
  if (!properties[param.name].description) {
131
- properties[param.name].description = param.description || `Query parameter: ${param.name}`;
136
+ properties[param.name].description =
137
+ param.description || `Query parameter: ${param.name}`;
132
138
  }
133
139
  if (param.required) {
134
140
  required.push(param.name);
@@ -139,7 +145,7 @@ class SwaggerMcpGenerator {
139
145
  // Add request body properties
140
146
  if (operation.requestBody) {
141
147
  const content = operation.requestBody.content;
142
- const jsonContent = content['application/json'];
148
+ const jsonContent = content["application/json"];
143
149
  if (jsonContent && jsonContent.schema) {
144
150
  let schema = jsonContent.schema;
145
151
  if (schema.$ref) {
@@ -156,16 +162,13 @@ class SwaggerMcpGenerator {
156
162
  }
157
163
  }
158
164
  const tool = {
159
- type: 'function',
160
- function: {
161
- name: operationId,
162
- description: description,
163
- parameters: {
164
- type: 'object',
165
- properties,
166
- required
167
- }
168
- }
165
+ name: operationId,
166
+ description: description,
167
+ inputSchema: {
168
+ type: "object",
169
+ properties,
170
+ required,
171
+ },
169
172
  };
170
173
  tools.push(tool);
171
174
  }
@@ -211,9 +214,10 @@ export class SwaggerClient {
211
214
  `;
212
215
  for (const [path, pathItem] of Object.entries(this.swaggerSpec.paths)) {
213
216
  for (const [method, operation] of Object.entries(pathItem)) {
214
- if (typeof operation !== 'object' || !operation)
217
+ if (typeof operation !== "object" || !operation)
215
218
  continue;
216
- const operationId = operation.operationId || `${method}_${path.replace(/[^a-zA-Z0-9]/g, '_')}`;
219
+ const operationId = operation.operationId ||
220
+ `${method}_${path.replace(/[^a-zA-Z0-9]/g, "_")}`;
217
221
  const hasRequestBody = operation.requestBody !== undefined;
218
222
  clientCode += `
219
223
  async ${operationId}(params: Record<string, any> = {}): Promise<any> {
@@ -229,10 +233,12 @@ export class SwaggerClient {
229
233
  }
230
234
  }
231
235
 
232
- ${hasRequestBody ? `
236
+ ${hasRequestBody
237
+ ? `
233
238
  const requestBody = { ...queryParams };
234
239
  const response = await this.api.${method}(path, requestBody);
235
- ` : `
240
+ `
241
+ : `
236
242
  const response = await this.api.${method}(path, { params: queryParams });
237
243
  `}
238
244
 
@@ -248,6 +254,7 @@ export class SwaggerClient {
248
254
  }
249
255
  generateMcpServer() {
250
256
  const tools = this.generateTools();
257
+ const swaggerUrl = this.baseUrl;
251
258
  return `#!/usr/bin/env node
252
259
 
253
260
  import { SwaggerClient } from './client';
@@ -256,7 +263,9 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
256
263
  import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
257
264
 
258
265
  const server = new Server({
259
- name: '${this.swaggerSpec.info.title.toLowerCase().replace(/[^a-z0-9]/g, '-')}-mcp',
266
+ name: '${this.swaggerSpec.info.title
267
+ .toLowerCase()
268
+ .replace(/[^a-z0-9]/g, "-")}-mcp',
260
269
  version: '${this.swaggerSpec.info.version}'
261
270
  }, {
262
271
  capabilities: {
@@ -273,15 +282,12 @@ for (const [key, value] of Object.entries(process.env)) {
273
282
  }
274
283
  }
275
284
 
276
- const swaggerUrl = process.argv[2];
277
- if (!swaggerUrl) {
278
- console.error('Usage: node mcp-server.js <swagger-url>');
279
- process.exit(1);
280
- }
281
-
285
+ const swaggerUrl = '${swaggerUrl}';
282
286
  const baseUrl = swaggerUrl.replace(/\\/swagger\\.json$/, '').replace(/\\/docs$/, '');
283
287
  const client = new SwaggerClient(baseUrl, headers);
284
288
 
289
+
290
+
285
291
  // Helper function to format responses consistently
286
292
  const formatResponse = async (methodName: string, args: any) => {
287
293
  try {
@@ -307,8 +313,10 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
307
313
  const { name, arguments: args } = request.params as any;
308
314
 
309
315
  switch (name) {
310
- ${tools.map(tool => ` case '${tool.function.name}':
311
- return formatResponse('${tool.function.name}', args);`).join('\n')}
316
+ ${tools
317
+ .map((tool) => ` case '${tool.name}':
318
+ return formatResponse('${tool.name}', args);`)
319
+ .join("\n")}
312
320
  default:
313
321
  throw new Error(\`Unknown tool: \${name}\`);
314
322
  }
@@ -316,7 +324,15 @@ ${tools.map(tool => ` case '${tool.function.name}':
316
324
 
317
325
  server.setRequestHandler(ListToolsRequestSchema, async (request) => {
318
326
  return {
319
- tools: ${JSON.stringify(tools, null, 2)}
327
+ tools: [
328
+ ${tools
329
+ .map((tool) => ` {
330
+ name: '${tool.name}',
331
+ description: '${tool.description}',
332
+ inputSchema: ${JSON.stringify(tool.inputSchema, null, 8)}
333
+ }`)
334
+ .join(",\n")}
335
+ ]
320
336
  };
321
337
  });
322
338
 
@@ -329,13 +345,13 @@ async function main() {
329
345
  main().catch(console.error);
330
346
  `;
331
347
  }
332
- async saveGeneratedFiles(outputDir = './generated') {
348
+ async saveGeneratedFiles(outputDir = "./generated") {
333
349
  // Create output directory if it doesn't exist
334
350
  if (!(0, fs_1.existsSync)(outputDir)) {
335
351
  (0, fs_1.mkdirSync)(outputDir, { recursive: true });
336
352
  }
337
353
  // Create src directory
338
- const srcDir = (0, path_1.join)(outputDir, 'src');
354
+ const srcDir = (0, path_1.join)(outputDir, "src");
339
355
  if (!(0, fs_1.existsSync)(srcDir)) {
340
356
  (0, fs_1.mkdirSync)(srcDir, { recursive: true });
341
357
  }
@@ -344,43 +360,47 @@ main().catch(console.error);
344
360
  const mcpServer = this.generateMcpServer();
345
361
  // Generate package.json for the output
346
362
  const packageJson = {
347
- name: `${this.swaggerSpec.info.title.toLowerCase().replace(/[^a-z0-9]/g, '-')}-mcp`,
348
- version: '1.0.0',
349
- main: 'dist/mcp-server.js',
363
+ name: `${this.swaggerSpec.info.title
364
+ .toLowerCase()
365
+ .replace(/[^a-z0-9]/g, "-")}-mcp`,
366
+ version: "1.0.0",
367
+ main: "dist/mcp-server.js",
350
368
  scripts: {
351
- start: 'node dist/mcp-server.js',
352
- build: 'tsc'
369
+ start: "node dist/mcp-server.js",
370
+ build: "tsc",
353
371
  },
354
372
  dependencies: {
355
- '@modelcontextprotocol/sdk': '^1.13.3',
356
- 'axios': '^1.5.0'
373
+ "@modelcontextprotocol/sdk": "^1.13.3",
374
+ axios: "^1.5.0",
357
375
  },
358
376
  devDependencies: {
359
- '@types/node': '^20.6.3',
360
- 'typescript': '^4.6.3'
361
- }
377
+ "@types/node": "^20.6.3",
378
+ typescript: "^4.6.3",
379
+ },
362
380
  };
363
381
  // Generate TypeScript config
364
382
  const tsConfig = {
365
383
  compilerOptions: {
366
- target: 'es2020',
367
- module: 'commonjs',
368
- lib: ['es2020'],
369
- outDir: './dist',
370
- rootDir: './src',
384
+ target: "es2020",
385
+ module: "commonjs",
386
+ lib: ["es2020"],
387
+ outDir: "./dist",
388
+ rootDir: "./src",
371
389
  strict: true,
372
390
  esModuleInterop: true,
373
391
  skipLibCheck: true,
374
- forceConsistentCasingInFileNames: true
392
+ forceConsistentCasingInFileNames: true,
375
393
  },
376
- include: ['src/**/*'],
377
- exclude: ['node_modules', 'dist']
394
+ include: ["src/**/*"],
395
+ exclude: ["node_modules", "dist"],
378
396
  };
379
397
  // Save all files
380
- (0, fs_1.writeFileSync)((0, path_1.join)(outputDir, 'package.json'), JSON.stringify(packageJson, null, 2));
381
- (0, fs_1.writeFileSync)((0, path_1.join)(outputDir, 'tsconfig.json'), JSON.stringify(tsConfig, null, 2));
382
- (0, fs_1.writeFileSync)((0, path_1.join)(srcDir, 'client.ts'), clientCode);
383
- (0, fs_1.writeFileSync)((0, path_1.join)(srcDir, 'mcp-server.ts'), mcpServer);
398
+ (0, fs_1.writeFileSync)((0, path_1.join)(outputDir, "package.json"), JSON.stringify(packageJson, null, 2));
399
+ (0, fs_1.writeFileSync)((0, path_1.join)(outputDir, "tsconfig.json"), JSON.stringify(tsConfig, null, 2));
400
+ (0, fs_1.writeFileSync)((0, path_1.join)(srcDir, "client.ts"), clientCode);
401
+ (0, fs_1.writeFileSync)((0, path_1.join)(srcDir, "mcp-server.ts"), mcpServer);
402
+ // Also write the root-level mcp-server.ts for convenience
403
+ (0, fs_1.writeFileSync)((0, path_1.join)(outputDir, "mcp-server.ts"), mcpServer);
384
404
  console.log(`Generated files saved to ${outputDir}/`);
385
405
  console.log(`- package.json: Project configuration`);
386
406
  console.log(`- tsconfig.json: TypeScript configuration`);
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -5,10 +5,27 @@ const child_process_1 = require("child_process");
5
5
  const path_1 = require("path");
6
6
  const fs_1 = require("fs");
7
7
  const generator_1 = require("./generator");
8
+ function generateDomainBasedDir(swaggerUrl, packageDir) {
9
+ try {
10
+ const url = new URL(swaggerUrl);
11
+ // Extract hostname and convert to valid directory name
12
+ const hostname = url.hostname;
13
+ // Replace dots and other special characters with underscores
14
+ const sanitizedDomain = hostname.replace(/[^a-zA-Z0-9]/g, '_');
15
+ return (0, path_1.join)(packageDir, 'generated', sanitizedDomain);
16
+ }
17
+ catch (error) {
18
+ // If URL parsing fails, fall back to generic generated directory
19
+ console.warn('Failed to parse URL for domain-based directory, using generic "generated" directory');
20
+ return (0, path_1.join)(packageDir, 'generated');
21
+ }
22
+ }
8
23
  function parseArgs(args) {
24
+ // Get the directory where this package is installed
25
+ const packageDir = (0, path_1.dirname)((0, path_1.dirname)(__filename));
9
26
  const parsed = {
10
27
  swaggerUrl: '',
11
- outputDir: './generated',
28
+ outputDir: '',
12
29
  startStdio: false
13
30
  };
14
31
  // Filter out the --start-stdio flag first
@@ -23,6 +40,10 @@ function parseArgs(args) {
23
40
  for (let i = 0; i < filteredArgs.length; i++) {
24
41
  if (!parsed.swaggerUrl) {
25
42
  parsed.swaggerUrl = filteredArgs[i];
43
+ // Set default output directory based on the swagger URL
44
+ if (!parsed.outputDir) {
45
+ parsed.outputDir = generateDomainBasedDir(parsed.swaggerUrl, packageDir);
46
+ }
26
47
  }
27
48
  else {
28
49
  // Second non-flag argument is the output directory
@@ -30,9 +51,10 @@ function parseArgs(args) {
30
51
  break; // Only take the first two non-flag arguments
31
52
  }
32
53
  }
54
+ console.log(`Default output directory: ${parsed.outputDir}`);
33
55
  return parsed;
34
56
  }
35
- async function buildAndRunServer(outputDir, swaggerUrl) {
57
+ async function buildAndRunServer(outputDir) {
36
58
  console.log('\nšŸ—ļø Building generated server...');
37
59
  // Resolve the output directory to an absolute path to avoid duplication
38
60
  const resolvedOutputDir = (0, path_1.resolve)(outputDir);
@@ -90,7 +112,7 @@ async function buildAndRunServer(outputDir, swaggerUrl) {
90
112
  if (!(0, fs_1.existsSync)(serverPath)) {
91
113
  throw new Error(`Built server not found at ${serverPath}`);
92
114
  }
93
- const serverProcess = (0, child_process_1.spawn)('node', [serverPath, swaggerUrl], {
115
+ const serverProcess = (0, child_process_1.spawn)('node', [serverPath], {
94
116
  cwd: resolvedOutputDir,
95
117
  stdio: 'inherit'
96
118
  });
@@ -114,17 +136,17 @@ async function buildAndRunServer(outputDir, swaggerUrl) {
114
136
  async function main() {
115
137
  const args = process.argv.slice(2);
116
138
  if (args.length === 0) {
117
- console.error('Usage: npx swagger-mcp-generator <swagger-url> [output-dir] [--start-stdio]');
139
+ console.error('Usage: npx @tyvm/swagger-mcp <swagger-url> [output-dir] [--start-stdio]');
118
140
  console.error('');
119
141
  console.error('Environment variables:');
120
142
  console.error(' HEADER_AUTHORIZATION=Bearer <token> - Set Authorization header');
121
143
  console.error(' HEADER_<NAME>=<value> - Set custom header');
122
144
  console.error('');
123
145
  console.error('Examples:');
124
- console.error(' npx swagger-mcp-generator https://api.example.com/swagger.json');
125
- console.error(' npx swagger-mcp-generator https://api.example.com/swagger.json --start-stdio');
126
- console.error(' npx swagger-mcp-generator https://api.example.com/swagger.json ./my-output --start-stdio');
127
- console.error(' HEADER_AUTHORIZATION="Bearer abc123" npx swagger-mcp-generator https://api.example.com/swagger.json');
146
+ console.error(' npx @tyvm/swagger-mcp https://api.example.com/swagger.json');
147
+ console.error(' npx @tyvm/swagger-mcp https://api.example.com/swagger.json --start-stdio');
148
+ console.error(' npx @tyvm/swagger-mcp https://api.example.com/swagger.json ./my-output --start-stdio');
149
+ console.error(' HEADER_AUTHORIZATION="Bearer abc123" npx @tyvm/swagger-mcp https://api.example.com/swagger.json');
128
150
  process.exit(1);
129
151
  }
130
152
  const { swaggerUrl, outputDir, startStdio } = parseArgs(args);
@@ -138,7 +160,7 @@ async function main() {
138
160
  if (startStdio) {
139
161
  console.log('Generation complete! Starting server...');
140
162
  // Build and run the server
141
- await buildAndRunServer(outputDir, swaggerUrl);
163
+ await buildAndRunServer(outputDir);
142
164
  }
143
165
  else {
144
166
  console.log('Generation complete!');
@@ -153,7 +175,7 @@ async function main() {
153
175
  console.log(' "servers": {');
154
176
  console.log(' "my-api": {');
155
177
  console.log(' "command": "node",');
156
- console.log(` "args": ["${outputDir}/dist/mcp-server.js", "${swaggerUrl}"],`);
178
+ console.log(` "args": ["${outputDir}/dist/mcp-server.js"],`);
157
179
  console.log(' "env": {');
158
180
  console.log(' "HEADER_AUTHORIZATION": "Bearer your-token-here"');
159
181
  console.log(' }');
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -13,17 +13,14 @@ export interface ToolProp {
13
13
  };
14
14
  }
15
15
  export interface Tool {
16
- type: 'function';
17
- function: {
18
- name: string;
19
- description: string;
20
- parameters: {
21
- type: 'object';
22
- properties: {
23
- [key: string]: ToolProp;
24
- };
25
- required: string[];
16
+ name: string;
17
+ description: string;
18
+ inputSchema: {
19
+ type: 'object';
20
+ properties: {
21
+ [key: string]: ToolProp;
26
22
  };
23
+ required: string[];
27
24
  };
28
25
  }
29
26
  export interface SwaggerSpec {
@@ -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,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ,CAAC;YACf,UAAU,EAAE;gBAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;aAAE,CAAC;YACxC,QAAQ,EAAE,MAAM,EAAE,CAAC;SACpB,CAAC;KACH,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,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,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,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"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@tyvm/swagger-mcp",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "Generate MCP servers from Swagger/OpenAPI specifications",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
7
- "swagger-mcp": "dist/index.js"
7
+ "@tyvm/swagger-mcp": "dist/index.js"
8
8
  },
9
9
  "scripts": {
10
10
  "build": "tsc",