swagger-parser-mcp-server 1.0.6 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +126 -206
- package/dist/index.js.map +1 -1
- package/dist/schemas.d.ts +58 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +32 -0
- package/dist/schemas.js.map +1 -0
- package/dist/tests/edgeCases.test.d.ts +2 -0
- package/dist/tests/edgeCases.test.d.ts.map +1 -0
- package/dist/tests/edgeCases.test.js +364 -0
- package/dist/tests/edgeCases.test.js.map +1 -0
- package/dist/tests/integration.test.d.ts +2 -0
- package/dist/tests/integration.test.d.ts.map +1 -0
- package/dist/tests/integration.test.js +382 -0
- package/dist/tests/integration.test.js.map +1 -0
- package/dist/tests/realWorldValidation.test.d.ts +2 -0
- package/dist/tests/realWorldValidation.test.d.ts.map +1 -0
- package/dist/tests/realWorldValidation.test.js +398 -0
- package/dist/tests/realWorldValidation.test.js.map +1 -0
- package/dist/tests/schemaResolver.test.d.ts +2 -0
- package/dist/tests/schemaResolver.test.d.ts.map +1 -0
- package/dist/tests/schemaResolver.test.js +322 -0
- package/dist/tests/schemaResolver.test.js.map +1 -0
- package/dist/utils/schemaResolver.d.ts +34 -0
- package/dist/utils/schemaResolver.d.ts.map +1 -0
- package/dist/utils/schemaResolver.js +255 -0
- package/dist/utils/schemaResolver.js.map +1 -0
- package/dist/utils/swaggerCache.d.ts +53 -0
- package/dist/utils/swaggerCache.d.ts.map +1 -0
- package/dist/utils/swaggerCache.js +146 -0
- package/dist/utils/swaggerCache.js.map +1 -0
- package/dist/utils/types.d.ts +73 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/types.js +20 -0
- package/dist/utils/types.js.map +1 -0
- package/package.json +31 -9
package/dist/index.js
CHANGED
|
@@ -1,16 +1,25 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
// swagger-parser-server.ts
|
|
3
|
-
import { Server } from
|
|
4
|
-
import { StdioServerTransport } from
|
|
5
|
-
import { CallToolRequestSchema, ListToolsRequestSchema
|
|
6
|
-
import
|
|
3
|
+
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
4
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
5
|
+
import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
6
|
+
import { SwaggerCache } from './utils/swaggerCache.js';
|
|
7
|
+
import { SchemaResolver } from './utils/schemaResolver.js';
|
|
8
|
+
import { loadSwaggerSchema, getControllersSchema, getPathsByControllerSchema, getPathDetailsSchema, resolveSchemaSchema, } from './schemas.js';
|
|
7
9
|
class SwaggerParserServer {
|
|
8
10
|
server;
|
|
9
|
-
swaggerCache
|
|
11
|
+
swaggerCache;
|
|
12
|
+
schemaResolver;
|
|
10
13
|
constructor() {
|
|
14
|
+
this.swaggerCache = new SwaggerCache();
|
|
15
|
+
this.schemaResolver = new SchemaResolver({
|
|
16
|
+
maxDepth: 10,
|
|
17
|
+
includeCircularRefs: false, // Prevent stack overflow by default
|
|
18
|
+
circularRefPlaceholder: '[Circular Reference]',
|
|
19
|
+
});
|
|
11
20
|
this.server = new Server({
|
|
12
|
-
name:
|
|
13
|
-
version:
|
|
21
|
+
name: 'swagger-parser-server',
|
|
22
|
+
version: '1.0.0',
|
|
14
23
|
}, {
|
|
15
24
|
capabilities: {
|
|
16
25
|
tools: {},
|
|
@@ -20,93 +29,32 @@ class SwaggerParserServer {
|
|
|
20
29
|
}
|
|
21
30
|
setupHandlers() {
|
|
22
31
|
// 도구 목록 제공
|
|
23
|
-
this.server.setRequestHandler(ListToolsRequestSchema,
|
|
32
|
+
this.server.setRequestHandler(ListToolsRequestSchema, () => ({
|
|
24
33
|
tools: [
|
|
25
34
|
{
|
|
26
|
-
name:
|
|
27
|
-
description:
|
|
28
|
-
inputSchema:
|
|
29
|
-
type: "object",
|
|
30
|
-
properties: {
|
|
31
|
-
url: {
|
|
32
|
-
type: "string",
|
|
33
|
-
description: "Swagger JSON URL",
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
required: ["url"],
|
|
37
|
-
},
|
|
35
|
+
name: 'load_swagger',
|
|
36
|
+
description: 'Swagger/OpenAPI JSON URL을 로드합니다',
|
|
37
|
+
inputSchema: loadSwaggerSchema,
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
|
-
name:
|
|
41
|
-
description:
|
|
42
|
-
inputSchema:
|
|
43
|
-
type: "object",
|
|
44
|
-
properties: {
|
|
45
|
-
url: {
|
|
46
|
-
type: "string",
|
|
47
|
-
description: "Swagger JSON URL",
|
|
48
|
-
},
|
|
49
|
-
},
|
|
50
|
-
required: ["url"],
|
|
51
|
-
},
|
|
40
|
+
name: 'get_controllers',
|
|
41
|
+
description: '모든 컨트롤러(태그) 목록을 가져옵니다',
|
|
42
|
+
inputSchema: getControllersSchema,
|
|
52
43
|
},
|
|
53
44
|
{
|
|
54
|
-
name:
|
|
55
|
-
description:
|
|
56
|
-
inputSchema:
|
|
57
|
-
type: "object",
|
|
58
|
-
properties: {
|
|
59
|
-
url: {
|
|
60
|
-
type: "string",
|
|
61
|
-
description: "Swagger JSON URL",
|
|
62
|
-
},
|
|
63
|
-
controller: {
|
|
64
|
-
type: "string",
|
|
65
|
-
description: "컨트롤러 이름 (태그)",
|
|
66
|
-
},
|
|
67
|
-
},
|
|
68
|
-
required: ["url", "controller"],
|
|
69
|
-
},
|
|
45
|
+
name: 'get_paths_by_controller',
|
|
46
|
+
description: '특정 컨트롤러의 모든 path를 가져옵니다',
|
|
47
|
+
inputSchema: getPathsByControllerSchema,
|
|
70
48
|
},
|
|
71
49
|
{
|
|
72
|
-
name:
|
|
73
|
-
description:
|
|
74
|
-
inputSchema:
|
|
75
|
-
type: "object",
|
|
76
|
-
properties: {
|
|
77
|
-
url: {
|
|
78
|
-
type: "string",
|
|
79
|
-
description: "Swagger JSON URL",
|
|
80
|
-
},
|
|
81
|
-
path: {
|
|
82
|
-
type: "string",
|
|
83
|
-
description: "API path (예: /users/{id})",
|
|
84
|
-
},
|
|
85
|
-
method: {
|
|
86
|
-
type: "string",
|
|
87
|
-
description: "HTTP method (get, post, put, delete 등)",
|
|
88
|
-
},
|
|
89
|
-
},
|
|
90
|
-
required: ["url", "path", "method"],
|
|
91
|
-
},
|
|
50
|
+
name: 'get_path_details',
|
|
51
|
+
description: '특정 path의 상세 정보를 가져옵니다',
|
|
52
|
+
inputSchema: getPathDetailsSchema,
|
|
92
53
|
},
|
|
93
54
|
{
|
|
94
|
-
name:
|
|
95
|
-
description:
|
|
96
|
-
inputSchema:
|
|
97
|
-
type: "object",
|
|
98
|
-
properties: {
|
|
99
|
-
url: {
|
|
100
|
-
type: "string",
|
|
101
|
-
description: "Swagger JSON URL",
|
|
102
|
-
},
|
|
103
|
-
ref: {
|
|
104
|
-
type: "string",
|
|
105
|
-
description: "$ref 경로 (예: #/components/schemas/User)",
|
|
106
|
-
},
|
|
107
|
-
},
|
|
108
|
-
required: ["url", "ref"],
|
|
109
|
-
},
|
|
55
|
+
name: 'resolve_schema',
|
|
56
|
+
description: '$ref를 해결하여 실제 스키마를 가져옵니다',
|
|
57
|
+
inputSchema: resolveSchemaSchema,
|
|
110
58
|
},
|
|
111
59
|
],
|
|
112
60
|
}));
|
|
@@ -115,26 +63,37 @@ class SwaggerParserServer {
|
|
|
115
63
|
const { name, arguments: args } = request.params;
|
|
116
64
|
try {
|
|
117
65
|
switch (name) {
|
|
118
|
-
case
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
case
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
case
|
|
127
|
-
|
|
66
|
+
case 'load_swagger': {
|
|
67
|
+
const validatedArgs = loadSwaggerSchema.parse(args);
|
|
68
|
+
return await this.loadSwagger(validatedArgs.url);
|
|
69
|
+
}
|
|
70
|
+
case 'get_controllers': {
|
|
71
|
+
const validatedArgs = getControllersSchema.parse(args);
|
|
72
|
+
return await this.getControllers(validatedArgs.url);
|
|
73
|
+
}
|
|
74
|
+
case 'get_paths_by_controller': {
|
|
75
|
+
const validatedArgs = getPathsByControllerSchema.parse(args);
|
|
76
|
+
return await this.getPathsByController(validatedArgs.url, validatedArgs.controller);
|
|
77
|
+
}
|
|
78
|
+
case 'get_path_details': {
|
|
79
|
+
const validatedArgs = getPathDetailsSchema.parse(args);
|
|
80
|
+
return await this.getPathDetails(validatedArgs.url, validatedArgs.path, validatedArgs.method);
|
|
81
|
+
}
|
|
82
|
+
case 'resolve_schema': {
|
|
83
|
+
const validatedArgs = resolveSchemaSchema.parse(args);
|
|
84
|
+
return await this.resolveSchema(validatedArgs.url, validatedArgs.ref);
|
|
85
|
+
}
|
|
128
86
|
default:
|
|
129
87
|
throw new Error(`Unknown tool: ${name}`);
|
|
130
88
|
}
|
|
131
89
|
}
|
|
132
90
|
catch (error) {
|
|
91
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
|
|
133
92
|
return {
|
|
134
93
|
content: [
|
|
135
94
|
{
|
|
136
|
-
type:
|
|
137
|
-
text: `Error: ${
|
|
95
|
+
type: 'text',
|
|
96
|
+
text: `Error: ${errorMessage}`,
|
|
138
97
|
},
|
|
139
98
|
],
|
|
140
99
|
};
|
|
@@ -143,13 +102,11 @@ class SwaggerParserServer {
|
|
|
143
102
|
}
|
|
144
103
|
async loadSwagger(url) {
|
|
145
104
|
try {
|
|
146
|
-
const
|
|
147
|
-
const swagger = response.data;
|
|
148
|
-
this.swaggerCache.set(url, swagger);
|
|
105
|
+
const swagger = await this.swaggerCache.load(url);
|
|
149
106
|
return {
|
|
150
107
|
content: [
|
|
151
108
|
{
|
|
152
|
-
type:
|
|
109
|
+
type: 'text',
|
|
153
110
|
text: JSON.stringify({
|
|
154
111
|
success: true,
|
|
155
112
|
info: swagger.info,
|
|
@@ -161,21 +118,24 @@ class SwaggerParserServer {
|
|
|
161
118
|
};
|
|
162
119
|
}
|
|
163
120
|
catch (error) {
|
|
164
|
-
|
|
121
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
|
|
122
|
+
throw new Error(`Failed to load Swagger: ${errorMessage}`);
|
|
165
123
|
}
|
|
166
124
|
}
|
|
167
125
|
async getSwagger(url) {
|
|
168
|
-
|
|
169
|
-
await this.loadSwagger(url);
|
|
170
|
-
}
|
|
171
|
-
return this.swaggerCache.get(url);
|
|
126
|
+
return await this.swaggerCache.getOrLoad(url);
|
|
172
127
|
}
|
|
173
128
|
async getControllers(url) {
|
|
174
129
|
const swagger = await this.getSwagger(url);
|
|
175
130
|
const controllers = new Set();
|
|
176
|
-
Object.values(swagger.paths).forEach(pathItem => {
|
|
177
|
-
|
|
178
|
-
|
|
131
|
+
Object.values(swagger.paths || {}).forEach(pathItem => {
|
|
132
|
+
if (!pathItem)
|
|
133
|
+
return;
|
|
134
|
+
// Check each HTTP method
|
|
135
|
+
const methods = ['get', 'post', 'put', 'delete', 'patch', 'head', 'options'];
|
|
136
|
+
methods.forEach(method => {
|
|
137
|
+
const operation = pathItem[method];
|
|
138
|
+
if (operation?.tags) {
|
|
179
139
|
operation.tags.forEach((tag) => controllers.add(tag));
|
|
180
140
|
}
|
|
181
141
|
});
|
|
@@ -183,7 +143,7 @@ class SwaggerParserServer {
|
|
|
183
143
|
return {
|
|
184
144
|
content: [
|
|
185
145
|
{
|
|
186
|
-
type:
|
|
146
|
+
type: 'text',
|
|
187
147
|
text: JSON.stringify({
|
|
188
148
|
controllers: Array.from(controllers),
|
|
189
149
|
count: controllers.size,
|
|
@@ -195,9 +155,14 @@ class SwaggerParserServer {
|
|
|
195
155
|
async getPathsByController(url, controller) {
|
|
196
156
|
const swagger = await this.getSwagger(url);
|
|
197
157
|
const paths = [];
|
|
198
|
-
Object.entries(swagger.paths).forEach(([path, pathItem]) => {
|
|
199
|
-
|
|
200
|
-
|
|
158
|
+
Object.entries(swagger.paths || {}).forEach(([path, pathItem]) => {
|
|
159
|
+
if (!pathItem)
|
|
160
|
+
return;
|
|
161
|
+
// Check each HTTP method
|
|
162
|
+
const methods = ['get', 'post', 'put', 'delete', 'patch', 'head', 'options'];
|
|
163
|
+
methods.forEach(method => {
|
|
164
|
+
const operation = pathItem[method];
|
|
165
|
+
if (operation?.tags?.includes(controller)) {
|
|
201
166
|
paths.push({
|
|
202
167
|
path,
|
|
203
168
|
method,
|
|
@@ -211,7 +176,7 @@ class SwaggerParserServer {
|
|
|
211
176
|
return {
|
|
212
177
|
content: [
|
|
213
178
|
{
|
|
214
|
-
type:
|
|
179
|
+
type: 'text',
|
|
215
180
|
text: JSON.stringify({
|
|
216
181
|
controller,
|
|
217
182
|
paths,
|
|
@@ -223,28 +188,43 @@ class SwaggerParserServer {
|
|
|
223
188
|
}
|
|
224
189
|
async getPathDetails(url, path, method) {
|
|
225
190
|
const swagger = await this.getSwagger(url);
|
|
226
|
-
const
|
|
227
|
-
|
|
191
|
+
const pathItem = swagger.paths?.[path];
|
|
192
|
+
const operation = pathItem?.[method.toLowerCase()];
|
|
193
|
+
if (!operation || typeof operation !== 'object') {
|
|
228
194
|
throw new Error(`Path ${method.toUpperCase()} ${path} not found`);
|
|
229
195
|
}
|
|
230
196
|
// 파라미터 정보 추출
|
|
231
|
-
const parameters = operation.parameters?.map(param =>
|
|
232
|
-
|
|
233
|
-
in
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
197
|
+
const parameters = operation.parameters?.map(param => {
|
|
198
|
+
// Handle $ref parameters by resolving them first
|
|
199
|
+
if ('$ref' in param) {
|
|
200
|
+
const resolvedParam = this.schemaResolver.resolveRef(param.$ref, swagger);
|
|
201
|
+
return {
|
|
202
|
+
name: resolvedParam.name,
|
|
203
|
+
in: resolvedParam.in,
|
|
204
|
+
required: resolvedParam.required,
|
|
205
|
+
description: resolvedParam.description,
|
|
206
|
+
schema: this.schemaResolver.resolveSchemaReference(resolvedParam.schema, swagger),
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
return {
|
|
210
|
+
name: param.name,
|
|
211
|
+
in: param.in,
|
|
212
|
+
required: param.required,
|
|
213
|
+
description: param.description,
|
|
214
|
+
schema: this.schemaResolver.resolveSchemaReference(param.schema, swagger),
|
|
215
|
+
};
|
|
216
|
+
}) || [];
|
|
238
217
|
// Request Body 정보 추출
|
|
239
218
|
let requestBody = null;
|
|
240
|
-
if (operation.requestBody
|
|
219
|
+
if (operation.requestBody && 'content' in operation.requestBody && operation.requestBody.content) {
|
|
241
220
|
const content = operation.requestBody.content;
|
|
242
221
|
const mediaType = Object.keys(content)[0];
|
|
243
|
-
|
|
222
|
+
const mediaTypeObj = content[mediaType];
|
|
223
|
+
if (mediaTypeObj?.schema) {
|
|
244
224
|
requestBody = {
|
|
245
225
|
required: operation.requestBody.required,
|
|
246
226
|
mediaType,
|
|
247
|
-
schema: this.resolveSchemaReference(
|
|
227
|
+
schema: this.schemaResolver.resolveSchemaReference(mediaTypeObj.schema, swagger),
|
|
248
228
|
};
|
|
249
229
|
}
|
|
250
230
|
}
|
|
@@ -252,112 +232,52 @@ class SwaggerParserServer {
|
|
|
252
232
|
const responses = {};
|
|
253
233
|
if (operation.responses) {
|
|
254
234
|
Object.entries(operation.responses).forEach(([statusCode, response]) => {
|
|
255
|
-
if (response.content) {
|
|
235
|
+
if (response && typeof response === 'object' && 'content' in response && response.content) {
|
|
256
236
|
const content = response.content;
|
|
257
237
|
const mediaType = Object.keys(content)[0];
|
|
258
|
-
|
|
238
|
+
const mediaTypeObj = content[mediaType];
|
|
239
|
+
if (mediaTypeObj?.schema) {
|
|
259
240
|
responses[statusCode] = {
|
|
260
241
|
description: response.description,
|
|
261
242
|
mediaType,
|
|
262
|
-
schema: this.resolveSchemaReference(
|
|
243
|
+
schema: this.schemaResolver.resolveSchemaReference(mediaTypeObj.schema, swagger),
|
|
263
244
|
};
|
|
264
245
|
}
|
|
265
246
|
}
|
|
266
|
-
else {
|
|
247
|
+
else if (response && typeof response === 'object' && 'description' in response) {
|
|
267
248
|
responses[statusCode] = {
|
|
268
249
|
description: response.description,
|
|
269
250
|
};
|
|
270
251
|
}
|
|
271
252
|
});
|
|
272
253
|
}
|
|
254
|
+
const pathDetails = {
|
|
255
|
+
path,
|
|
256
|
+
method: method.toUpperCase(),
|
|
257
|
+
operationId: operation.operationId,
|
|
258
|
+
summary: operation.summary,
|
|
259
|
+
description: operation.description,
|
|
260
|
+
tags: operation.tags,
|
|
261
|
+
parameters,
|
|
262
|
+
requestBody: requestBody || undefined,
|
|
263
|
+
responses,
|
|
264
|
+
};
|
|
273
265
|
return {
|
|
274
266
|
content: [
|
|
275
267
|
{
|
|
276
|
-
type:
|
|
277
|
-
text: JSON.stringify(
|
|
278
|
-
path,
|
|
279
|
-
method: method.toUpperCase(),
|
|
280
|
-
operationId: operation.operationId,
|
|
281
|
-
summary: operation.summary,
|
|
282
|
-
description: operation.description,
|
|
283
|
-
tags: operation.tags,
|
|
284
|
-
parameters,
|
|
285
|
-
requestBody,
|
|
286
|
-
responses,
|
|
287
|
-
}, null, 2),
|
|
268
|
+
type: 'text',
|
|
269
|
+
text: JSON.stringify(pathDetails, null, 2),
|
|
288
270
|
},
|
|
289
271
|
],
|
|
290
272
|
};
|
|
291
273
|
}
|
|
292
|
-
resolveSchemaReference(schema, swagger) {
|
|
293
|
-
if (!schema)
|
|
294
|
-
return null;
|
|
295
|
-
if (schema.$ref) {
|
|
296
|
-
const resolved = this.resolveRef(schema.$ref, swagger);
|
|
297
|
-
return {
|
|
298
|
-
$ref: schema.$ref,
|
|
299
|
-
resolved,
|
|
300
|
-
};
|
|
301
|
-
}
|
|
302
|
-
if (schema.type === "array" && schema.items) {
|
|
303
|
-
return {
|
|
304
|
-
type: "array",
|
|
305
|
-
items: this.resolveSchemaReference(schema.items, swagger),
|
|
306
|
-
};
|
|
307
|
-
}
|
|
308
|
-
if (schema.type === "object" && schema.properties) {
|
|
309
|
-
const properties = {};
|
|
310
|
-
Object.entries(schema.properties).forEach(([key, value]) => {
|
|
311
|
-
properties[key] = this.resolveSchemaReference(value, swagger);
|
|
312
|
-
});
|
|
313
|
-
return {
|
|
314
|
-
type: "object",
|
|
315
|
-
properties,
|
|
316
|
-
required: schema.required,
|
|
317
|
-
};
|
|
318
|
-
}
|
|
319
|
-
return schema;
|
|
320
|
-
}
|
|
321
|
-
resolveRef(ref, swagger) {
|
|
322
|
-
const parts = ref.split("/");
|
|
323
|
-
let current = swagger;
|
|
324
|
-
for (let i = 1; i < parts.length; i++) {
|
|
325
|
-
current = current[parts[i]];
|
|
326
|
-
if (!current) {
|
|
327
|
-
throw new Error(`Cannot resolve reference: ${ref}`);
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
// 재귀적으로 중첩된 $ref도 해결
|
|
331
|
-
if (current.$ref) {
|
|
332
|
-
return this.resolveRef(current.$ref, swagger);
|
|
333
|
-
}
|
|
334
|
-
// 객체 속성에 있는 $ref도 해결
|
|
335
|
-
if (current.type === "object" && current.properties) {
|
|
336
|
-
const resolvedProperties = {};
|
|
337
|
-
Object.entries(current.properties).forEach(([key, value]) => {
|
|
338
|
-
resolvedProperties[key] = this.resolveSchemaReference(value, swagger);
|
|
339
|
-
});
|
|
340
|
-
return {
|
|
341
|
-
...current,
|
|
342
|
-
properties: resolvedProperties,
|
|
343
|
-
};
|
|
344
|
-
}
|
|
345
|
-
// 배열 아이템의 $ref도 해결
|
|
346
|
-
if (current.type === "array" && current.items) {
|
|
347
|
-
return {
|
|
348
|
-
...current,
|
|
349
|
-
items: this.resolveSchemaReference(current.items, swagger),
|
|
350
|
-
};
|
|
351
|
-
}
|
|
352
|
-
return current;
|
|
353
|
-
}
|
|
354
274
|
async resolveSchema(url, ref) {
|
|
355
275
|
const swagger = await this.getSwagger(url);
|
|
356
|
-
const resolved = this.resolveRef(ref, swagger);
|
|
276
|
+
const resolved = this.schemaResolver.resolveRef(ref, swagger);
|
|
357
277
|
return {
|
|
358
278
|
content: [
|
|
359
279
|
{
|
|
360
|
-
type:
|
|
280
|
+
type: 'text',
|
|
361
281
|
text: JSON.stringify({
|
|
362
282
|
ref,
|
|
363
283
|
resolved,
|
|
@@ -369,7 +289,7 @@ class SwaggerParserServer {
|
|
|
369
289
|
async run() {
|
|
370
290
|
const transport = new StdioServerTransport();
|
|
371
291
|
await this.server.connect(transport);
|
|
372
|
-
console.error(
|
|
292
|
+
console.error('Swagger Parser MCP Server running on stdio');
|
|
373
293
|
}
|
|
374
294
|
}
|
|
375
295
|
// 서버 실행
|
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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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Zod schemas for MCP tool input validation
|
|
4
|
+
* These schemas provide runtime validation and type safety for all MCP tools
|
|
5
|
+
*/
|
|
6
|
+
export declare const loadSwaggerSchema: z.ZodObject<{
|
|
7
|
+
url: z.ZodString;
|
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
|
9
|
+
url: string;
|
|
10
|
+
}, {
|
|
11
|
+
url: string;
|
|
12
|
+
}>;
|
|
13
|
+
export declare const getControllersSchema: z.ZodObject<{
|
|
14
|
+
url: z.ZodString;
|
|
15
|
+
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
url: string;
|
|
17
|
+
}, {
|
|
18
|
+
url: string;
|
|
19
|
+
}>;
|
|
20
|
+
export declare const getPathsByControllerSchema: z.ZodObject<{
|
|
21
|
+
url: z.ZodString;
|
|
22
|
+
controller: z.ZodString;
|
|
23
|
+
}, "strip", z.ZodTypeAny, {
|
|
24
|
+
url: string;
|
|
25
|
+
controller: string;
|
|
26
|
+
}, {
|
|
27
|
+
url: string;
|
|
28
|
+
controller: string;
|
|
29
|
+
}>;
|
|
30
|
+
export declare const getPathDetailsSchema: z.ZodObject<{
|
|
31
|
+
url: z.ZodString;
|
|
32
|
+
path: z.ZodString;
|
|
33
|
+
method: z.ZodEnum<["get", "post", "put", "delete", "patch", "head", "options"]>;
|
|
34
|
+
}, "strip", z.ZodTypeAny, {
|
|
35
|
+
path: string;
|
|
36
|
+
url: string;
|
|
37
|
+
method: "get" | "post" | "put" | "delete" | "patch" | "head" | "options";
|
|
38
|
+
}, {
|
|
39
|
+
path: string;
|
|
40
|
+
url: string;
|
|
41
|
+
method: "get" | "post" | "put" | "delete" | "patch" | "head" | "options";
|
|
42
|
+
}>;
|
|
43
|
+
export declare const resolveSchemaSchema: z.ZodObject<{
|
|
44
|
+
url: z.ZodString;
|
|
45
|
+
ref: z.ZodString;
|
|
46
|
+
}, "strip", z.ZodTypeAny, {
|
|
47
|
+
url: string;
|
|
48
|
+
ref: string;
|
|
49
|
+
}, {
|
|
50
|
+
url: string;
|
|
51
|
+
ref: string;
|
|
52
|
+
}>;
|
|
53
|
+
export type LoadSwaggerInput = z.infer<typeof loadSwaggerSchema>;
|
|
54
|
+
export type GetControllersInput = z.infer<typeof getControllersSchema>;
|
|
55
|
+
export type GetPathsByControllerInput = z.infer<typeof getPathsByControllerSchema>;
|
|
56
|
+
export type GetPathDetailsInput = z.infer<typeof getPathDetailsSchema>;
|
|
57
|
+
export type ResolveSchemaInput = z.infer<typeof resolveSchemaSchema>;
|
|
58
|
+
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AAGH,eAAO,MAAM,iBAAiB;;;;;;EAE5B,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;EAE/B,CAAC;AAGH,eAAO,MAAM,0BAA0B;;;;;;;;;EAGrC,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAM/B,CAAC;AAGH,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAC;AAGH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACjE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACvE,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AACnF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACvE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
package/dist/schemas.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Zod schemas for MCP tool input validation
|
|
4
|
+
* These schemas provide runtime validation and type safety for all MCP tools
|
|
5
|
+
*/
|
|
6
|
+
// Schema for load_swagger tool
|
|
7
|
+
export const loadSwaggerSchema = z.object({
|
|
8
|
+
url: z.string().url('Must be a valid URL'),
|
|
9
|
+
});
|
|
10
|
+
// Schema for get_controllers tool
|
|
11
|
+
export const getControllersSchema = z.object({
|
|
12
|
+
url: z.string().url('Must be a valid URL'),
|
|
13
|
+
});
|
|
14
|
+
// Schema for get_paths_by_controller tool
|
|
15
|
+
export const getPathsByControllerSchema = z.object({
|
|
16
|
+
url: z.string().url('Must be a valid URL'),
|
|
17
|
+
controller: z.string().min(1, 'Controller name is required'),
|
|
18
|
+
});
|
|
19
|
+
// Schema for get_path_details tool
|
|
20
|
+
export const getPathDetailsSchema = z.object({
|
|
21
|
+
url: z.string().url('Must be a valid URL'),
|
|
22
|
+
path: z.string().min(1, 'Path is required'),
|
|
23
|
+
method: z.enum(['get', 'post', 'put', 'delete', 'patch', 'head', 'options'], {
|
|
24
|
+
errorMap: () => ({ message: 'Method must be a valid HTTP method' }),
|
|
25
|
+
}),
|
|
26
|
+
});
|
|
27
|
+
// Schema for resolve_schema tool
|
|
28
|
+
export const resolveSchemaSchema = z.object({
|
|
29
|
+
url: z.string().url('Must be a valid URL'),
|
|
30
|
+
ref: z.string().regex(/^#\//, 'Reference must start with #/ (e.g., #/components/schemas/User)'),
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AAEH,+BAA+B;AAC/B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC;CAC3C,CAAC,CAAC;AAEH,kCAAkC;AAClC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC;CAC3C,CAAC,CAAC;AAEH,0CAA0C;AAC1C,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC1C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,6BAA6B,CAAC;CAC7D,CAAC,CAAC;AAEH,mCAAmC;AACnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC;IAC3C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;QAC3E,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC;KACpE,CAAC;CACH,CAAC,CAAC;AAEH,iCAAiC;AACjC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC1C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,gEAAgE,CAAC;CAChG,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edgeCases.test.d.ts","sourceRoot":"","sources":["../../src/tests/edgeCases.test.ts"],"names":[],"mappings":""}
|