@platf/bridge 0.0.16 → 0.0.17
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/gateways/statefulBridge.d.ts +10 -7
- package/dist/gateways/statefulBridge.js +79 -139
- package/dist/gateways/statefulBridge.js.map +1 -1
- package/dist/gateways/statelessBridge.d.ts +10 -7
- package/dist/gateways/statelessBridge.js +85 -166
- package/dist/gateways/statelessBridge.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/childProcess.d.ts +37 -0
- package/dist/lib/childProcess.js +80 -0
- package/dist/lib/childProcess.js.map +1 -0
- package/dist/lib/config.d.ts +6 -0
- package/dist/lib/config.js +7 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/discoveryRoutes.d.ts +2 -0
- package/dist/lib/discoveryRoutes.js +2 -63
- package/dist/lib/discoveryRoutes.js.map +1 -1
- package/dist/lib/express.d.ts +33 -0
- package/dist/lib/express.js +65 -0
- package/dist/lib/express.js.map +1 -0
- package/dist/lib/getLogger.d.ts +2 -2
- package/dist/lib/getLogger.js.map +1 -1
- package/dist/lib/mcpMessages.d.ts +10 -0
- package/dist/lib/mcpMessages.js +35 -0
- package/dist/lib/mcpMessages.js.map +1 -0
- package/dist/lib/oauthProxy.d.ts +14 -0
- package/dist/lib/oauthProxy.js +80 -0
- package/dist/lib/oauthProxy.js.map +1 -0
- package/dist/types.d.ts +3 -0
- package/package.json +1 -1
- package/src/gateways/statefulBridge.ts +87 -167
- package/src/gateways/statelessBridge.ts +100 -218
- package/src/index.ts +2 -2
- package/src/lib/childProcess.ts +120 -0
- package/src/lib/config.ts +9 -0
- package/src/lib/discoveryRoutes.ts +2 -66
- package/src/lib/express.ts +82 -0
- package/src/lib/getLogger.ts +4 -3
- package/src/lib/mcpMessages.ts +42 -0
- package/src/lib/oauthProxy.ts +86 -0
- package/src/types.ts +4 -0
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Stateful stdio-to-Streamable HTTP bridge.
|
|
3
|
+
*
|
|
4
|
+
* Maintains session state via `Mcp-Session-Id` header. Each session
|
|
5
|
+
* spawns one child process; subsequent requests for the same session
|
|
6
|
+
* reuse the existing transport and process. Sessions are cleaned up
|
|
7
|
+
* after an optional inactivity timeout.
|
|
8
|
+
*/
|
|
9
|
+
import type { CorsOptions } from 'cors';
|
|
2
10
|
import type { AuthConfig, Logger } from '../types.js';
|
|
3
11
|
export interface StatefulBridgeArgs {
|
|
4
12
|
stdioCmd: string;
|
|
@@ -12,11 +20,6 @@ export interface StatefulBridgeArgs {
|
|
|
12
20
|
auth: AuthConfig | null;
|
|
13
21
|
}
|
|
14
22
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* Maintains session state via `Mcp-Session-Id` header. Each session
|
|
18
|
-
* spawns one child process; subsequent requests for the same session
|
|
19
|
-
* reuse the existing transport and process. Sessions are cleaned up
|
|
20
|
-
* after an optional inactivity timeout.
|
|
23
|
+
* Start the stateful bridge server.
|
|
21
24
|
*/
|
|
22
25
|
export declare function startStatefulBridge(args: StatefulBridgeArgs): Promise<void>;
|
|
@@ -1,182 +1,122 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Stateful stdio-to-Streamable HTTP bridge.
|
|
3
|
+
*
|
|
4
|
+
* Maintains session state via `Mcp-Session-Id` header. Each session
|
|
5
|
+
* spawns one child process; subsequent requests for the same session
|
|
6
|
+
* reuse the existing transport and process. Sessions are cleaned up
|
|
7
|
+
* after an optional inactivity timeout.
|
|
8
|
+
*/
|
|
4
9
|
import { randomUUID } from 'node:crypto';
|
|
5
10
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
6
11
|
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
7
12
|
import { isInitializeRequest } from '@modelcontextprotocol/sdk/types.js';
|
|
13
|
+
import { createApp } from '../lib/express.js';
|
|
8
14
|
import { onSignals } from '../lib/onSignals.js';
|
|
9
|
-
import {
|
|
15
|
+
import { spawnManagedChild } from '../lib/childProcess.js';
|
|
10
16
|
import { SessionAccessCounter } from '../lib/sessionAccessCounter.js';
|
|
11
|
-
import {
|
|
12
|
-
import { createDiscoveryRouter } from '../lib/discoveryRoutes.js';
|
|
13
|
-
const VERSION = '1.0.0';
|
|
14
|
-
const setResponseHeaders = (res, headers) => Object.entries(headers).forEach(([key, value]) => res.setHeader(key, value));
|
|
17
|
+
import { VERSION, SERVER_NAME } from '../lib/config.js';
|
|
15
18
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* Maintains session state via `Mcp-Session-Id` header. Each session
|
|
19
|
-
* spawns one child process; subsequent requests for the same session
|
|
20
|
-
* reuse the existing transport and process. Sessions are cleaned up
|
|
21
|
-
* after an optional inactivity timeout.
|
|
19
|
+
* Start the stateful bridge server.
|
|
22
20
|
*/
|
|
23
21
|
export async function startStatefulBridge(args) {
|
|
24
|
-
const { stdioCmd, port, path, logger, corsOrigin, healthEndpoints, headers, sessionTimeout, auth
|
|
25
|
-
logger.info(`[stateful] Starting
|
|
26
|
-
logger.info(` - Headers: ${Object.keys(headers).length ? JSON.stringify(headers) : '(none)'}`);
|
|
22
|
+
const { stdioCmd, port, path, logger, corsOrigin, healthEndpoints, headers, sessionTimeout, auth } = args;
|
|
23
|
+
logger.info(`[stateful] Starting ${SERVER_NAME}`);
|
|
27
24
|
logger.info(` - port: ${port}`);
|
|
28
25
|
logger.info(` - stdio: ${stdioCmd}`);
|
|
29
26
|
logger.info(` - path: ${path}`);
|
|
30
|
-
logger.info(` - CORS: ${corsOrigin ? `enabled (${serializeCorsOrigin(corsOrigin)})` : 'disabled'}`);
|
|
31
|
-
logger.info(` - Health endpoints: ${healthEndpoints.length ? healthEndpoints.join(', ') : '(none)'}`);
|
|
32
27
|
logger.info(` - Session timeout: ${sessionTimeout ? `${sessionTimeout}ms` : 'disabled'}`);
|
|
28
|
+
logger.info(` - Headers: ${Object.keys(headers).length ? JSON.stringify(headers) : '(none)'}`);
|
|
33
29
|
onSignals({ logger });
|
|
34
|
-
const app =
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
setResponseHeaders(res, headers);
|
|
43
|
-
res.send('ok');
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
// --- OAuth discovery & auth middleware (when auth is enabled) ---
|
|
47
|
-
if (auth) {
|
|
48
|
-
app.use(createDiscoveryRouter(auth, logger));
|
|
49
|
-
app.use(path, createAuthMiddleware(auth, logger));
|
|
50
|
-
logger.info(` - Auth: enabled (issuer=${auth.issuer})`);
|
|
51
|
-
}
|
|
30
|
+
const app = createApp({
|
|
31
|
+
logger,
|
|
32
|
+
corsOrigin,
|
|
33
|
+
healthEndpoints,
|
|
34
|
+
headers,
|
|
35
|
+
auth,
|
|
36
|
+
mcpPath: path,
|
|
37
|
+
});
|
|
52
38
|
// Session state
|
|
53
|
-
const
|
|
39
|
+
const sessions = {};
|
|
54
40
|
const sessionCounter = sessionTimeout
|
|
55
41
|
? new SessionAccessCounter(sessionTimeout, (sessionId) => {
|
|
56
|
-
logger.info(`Session ${sessionId} timed out, cleaning up`);
|
|
57
|
-
const
|
|
58
|
-
if (
|
|
59
|
-
transport.close();
|
|
60
|
-
|
|
42
|
+
logger.info(`[stateful] Session ${sessionId} timed out, cleaning up`);
|
|
43
|
+
const session = sessions[sessionId];
|
|
44
|
+
if (session) {
|
|
45
|
+
session.transport.close();
|
|
46
|
+
session.child.kill();
|
|
47
|
+
}
|
|
48
|
+
delete sessions[sessionId];
|
|
61
49
|
}, logger)
|
|
62
50
|
: null;
|
|
63
|
-
//
|
|
51
|
+
// POST handler
|
|
64
52
|
app.post(path, async (req, res) => {
|
|
65
53
|
const sessionId = req.headers['mcp-session-id'];
|
|
66
|
-
let
|
|
67
|
-
if (sessionId &&
|
|
54
|
+
let session;
|
|
55
|
+
if (sessionId && sessions[sessionId]) {
|
|
68
56
|
// Reuse existing session
|
|
69
|
-
|
|
57
|
+
session = sessions[sessionId];
|
|
70
58
|
sessionCounter?.inc(sessionId, 'POST request for existing session');
|
|
71
59
|
}
|
|
72
60
|
else if (!sessionId && isInitializeRequest(req.body)) {
|
|
73
61
|
// New session — spawn child process
|
|
74
|
-
const server = new Server({ name:
|
|
75
|
-
transport = new StreamableHTTPServerTransport({
|
|
62
|
+
const server = new Server({ name: SERVER_NAME, version: VERSION }, { capabilities: {} });
|
|
63
|
+
const transport = new StreamableHTTPServerTransport({
|
|
76
64
|
sessionIdGenerator: () => randomUUID(),
|
|
77
65
|
onsessioninitialized: (newSessionId) => {
|
|
78
|
-
|
|
66
|
+
sessions[newSessionId] = session;
|
|
79
67
|
sessionCounter?.inc(newSessionId, 'session initialization');
|
|
80
68
|
},
|
|
81
69
|
});
|
|
82
70
|
await server.connect(transport);
|
|
83
|
-
logger.info('[
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
logger.info(`[debug] Child spawn event fired, pid=${child.pid}`);
|
|
90
|
-
});
|
|
91
|
-
child.on('error', (err) => {
|
|
92
|
-
logger.error(`[debug] Child error event: ${err.message}`);
|
|
93
|
-
});
|
|
94
|
-
child.on('exit', (code, signal) => {
|
|
95
|
-
logger.error(`Child exited: code=${code}, signal=${signal}`);
|
|
96
|
-
// Send JSON-RPC error responses for all pending requests
|
|
97
|
-
for (const id of pendingRequestIds) {
|
|
98
|
-
const detail = stderrOutput.trim().slice(0, 1000);
|
|
99
|
-
const message = detail
|
|
100
|
-
? `Child process exited (code=${code}): ${detail}`
|
|
101
|
-
: `Child process exited unexpectedly (code=${code}, signal=${signal})`;
|
|
102
|
-
transport.send({
|
|
103
|
-
jsonrpc: '2.0',
|
|
104
|
-
error: { code: -32603, message },
|
|
105
|
-
id,
|
|
106
|
-
}).catch(e => {
|
|
107
|
-
logger.error(`Failed to send error response for request ${id}`, e);
|
|
71
|
+
logger.info('[stateful] Server connected to transport');
|
|
72
|
+
const managedChild = spawnManagedChild(stdioCmd, logger, {
|
|
73
|
+
onMessage: (msg) => {
|
|
74
|
+
logger.info(`[stateful] Child → HTTP: ${JSON.stringify(msg).slice(0, 500)}`);
|
|
75
|
+
transport.send(msg).catch((e) => {
|
|
76
|
+
logger.error('[stateful] Failed to send to HTTP transport', e);
|
|
108
77
|
});
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
continue;
|
|
124
|
-
try {
|
|
125
|
-
const jsonMsg = JSON.parse(line);
|
|
126
|
-
if ('id' in jsonMsg && jsonMsg.id !== undefined) {
|
|
127
|
-
pendingRequestIds.delete(jsonMsg.id);
|
|
128
|
-
}
|
|
129
|
-
logger.info('Child → HTTP:', line.slice(0, 500));
|
|
130
|
-
transport.send(jsonMsg).then(() => {
|
|
131
|
-
logger.info('[debug] transport.send() succeeded');
|
|
132
|
-
}).catch(e => {
|
|
133
|
-
logger.error('Failed to send to HTTP transport', e);
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
catch {
|
|
137
|
-
logger.error(`Child non-JSON: ${line}`);
|
|
78
|
+
},
|
|
79
|
+
onExit: (code, signal, stderrOutput) => {
|
|
80
|
+
logger.error(`[stateful] Child exited: code=${code}, signal=${signal}`);
|
|
81
|
+
// Send error responses for all pending requests
|
|
82
|
+
for (const id of managedChild.getPendingRequests()) {
|
|
83
|
+
const detail = stderrOutput.trim().slice(0, 1000);
|
|
84
|
+
const message = detail
|
|
85
|
+
? `Child process exited (code=${code}): ${detail}`
|
|
86
|
+
: `Child process exited unexpectedly (code=${code}, signal=${signal})`;
|
|
87
|
+
transport.send({
|
|
88
|
+
jsonrpc: '2.0',
|
|
89
|
+
error: { code: -32603, message },
|
|
90
|
+
id,
|
|
91
|
+
}).catch(() => { });
|
|
138
92
|
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
child.stderr.on('data', (chunk) => {
|
|
142
|
-
const text = chunk.toString('utf8');
|
|
143
|
-
stderrOutput += text;
|
|
144
|
-
logger.error(`Child stderr: ${text}`);
|
|
145
|
-
});
|
|
146
|
-
child.stdout.on('close', () => {
|
|
147
|
-
logger.info('[debug] child.stdout closed');
|
|
148
|
-
});
|
|
149
|
-
child.stdout.on('end', () => {
|
|
150
|
-
logger.info('[debug] child.stdout ended');
|
|
151
|
-
});
|
|
152
|
-
child.stdin.on('error', (err) => {
|
|
153
|
-
logger.error(`[debug] child.stdin error: ${err.message}`);
|
|
93
|
+
transport.close();
|
|
94
|
+
},
|
|
154
95
|
});
|
|
155
96
|
transport.onmessage = (msg) => {
|
|
156
|
-
logger.info(`HTTP → Child: ${JSON.stringify(msg)}`);
|
|
97
|
+
logger.info(`[stateful] HTTP → Child: ${JSON.stringify(msg)}`);
|
|
157
98
|
if ('id' in msg && msg.id !== undefined) {
|
|
158
|
-
|
|
99
|
+
managedChild.trackRequest(msg.id);
|
|
159
100
|
}
|
|
160
|
-
|
|
161
|
-
const written = child.stdin.write(payload);
|
|
162
|
-
logger.info(`[debug] stdin.write() returned ${written}, payload length=${payload.length}`);
|
|
101
|
+
managedChild.send(msg);
|
|
163
102
|
};
|
|
164
103
|
transport.onclose = () => {
|
|
165
|
-
logger.info(`HTTP connection closed (session ${sessionId})`);
|
|
104
|
+
logger.info(`[stateful] HTTP connection closed (session ${transport.sessionId})`);
|
|
166
105
|
if (transport.sessionId) {
|
|
167
106
|
sessionCounter?.clear(transport.sessionId, false, 'transport closed');
|
|
168
|
-
delete
|
|
107
|
+
delete sessions[transport.sessionId];
|
|
169
108
|
}
|
|
170
|
-
|
|
109
|
+
managedChild.kill();
|
|
171
110
|
};
|
|
172
111
|
transport.onerror = (err) => {
|
|
173
|
-
logger.error(`HTTP transport error (session ${sessionId}):`, err);
|
|
112
|
+
logger.error(`[stateful] HTTP transport error (session ${transport.sessionId}):`, err);
|
|
174
113
|
if (transport.sessionId) {
|
|
175
114
|
sessionCounter?.clear(transport.sessionId, false, 'transport error');
|
|
176
|
-
delete
|
|
115
|
+
delete sessions[transport.sessionId];
|
|
177
116
|
}
|
|
178
|
-
|
|
117
|
+
managedChild.kill();
|
|
179
118
|
};
|
|
119
|
+
session = { transport, child: managedChild };
|
|
180
120
|
}
|
|
181
121
|
else {
|
|
182
122
|
res.status(400).json({
|
|
@@ -189,20 +129,20 @@ export async function startStatefulBridge(args) {
|
|
|
189
129
|
// Track response lifecycle for session cleanup
|
|
190
130
|
let responseEnded = false;
|
|
191
131
|
const handleResponseEnd = (event) => {
|
|
192
|
-
if (!responseEnded && transport.sessionId) {
|
|
132
|
+
if (!responseEnded && session.transport.sessionId) {
|
|
193
133
|
responseEnded = true;
|
|
194
|
-
logger.info(`Response ${event}`, transport.sessionId);
|
|
195
|
-
sessionCounter?.dec(transport.sessionId, `POST response ${event}`);
|
|
134
|
+
logger.info(`[stateful] Response ${event}`, session.transport.sessionId);
|
|
135
|
+
sessionCounter?.dec(session.transport.sessionId, `POST response ${event}`);
|
|
196
136
|
}
|
|
197
137
|
};
|
|
198
138
|
res.on('finish', () => handleResponseEnd('finished'));
|
|
199
139
|
res.on('close', () => handleResponseEnd('closed'));
|
|
200
|
-
await transport.handleRequest(req, res, req.body);
|
|
140
|
+
await session.transport.handleRequest(req, res, req.body);
|
|
201
141
|
});
|
|
202
|
-
//
|
|
142
|
+
// GET/DELETE handler (session-bound)
|
|
203
143
|
const handleSessionRequest = async (req, res) => {
|
|
204
144
|
const sessionId = req.headers['mcp-session-id'];
|
|
205
|
-
if (!sessionId || !
|
|
145
|
+
if (!sessionId || !sessions[sessionId]) {
|
|
206
146
|
res.status(400).send('Invalid or missing session ID');
|
|
207
147
|
return;
|
|
208
148
|
}
|
|
@@ -211,14 +151,14 @@ export async function startStatefulBridge(args) {
|
|
|
211
151
|
const handleResponseEnd = (event) => {
|
|
212
152
|
if (!responseEnded) {
|
|
213
153
|
responseEnded = true;
|
|
214
|
-
logger.info(`Response ${event}`, sessionId);
|
|
154
|
+
logger.info(`[stateful] Response ${event}`, sessionId);
|
|
215
155
|
sessionCounter?.dec(sessionId, `${req.method} response ${event}`);
|
|
216
156
|
}
|
|
217
157
|
};
|
|
218
158
|
res.on('finish', () => handleResponseEnd('finished'));
|
|
219
159
|
res.on('close', () => handleResponseEnd('closed'));
|
|
220
|
-
const
|
|
221
|
-
await transport.handleRequest(req, res);
|
|
160
|
+
const session = sessions[sessionId];
|
|
161
|
+
await session.transport.handleRequest(req, res);
|
|
222
162
|
};
|
|
223
163
|
app.get(path, handleSessionRequest);
|
|
224
164
|
app.delete(path, handleSessionRequest);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statefulBridge.js","sourceRoot":"","sources":["../../src/gateways/statefulBridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"statefulBridge.js","sourceRoot":"","sources":["../../src/gateways/statefulBridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Stateless stdio-to-Streamable HTTP bridge.
|
|
3
|
+
*
|
|
4
|
+
* For every incoming POST request, spawns a fresh child process,
|
|
5
|
+
* auto-initializes it if the request is not an initialize request,
|
|
6
|
+
* and proxies JSON-RPC messages between the HTTP transport and the
|
|
7
|
+
* child's stdin/stdout.
|
|
8
|
+
*/
|
|
9
|
+
import type { CorsOptions } from 'cors';
|
|
2
10
|
import type { AuthConfig, Logger } from '../types.js';
|
|
3
11
|
export interface StatelessBridgeArgs {
|
|
4
12
|
stdioCmd: string;
|
|
@@ -12,11 +20,6 @@ export interface StatelessBridgeArgs {
|
|
|
12
20
|
auth: AuthConfig | null;
|
|
13
21
|
}
|
|
14
22
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* For every incoming POST request, spawns a fresh child process,
|
|
18
|
-
* auto-initializes it if the request is not an initialize request,
|
|
19
|
-
* and proxies JSON-RPC messages between the HTTP transport and the
|
|
20
|
-
* child's stdin/stdout.
|
|
23
|
+
* Start the stateless bridge server.
|
|
21
24
|
*/
|
|
22
25
|
export declare function startStatelessBridge(args: StatelessBridgeArgs): Promise<void>;
|