@eggjs/mcp-proxy 3.56.2 → 3.57.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/index.d.ts CHANGED
@@ -4,15 +4,11 @@ import { Application, Context, EggLogger, Messenger } from 'egg';
4
4
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
5
5
  import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js';
6
6
  import { MCPControllerHook } from '@eggjs/tegg-controller-plugin/lib/impl/mcp/MCPControllerRegister';
7
+ import { MCPProtocols } from './types';
7
8
  export interface MCPProxyPayload {
8
9
  sessionId: string;
9
10
  message: unknown;
10
11
  }
11
- export declare enum MCPProtocols {
12
- STDIO = "STDIO",
13
- SSE = "SSE",
14
- STREAM = "STREAM"
15
- }
16
12
  export interface ProxyMessageOptions {
17
13
  detail: ClientDetail;
18
14
  sessionId: string;
package/index.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.MCPProxyApiClient = exports.MCPProxyHook = exports.MCPProtocols = void 0;
6
+ exports.MCPProxyApiClient = exports.MCPProxyHook = void 0;
7
7
  const cluster_client_1 = require("cluster-client");
8
8
  const MCPProxyDataClient_1 = require("./lib/MCPProxyDataClient");
9
9
  const raw_body_1 = __importDefault(require("raw-body"));
@@ -18,14 +18,8 @@ const node_cluster_1 = __importDefault(require("node:cluster"));
18
18
  const MCPControllerRegister_1 = require("@eggjs/tegg-controller-plugin/lib/impl/mcp/MCPControllerRegister");
19
19
  const node_querystring_1 = __importDefault(require("node:querystring"));
20
20
  const node_url_1 = __importDefault(require("node:url"));
21
- const core_1 = require("@eggjs/core");
21
+ const types_1 = require("./types");
22
22
  const MAXIMUM_MESSAGE_SIZE = '4mb';
23
- var MCPProtocols;
24
- (function (MCPProtocols) {
25
- MCPProtocols["STDIO"] = "STDIO";
26
- MCPProtocols["SSE"] = "SSE";
27
- MCPProtocols["STREAM"] = "STREAM";
28
- })(MCPProtocols || (exports.MCPProtocols = MCPProtocols = {}));
29
23
  const IGNORE_HEADERS = [
30
24
  'connection',
31
25
  'upgrade',
@@ -40,16 +34,10 @@ exports.MCPProxyHook = {
40
34
  const id = transport.sessionId;
41
35
  // cluster proxy
42
36
  await self.app.mcpProxy.registerClient(id, process.pid);
43
- self.app.mcpProxy.setProxyHandler(MCPProtocols.SSE, async (req, res) => {
37
+ self.app.mcpProxy.setProxyHandler(types_1.MCPProtocols.SSE, async (req, res) => {
44
38
  var _a, _b, _c, _d;
45
39
  const sessionId = (_b = (_a = req.query) === null || _a === void 0 ? void 0 : _a.sessionId) !== null && _b !== void 0 ? _b : node_querystring_1.default.parse((_c = node_url_1.default.parse(req.url).query) !== null && _c !== void 0 ? _c : '').sessionId;
46
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
47
- // @ts-ignore
48
- self.app.RequestClass = core_1.Request;
49
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
50
- // @ts-ignore
51
- self.app.ResponseClass = core_1.Response;
52
- const ctx = new core_1.Context(self.app, req, res);
40
+ const ctx = self.app.createContext(req, res);
53
41
  if (MCPControllerRegister_1.MCPControllerRegister.hooks.length > 0) {
54
42
  for (const hook of MCPControllerRegister_1.MCPControllerRegister.hooks) {
55
43
  await ((_d = hook.preProxy) === null || _d === void 0 ? void 0 : _d.call(hook, ctx, req, res));
@@ -115,15 +103,10 @@ exports.MCPProxyHook = {
115
103
  async onStreamSessionInitialized(_ctx, transport, self) {
116
104
  const sessionId = transport.sessionId;
117
105
  self.streamTransports[sessionId] = transport;
118
- self.app.mcpProxy.setProxyHandler(MCPProtocols.STREAM, async (req, res) => {
106
+ self.app.mcpProxy.setProxyHandler(types_1.MCPProtocols.STREAM, async (req, res) => {
119
107
  var _a;
120
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
121
- // @ts-ignore
122
- self.app.RequestClass = core_1.Request;
123
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
124
- // @ts-ignore
125
- self.app.ResponseClass = core_1.Response;
126
- const ctx = new core_1.Context(self.app, req, res);
108
+ const mw = self.app.middleware.teggCtxLifecycleMiddleware();
109
+ const ctx = self.app.createContext(req, res);
127
110
  if (MCPControllerRegister_1.MCPControllerRegister.hooks.length > 0) {
128
111
  for (const hook of MCPControllerRegister_1.MCPControllerRegister.hooks) {
129
112
  await ((_a = hook.preProxy) === null || _a === void 0 ? void 0 : _a.call(hook, ctx, req, res));
@@ -161,7 +144,9 @@ exports.MCPProxyHook = {
161
144
  }
162
145
  if (transport) {
163
146
  await self.app.ctxStorage.run(ctx, async () => {
164
- await transport.handleRequest(ctx.req, ctx.res);
147
+ await mw(ctx, async () => {
148
+ await transport.handleRequest(ctx.req, ctx.res);
149
+ });
165
150
  });
166
151
  }
167
152
  else {
@@ -227,10 +212,10 @@ class MCPProxyApiClient extends cluster_client_1.APIClientBase {
227
212
  setProxyHandler(type, handler) {
228
213
  let action;
229
214
  switch (type) {
230
- case MCPProtocols.SSE:
215
+ case types_1.MCPProtocols.SSE:
231
216
  action = 'MCP_SEE_PROXY';
232
217
  break;
233
- case MCPProtocols.STDIO:
218
+ case types_1.MCPProtocols.STDIO:
234
219
  action = 'MCP_STDIO_PROXY';
235
220
  break;
236
221
  default:
@@ -415,4 +400,4 @@ class MCPProxyApiClient extends cluster_client_1.APIClientBase {
415
400
  }
416
401
  }
417
402
  exports.MCPProxyApiClient = MCPProxyApiClient;
418
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBK0M7QUFDL0MsaUVBQThEO0FBRTlELHdEQUFrQztBQUNsQyxnRUFBdUM7QUFDdkMsbUNBQStCO0FBQy9CLGdEQUF3QjtBQUN4QixzREFBb0U7QUFDcEUsMEZBQW1HO0FBQ25HLG9FQUE2RTtBQUM3RSw2Q0FBdUM7QUFDdkMsZ0VBQW1DO0FBQ25DLDRHQUE0SDtBQUM1SCx3RUFBMkM7QUFDM0Msd0RBQTJCO0FBQzNCLHNDQUFvRztBQUVwRyxNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQztBQVNuQyxJQUFZLFlBSVg7QUFKRCxXQUFZLFlBQVk7SUFDdEIsK0JBQWUsQ0FBQTtJQUNmLDJCQUFXLENBQUE7SUFDWCxpQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSlcsWUFBWSw0QkFBWixZQUFZLFFBSXZCO0FBYUQsTUFBTSxjQUFjLEdBQUc7SUFDckIsWUFBWTtJQUNaLFNBQVM7SUFDVCxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLElBQUk7SUFDSixTQUFTO0lBQ1QsbUJBQW1CO0NBQ3BCLENBQUM7QUFHVyxRQUFBLFlBQVksR0FBc0I7SUFDN0MsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSTtRQUN6QyxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBQy9CLGdCQUFnQjtRQUNoQixNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7O1lBQ3JFLE1BQU0sU0FBUyxHQUFHLE1BQUEsTUFBQSxH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
403
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBK0M7QUFDL0MsaUVBQThEO0FBRTlELHdEQUFrQztBQUNsQyxnRUFBdUM7QUFDdkMsbUNBQStCO0FBQy9CLGdEQUF3QjtBQUN4QixzREFBb0U7QUFDcEUsMEZBQW1HO0FBQ25HLG9FQUE2RTtBQUM3RSw2Q0FBdUM7QUFDdkMsZ0VBQW1DO0FBQ25DLDRHQUE0SDtBQUM1SCx3RUFBMkM7QUFDM0Msd0RBQTJCO0FBQzNCLG1DQUF1QztBQUV2QyxNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQztBQW9CbkMsTUFBTSxjQUFjLEdBQUc7SUFDckIsWUFBWTtJQUNaLFNBQVM7SUFDVCxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLElBQUk7SUFDSixTQUFTO0lBQ1QsbUJBQW1CO0NBQ3BCLENBQUM7QUFHVyxRQUFBLFlBQVksR0FBc0I7SUFDN0MsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSTtRQUN6QyxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBQy9CLGdCQUFnQjtRQUNoQixNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxvQkFBWSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFOztZQUNyRSxNQUFNLFNBQVMsR0FBRyxNQUFBLE1BQUEsR0FBRyxDQUFDLEtBQUssMENBQUUsU0FBUyxtQ0FBSSwwQkFBVyxDQUFDLEtBQUssQ0FBQyxNQUFBLGtCQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLG1DQUFJLEVB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eggjs/mcp-proxy",
3
- "version": "3.56.2",
3
+ "version": "3.57.0",
4
4
  "eggPlugin": {
5
5
  "name": "mcpProxy"
6
6
  },
@@ -20,6 +20,8 @@
20
20
  "agent.d.ts",
21
21
  "index.js",
22
22
  "index.d.ts",
23
+ "types.js",
24
+ "types.d.ts",
23
25
  "config/**/*.js",
24
26
  "config/**/*.d.ts",
25
27
  "lib/**/*.js",
@@ -49,21 +51,22 @@
49
51
  },
50
52
  "dependencies": {
51
53
  "@eggjs/core": "^6.5.0",
52
- "@eggjs/tegg-controller-plugin": "^3.56.2",
53
- "@eggjs/tegg-types": "^3.56.2",
54
+ "@eggjs/tegg-controller-plugin": "^3.57.0",
55
+ "@eggjs/tegg-types": "^3.57.0",
54
56
  "@modelcontextprotocol/sdk": "^1.10.0",
55
57
  "cluster-client": "^3.7.0",
56
58
  "content-type": "^1.0.5",
59
+ "eventsource-parser": "^3.0.1",
57
60
  "raw-body": "^2.5.2",
58
61
  "sdk-base": "^5.0.1"
59
62
  },
60
63
  "devDependencies": {
61
- "@eggjs/egg-module-common": "^3.56.2",
62
- "@eggjs/tegg": "^3.56.2",
63
- "@eggjs/tegg-aop-runtime": "^3.56.2",
64
- "@eggjs/tegg-config": "^3.56.2",
65
- "@eggjs/tegg-metadata": "^3.56.2",
66
- "@eggjs/tegg-plugin": "^3.56.2",
64
+ "@eggjs/egg-module-common": "^3.57.0",
65
+ "@eggjs/tegg": "^3.57.0",
66
+ "@eggjs/tegg-aop-runtime": "^3.57.0",
67
+ "@eggjs/tegg-config": "^3.57.0",
68
+ "@eggjs/tegg-metadata": "^3.57.0",
69
+ "@eggjs/tegg-plugin": "^3.57.0",
67
70
  "@types/mocha": "^10.0.1",
68
71
  "@types/node": "^20.2.4",
69
72
  "cross-env": "^7.0.3",
@@ -78,5 +81,5 @@
78
81
  "publishConfig": {
79
82
  "access": "public"
80
83
  },
81
- "gitHead": "2a5affcee33463f3ceb5c8b7e73dbc2e93a87a2b"
84
+ "gitHead": "e454493d2ce0501fd8afee3b82289f75d051b30d"
82
85
  }
package/types.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ export declare enum MCPProtocols {
2
+ STDIO = "STDIO",
3
+ SSE = "SSE",
4
+ STREAM = "STREAM"
5
+ }
package/types.js ADDED
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MCPProtocols = void 0;
4
+ var MCPProtocols;
5
+ (function (MCPProtocols) {
6
+ MCPProtocols["STDIO"] = "STDIO";
7
+ MCPProtocols["SSE"] = "SSE";
8
+ MCPProtocols["STREAM"] = "STREAM";
9
+ })(MCPProtocols || (exports.MCPProtocols = MCPProtocols = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLFlBSVg7QUFKRCxXQUFZLFlBQVk7SUFDdEIsK0JBQWUsQ0FBQTtJQUNmLDJCQUFXLENBQUE7SUFDWCxpQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSlcsWUFBWSw0QkFBWixZQUFZLFFBSXZCIn0=
@@ -2,7 +2,7 @@ import 'egg';
2
2
  import '@eggjs/tegg-plugin';
3
3
  import { MCPProxyApiClient } from '../index';
4
4
 
5
- export { MCPProtocols } from '../index'
5
+ export { MCPProtocols } from '../types'
6
6
 
7
7
  declare module 'egg' {
8
8
  export interface MCPProxyApp {