vite-plugin-swagger-mcp 0.0.6 → 0.0.8
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/cjs/index.js +13 -8
- package/dist/esm/index.js +25 -14
- package/package.json +3 -3
package/dist/cjs/index.js
CHANGED
|
@@ -24,9 +24,9 @@ __export(src_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(src_exports);
|
|
26
26
|
var import_mcp = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
27
|
-
var import_zod = require("zod");
|
|
28
27
|
var import_streamableHttp = require("@modelcontextprotocol/sdk/server/streamableHttp.js");
|
|
29
28
|
var import_node_crypto = require("node:crypto");
|
|
29
|
+
var import_zod = require("zod");
|
|
30
30
|
var SwaggerMcpServer = class {
|
|
31
31
|
constructor(swaggerUrl, token) {
|
|
32
32
|
this.swaggerUrl = swaggerUrl;
|
|
@@ -217,15 +217,20 @@ function vitePluginSwaggerMcp({
|
|
|
217
217
|
);
|
|
218
218
|
server.middlewares.use(
|
|
219
219
|
async (req, res, next) => {
|
|
220
|
-
|
|
221
|
-
if (
|
|
222
|
-
if (
|
|
223
|
-
|
|
220
|
+
const url = new URL(req.url || "", `http://${req.headers.host}`);
|
|
221
|
+
if (url.pathname === "/_mcp/sse/swagger") {
|
|
222
|
+
if (req.method === "GET" || req.method === "POST") {
|
|
223
|
+
try {
|
|
224
|
+
await transport.handleRequest(req, res);
|
|
225
|
+
} catch (err) {
|
|
226
|
+
console.error("MCP Transport Error:", err);
|
|
227
|
+
res.statusCode = 500;
|
|
228
|
+
res.end("Internal Server Error");
|
|
229
|
+
}
|
|
230
|
+
return;
|
|
224
231
|
}
|
|
225
|
-
await transport.handleRequest(req, res);
|
|
226
|
-
} else {
|
|
227
|
-
next();
|
|
228
232
|
}
|
|
233
|
+
next();
|
|
229
234
|
}
|
|
230
235
|
);
|
|
231
236
|
} catch (error) {
|
package/dist/esm/index.js
CHANGED
|
@@ -11,9 +11,9 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
11
11
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
12
12
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
13
13
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
14
|
-
import { z } from "zod";
|
|
15
14
|
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
16
15
|
import { randomUUID } from "node:crypto";
|
|
16
|
+
import { z } from "zod";
|
|
17
17
|
export var SwaggerMcpServer = /*#__PURE__*/function () {
|
|
18
18
|
function SwaggerMcpServer(swaggerUrl, token) {
|
|
19
19
|
_classCallCheck(this, SwaggerMcpServer);
|
|
@@ -374,31 +374,42 @@ export default function vitePluginSwaggerMcp(_ref) {
|
|
|
374
374
|
console.log("MCP server connected:", "http://localhost:".concat((_server$config = server.config) === null || _server$config === void 0 || (_server$config = _server$config.server) === null || _server$config === void 0 ? void 0 : _server$config.port, "/_mcp/sse/swagger"));
|
|
375
375
|
server.middlewares.use( /*#__PURE__*/function () {
|
|
376
376
|
var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(req, res, next) {
|
|
377
|
-
var
|
|
377
|
+
var url;
|
|
378
378
|
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
379
379
|
while (1) switch (_context8.prev = _context8.next) {
|
|
380
380
|
case 0:
|
|
381
|
-
|
|
382
|
-
|
|
381
|
+
// 1. 检查路径
|
|
382
|
+
url = new URL(req.url || "", "http://".concat(req.headers.host));
|
|
383
|
+
if (!(url.pathname === "/_mcp/sse/swagger")) {
|
|
384
|
+
_context8.next = 14;
|
|
383
385
|
break;
|
|
384
386
|
}
|
|
385
|
-
if (!req.
|
|
386
|
-
|
|
387
|
-
|
|
387
|
+
if (!(req.method === "GET" || req.method === "POST")) {
|
|
388
|
+
_context8.next = 14;
|
|
389
|
+
break;
|
|
388
390
|
}
|
|
389
|
-
|
|
390
|
-
_context8.next =
|
|
391
|
+
_context8.prev = 3;
|
|
392
|
+
_context8.next = 6;
|
|
391
393
|
return transport.handleRequest(req, res);
|
|
392
|
-
case 4:
|
|
393
|
-
_context8.next = 7;
|
|
394
|
-
break;
|
|
395
394
|
case 6:
|
|
395
|
+
_context8.next = 13;
|
|
396
|
+
break;
|
|
397
|
+
case 8:
|
|
398
|
+
_context8.prev = 8;
|
|
399
|
+
_context8.t0 = _context8["catch"](3);
|
|
400
|
+
console.error("MCP Transport Error:", _context8.t0);
|
|
401
|
+
res.statusCode = 500;
|
|
402
|
+
res.end("Internal Server Error");
|
|
403
|
+
case 13:
|
|
404
|
+
return _context8.abrupt("return");
|
|
405
|
+
case 14:
|
|
406
|
+
// 如果不是 MCP 的请求,交给 Vite 处理
|
|
396
407
|
next();
|
|
397
|
-
case
|
|
408
|
+
case 15:
|
|
398
409
|
case "end":
|
|
399
410
|
return _context8.stop();
|
|
400
411
|
}
|
|
401
|
-
}, _callee8);
|
|
412
|
+
}, _callee8, null, [[3, 8]]);
|
|
402
413
|
}));
|
|
403
414
|
return function (_x6, _x7, _x8) {
|
|
404
415
|
return _ref6.apply(this, arguments);
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vite-plugin-swagger-mcp",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.8",
|
|
4
4
|
"description": "vite plugin for swagger mcp",
|
|
5
|
-
"homepage": "https://github.com/
|
|
5
|
+
"homepage": "https://github.com/mmdctjj/vite-plugin-swagger-mcp",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
|
-
"url": "https://github.com/
|
|
8
|
+
"url": "https://github.com/mmdctjj/vite-plugin-swagger-mcp.git"
|
|
9
9
|
},
|
|
10
10
|
"type": "module",
|
|
11
11
|
"main": "dist/cjs/index.js",
|