@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 +24 -22
- package/dist/generator.d.ts +1 -1
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js +99 -79
- package/dist/generator.js.map +1 -1
- package/dist/index.js +32 -10
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +7 -10
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
57
|
-
2.
|
|
58
|
-
3.
|
|
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
|
-
"
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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
|
package/dist/generator.d.ts
CHANGED
package/dist/generator.d.ts.map
CHANGED
|
@@ -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;
|
|
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(
|
|
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[
|
|
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
|
-
|
|
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(
|
|
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:
|
|
49
|
+
return { type: "string" };
|
|
50
50
|
}
|
|
51
51
|
const toolProp = {
|
|
52
|
-
type: swaggerType.type ||
|
|
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 ===
|
|
58
|
+
if (swaggerType.type === "array" && swaggerType.items) {
|
|
59
59
|
toolProp.items = {
|
|
60
|
-
type: swaggerType.items.type ||
|
|
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] =
|
|
65
|
+
toolProp.items.properties[key] =
|
|
66
|
+
this.convertSwaggerTypeToToolProp(value);
|
|
66
67
|
}
|
|
67
68
|
}
|
|
68
69
|
}
|
|
69
|
-
if (swaggerType.type ===
|
|
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(
|
|
80
|
-
const schemaName = ref.replace(
|
|
81
|
-
return this.swaggerSpec.components?.schemas?.[schemaName] || { type:
|
|
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(
|
|
85
|
-
const schemaName = ref.replace(
|
|
86
|
-
return this.swaggerSpec.definitions?.[schemaName] || {
|
|
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:
|
|
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 !==
|
|
97
|
+
if (typeof operation !== "object" || !operation)
|
|
95
98
|
continue;
|
|
96
|
-
const operationId = operation.operationId ||
|
|
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:
|
|
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 ===
|
|
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 ||
|
|
126
|
-
description: param.description
|
|
129
|
+
type: param.type || "string",
|
|
130
|
+
description: param.description,
|
|
127
131
|
};
|
|
128
132
|
}
|
|
129
|
-
properties[param.name] =
|
|
133
|
+
properties[param.name] =
|
|
134
|
+
this.convertSwaggerTypeToToolProp(schema);
|
|
130
135
|
if (!properties[param.name].description) {
|
|
131
|
-
properties[param.name].description =
|
|
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[
|
|
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
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
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 !==
|
|
217
|
+
if (typeof operation !== "object" || !operation)
|
|
215
218
|
continue;
|
|
216
|
-
const operationId = operation.operationId ||
|
|
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
|
|
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 =
|
|
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
|
|
311
|
-
|
|
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:
|
|
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 =
|
|
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,
|
|
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
|
|
348
|
-
|
|
349
|
-
|
|
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:
|
|
352
|
-
build:
|
|
369
|
+
start: "node dist/mcp-server.js",
|
|
370
|
+
build: "tsc",
|
|
353
371
|
},
|
|
354
372
|
dependencies: {
|
|
355
|
-
|
|
356
|
-
|
|
373
|
+
"@modelcontextprotocol/sdk": "^1.13.3",
|
|
374
|
+
axios: "^1.5.0",
|
|
357
375
|
},
|
|
358
376
|
devDependencies: {
|
|
359
|
-
|
|
360
|
-
|
|
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:
|
|
367
|
-
module:
|
|
368
|
-
lib: [
|
|
369
|
-
outDir:
|
|
370
|
-
rootDir:
|
|
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: [
|
|
377
|
-
exclude: [
|
|
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,
|
|
381
|
-
(0, fs_1.writeFileSync)((0, path_1.join)(outputDir,
|
|
382
|
-
(0, fs_1.writeFileSync)((0, path_1.join)(srcDir,
|
|
383
|
-
(0, fs_1.writeFileSync)((0, path_1.join)(srcDir,
|
|
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`);
|
package/dist/generator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,2BAA0D;AAC1D,+BAA4B;AAG5B,MAAa,mBAAmB;IAK9B,YAAY,UAAkB;QAFtB,YAAO,GAA2B,EAAE,CAAC;QAG3C,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;QAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,YAAY;QAClB,gEAAgE;QAChE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACtD,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;gBAC7B,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;gBAC/D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;aACxC;SACF;QAED,4CAA4C;QAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE;YACpC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;SAClE;IACH,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI;YACF,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE;gBAC7C,OAAO,EAAE;oBACP,
|
|
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: '
|
|
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
|
|
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
|
|
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
|
|
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
|
|
125
|
-
console.error(' npx swagger-mcp
|
|
126
|
-
console.error(' npx swagger-mcp
|
|
127
|
-
console.error(' HEADER_AUTHORIZATION="Bearer abc123" npx swagger-mcp
|
|
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
|
|
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"
|
|
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":";;;AAEA,iDAAsC;AACtC,+
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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 {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -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,
|
|
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.
|
|
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",
|