@nitrostack/core 1.0.11 → 1.0.12
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/auth/middleware.d.ts.map +1 -1
- package/dist/auth/middleware.js +17 -0
- package/dist/auth/middleware.js.map +1 -1
- package/dist/auth/token-validation.d.ts.map +1 -1
- package/dist/auth/token-validation.js +12 -2
- package/dist/auth/token-validation.js.map +1 -1
- package/dist/core/app-decorator.d.ts.map +1 -1
- package/dist/core/app-decorator.js +0 -3
- package/dist/core/app-decorator.js.map +1 -1
- package/dist/core/oauth-module.d.ts +76 -5
- package/dist/core/oauth-module.d.ts.map +1 -1
- package/dist/core/oauth-module.js +343 -83
- package/dist/core/oauth-module.js.map +1 -1
- package/dist/core/prompt.d.ts +0 -3
- package/dist/core/prompt.d.ts.map +1 -1
- package/dist/core/prompt.js +28 -1
- package/dist/core/prompt.js.map +1 -1
- package/dist/core/server.d.ts +13 -25
- package/dist/core/server.d.ts.map +1 -1
- package/dist/core/server.js +111 -94
- package/dist/core/server.js.map +1 -1
- package/dist/core/transports/streamable-http.d.ts +64 -61
- package/dist/core/transports/streamable-http.d.ts.map +1 -1
- package/dist/core/transports/streamable-http.js +1608 -823
- package/dist/core/transports/streamable-http.js.map +1 -1
- package/package.json +5 -5
package/dist/core/prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/core/prompt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAY9C;;GAEG;AACH,MAAM,OAAO,MAAM;IACT,UAAU,CAAmB;IAErC,YAAY,UAA4B;QACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,IAAyC,EAAE,OAAyB;QAChF,8BAA8B;QAC9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAE7B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAA6B,EAAE,CAAC,CAAC;QAE/F,IAAI,CAAC;YACH,MAAM,
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/core/prompt.ts"],"names":[],"mappings":"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"}
|
package/dist/core/server.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Server as McpServer } from '@modelcontextprotocol/sdk/server/index.js';
|
|
2
|
+
import type { Express, Response } from 'express';
|
|
2
3
|
import { Tool } from './tool.js';
|
|
3
4
|
import { Resource, ResourceTemplate } from './resource.js';
|
|
4
5
|
import { Prompt } from './prompt.js';
|
|
@@ -10,8 +11,9 @@ import { TaskManager } from './task.js';
|
|
|
10
11
|
interface HttpTransport {
|
|
11
12
|
start(): Promise<void>;
|
|
12
13
|
close(): Promise<void>;
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
/** Provide the factory used to build a configured MCP server per /mcp session. */
|
|
15
|
+
setMcpServerFactory?(factory: () => McpServer): void;
|
|
16
|
+
setLegacySseHandler?(handler: (req: unknown, res: Response) => Promise<void>): void;
|
|
15
17
|
setToolsCallback?(callback: () => Promise<unknown[]>): void;
|
|
16
18
|
setServerConfig?(config: {
|
|
17
19
|
name: string;
|
|
@@ -21,28 +23,6 @@ interface HttpTransport {
|
|
|
21
23
|
/** StreamableHttpTransport exposes the Express app for extra routes (legacy SDK SSE). */
|
|
22
24
|
getApp?(): Express;
|
|
23
25
|
}
|
|
24
|
-
/**
|
|
25
|
-
* JSON-RPC request structure
|
|
26
|
-
*/
|
|
27
|
-
interface JsonRpcRequest {
|
|
28
|
-
jsonrpc: '2.0';
|
|
29
|
-
id?: string | number | null;
|
|
30
|
-
method?: string;
|
|
31
|
-
params?: Record<string, unknown>;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* JSON-RPC response structure
|
|
35
|
-
*/
|
|
36
|
-
interface JsonRpcResponse {
|
|
37
|
-
jsonrpc: '2.0';
|
|
38
|
-
id: string | number | null;
|
|
39
|
-
result?: unknown;
|
|
40
|
-
error?: {
|
|
41
|
-
code: number;
|
|
42
|
-
message: string;
|
|
43
|
-
data?: unknown;
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
26
|
/**
|
|
47
27
|
* NitroStackServer - Main server class
|
|
48
28
|
*/
|
|
@@ -71,10 +51,18 @@ export declare class NitroStackServer {
|
|
|
71
51
|
constructor(config?: McpServerConfig);
|
|
72
52
|
/** Shared MCP server constructor options (main + per legacy SSE session) */
|
|
73
53
|
private static readonly mcpServerOptions;
|
|
54
|
+
/**
|
|
55
|
+
* Build a fresh MCP server instance wired with all of this application's
|
|
56
|
+
* tool/resource/prompt handlers. Used for transports that require their own
|
|
57
|
+
* server instance (legacy SSE sessions, official Streamable HTTP sessions),
|
|
58
|
+
* since a single SDK server can only be connected to one transport at a time.
|
|
59
|
+
*/
|
|
60
|
+
createConfiguredMcpServer(): McpServer;
|
|
74
61
|
/**
|
|
75
62
|
* SDK-compatible legacy HTTP+SSE: GET /sse (SSEServerTransport) and POST /mcp/messages?sessionId=.
|
|
76
63
|
* Streamable HTTP stays on GET/POST /mcp.
|
|
77
64
|
*/
|
|
65
|
+
private startLegacySdkSseSession;
|
|
78
66
|
private attachLegacySdkSseRoutes;
|
|
79
67
|
private attachLegacySdkSseIfNeeded;
|
|
80
68
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"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"}
|
package/dist/core/server.js
CHANGED
|
@@ -12,6 +12,19 @@ import { isModule, getModuleMetadata } from './module.js';
|
|
|
12
12
|
import { buildController } from './builders.js';
|
|
13
13
|
import { DIContainer } from './di/container.js';
|
|
14
14
|
import { TaskManager, TaskContext, TaskNotFoundError, TaskAlreadyTerminalError, TaskAugmentationRequiredError, } from './task.js';
|
|
15
|
+
/** Optional Streamable HTTP session limits from environment variables. */
|
|
16
|
+
function getStreamableHttpEnvOptions() {
|
|
17
|
+
const maxSessions = process.env.MCP_MAX_SESSIONS
|
|
18
|
+
? parseInt(process.env.MCP_MAX_SESSIONS, 10)
|
|
19
|
+
: undefined;
|
|
20
|
+
const sessionTimeout = process.env.MCP_SESSION_TIMEOUT_MS
|
|
21
|
+
? parseInt(process.env.MCP_SESSION_TIMEOUT_MS, 10)
|
|
22
|
+
: undefined;
|
|
23
|
+
return {
|
|
24
|
+
...(maxSessions !== undefined && !Number.isNaN(maxSessions) ? { maxSessions } : {}),
|
|
25
|
+
...(sessionTimeout !== undefined && !Number.isNaN(sessionTimeout) ? { sessionTimeout } : {}),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
15
28
|
/**
|
|
16
29
|
* NitroStackServer - Main server class
|
|
17
30
|
*/
|
|
@@ -48,6 +61,12 @@ export class NitroStackServer {
|
|
|
48
61
|
name: 'nitrostack-server',
|
|
49
62
|
version: '1.0.0',
|
|
50
63
|
};
|
|
64
|
+
// Register itself in DI container so modules can inject the server.
|
|
65
|
+
// NOTE: DIContainer is a process-wide singleton, so this assumes a single
|
|
66
|
+
// NitroStackServer instance per process. Multiple instances would overwrite
|
|
67
|
+
// each other's registration here.
|
|
68
|
+
DIContainer.getInstance().registerValue(NitroStackServer, this);
|
|
69
|
+
DIContainer.getInstance().registerValue('NitroStackServer', this);
|
|
51
70
|
this.logger = createLogger({
|
|
52
71
|
level: this.config.logging?.level || 'info',
|
|
53
72
|
file: this.config.logging?.file,
|
|
@@ -90,10 +109,59 @@ export class NitroStackServer {
|
|
|
90
109
|
},
|
|
91
110
|
},
|
|
92
111
|
};
|
|
112
|
+
/**
|
|
113
|
+
* Build a fresh MCP server instance wired with all of this application's
|
|
114
|
+
* tool/resource/prompt handlers. Used for transports that require their own
|
|
115
|
+
* server instance (legacy SSE sessions, official Streamable HTTP sessions),
|
|
116
|
+
* since a single SDK server can only be connected to one transport at a time.
|
|
117
|
+
*/
|
|
118
|
+
createConfiguredMcpServer() {
|
|
119
|
+
const mcp = new McpServer({
|
|
120
|
+
name: this.config.name,
|
|
121
|
+
version: this.config.version,
|
|
122
|
+
}, NitroStackServer.mcpServerOptions);
|
|
123
|
+
this.setupHandlersOn(mcp);
|
|
124
|
+
return mcp;
|
|
125
|
+
}
|
|
93
126
|
/**
|
|
94
127
|
* SDK-compatible legacy HTTP+SSE: GET /sse (SSEServerTransport) and POST /mcp/messages?sessionId=.
|
|
95
128
|
* Streamable HTTP stays on GET/POST /mcp.
|
|
96
129
|
*/
|
|
130
|
+
async startLegacySdkSseSession(res, messagesPath) {
|
|
131
|
+
try {
|
|
132
|
+
const sessionMcp = this.createConfiguredMcpServer();
|
|
133
|
+
const transport = new SSEServerTransport(messagesPath, res);
|
|
134
|
+
const sessionId = transport.sessionId;
|
|
135
|
+
this.legacySdkSseSessions.set(sessionId, { server: sessionMcp, transport });
|
|
136
|
+
let closing = false;
|
|
137
|
+
transport.onclose = async () => {
|
|
138
|
+
if (closing) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
closing = true;
|
|
142
|
+
this.legacySdkSseSessions.delete(sessionId);
|
|
143
|
+
try {
|
|
144
|
+
await sessionMcp.close();
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
// ignore
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
transport.onerror = (err) => {
|
|
151
|
+
this.logger.error('Legacy SDK SSE transport error', {
|
|
152
|
+
error: err instanceof Error ? err.message : String(err),
|
|
153
|
+
});
|
|
154
|
+
};
|
|
155
|
+
await sessionMcp.connect(transport);
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
159
|
+
this.logger.error('Failed to start legacy SDK SSE session', { error: message });
|
|
160
|
+
if (!res.headersSent) {
|
|
161
|
+
res.status(500).end('Failed to establish SSE connection');
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
97
165
|
attachLegacySdkSseRoutes(app) {
|
|
98
166
|
if (this._legacySseRoutesAttached) {
|
|
99
167
|
return;
|
|
@@ -101,44 +169,8 @@ export class NitroStackServer {
|
|
|
101
169
|
this._legacySseRoutesAttached = true;
|
|
102
170
|
const LEGACY_SSE_PATH = '/sse';
|
|
103
171
|
const LEGACY_MESSAGES_PATH = '/mcp/messages';
|
|
104
|
-
app.get(LEGACY_SSE_PATH, async (
|
|
105
|
-
|
|
106
|
-
const sessionMcp = new McpServer({
|
|
107
|
-
name: this.config.name,
|
|
108
|
-
version: this.config.version,
|
|
109
|
-
}, NitroStackServer.mcpServerOptions);
|
|
110
|
-
this.setupHandlersOn(sessionMcp);
|
|
111
|
-
const transport = new SSEServerTransport(LEGACY_MESSAGES_PATH, res);
|
|
112
|
-
const sessionId = transport.sessionId;
|
|
113
|
-
this.legacySdkSseSessions.set(sessionId, { server: sessionMcp, transport });
|
|
114
|
-
let closing = false;
|
|
115
|
-
transport.onclose = async () => {
|
|
116
|
-
if (closing) {
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
closing = true;
|
|
120
|
-
this.legacySdkSseSessions.delete(sessionId);
|
|
121
|
-
try {
|
|
122
|
-
await sessionMcp.close();
|
|
123
|
-
}
|
|
124
|
-
catch {
|
|
125
|
-
// ignore
|
|
126
|
-
}
|
|
127
|
-
};
|
|
128
|
-
transport.onerror = (err) => {
|
|
129
|
-
this.logger.error('Legacy SDK SSE transport error', {
|
|
130
|
-
error: err instanceof Error ? err.message : String(err),
|
|
131
|
-
});
|
|
132
|
-
};
|
|
133
|
-
await sessionMcp.connect(transport);
|
|
134
|
-
}
|
|
135
|
-
catch (error) {
|
|
136
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
137
|
-
this.logger.error('Failed to start legacy SDK SSE session', { error: message });
|
|
138
|
-
if (!res.headersSent) {
|
|
139
|
-
res.status(500).end('Failed to establish SSE connection');
|
|
140
|
-
}
|
|
141
|
-
}
|
|
172
|
+
app.get(LEGACY_SSE_PATH, async (_req, res) => {
|
|
173
|
+
await this.startLegacySdkSseSession(res, LEGACY_MESSAGES_PATH);
|
|
142
174
|
});
|
|
143
175
|
app.post(LEGACY_MESSAGES_PATH, async (req, res) => {
|
|
144
176
|
const sessionId = typeof req.query.sessionId === 'string' ? req.query.sessionId : undefined;
|
|
@@ -168,6 +200,12 @@ export class NitroStackServer {
|
|
|
168
200
|
if (typeof transport.getApp === 'function') {
|
|
169
201
|
this.attachLegacySdkSseRoutes(transport.getApp());
|
|
170
202
|
}
|
|
203
|
+
// Cursor opens GET /mcp without mcp-session-id; fall back to legacy SSE on that path.
|
|
204
|
+
if (typeof transport.setLegacySseHandler === 'function') {
|
|
205
|
+
transport.setLegacySseHandler(async (_req, res) => {
|
|
206
|
+
await this.startLegacySdkSseSession(res, '/mcp/messages');
|
|
207
|
+
});
|
|
208
|
+
}
|
|
171
209
|
}
|
|
172
210
|
/**
|
|
173
211
|
* Add a tool to the server
|
|
@@ -702,7 +740,7 @@ export class NitroStackServer {
|
|
|
702
740
|
text: JSON.stringify(content, null, 2),
|
|
703
741
|
};
|
|
704
742
|
}
|
|
705
|
-
const contentsMeta = buildResourceReadContentsMeta(resource.getWidgetReadMeta());
|
|
743
|
+
const contentsMeta = buildResourceReadContentsMeta(resource.getWidgetReadMeta?.());
|
|
706
744
|
if (contentsMeta) {
|
|
707
745
|
responseContent._meta = contentsMeta;
|
|
708
746
|
}
|
|
@@ -821,20 +859,24 @@ export class NitroStackServer {
|
|
|
821
859
|
await moduleInstance.onModuleInit();
|
|
822
860
|
}
|
|
823
861
|
}
|
|
824
|
-
// If HTTP transport is needed (dual mode), set it up BEFORE calling module.start()
|
|
825
|
-
// This allows modules like OAuthModule to register endpoints on the HTTP server
|
|
826
|
-
if (transportType === 'dual') {
|
|
862
|
+
// If HTTP transport is needed (dual or http mode), set it up BEFORE calling module.start()
|
|
863
|
+
// This allows modules like OAuthModule to register endpoints/middleware on the HTTP server
|
|
864
|
+
if (transportType === 'dual' || transportType === 'http') {
|
|
827
865
|
const port = parseInt(process.env.PORT || '3000');
|
|
828
866
|
const host = process.env.HOST || 'localhost';
|
|
829
|
-
// Create
|
|
867
|
+
// Create HTTP transport first (do not start listening yet)
|
|
830
868
|
const { StreamableHttpTransport } = await import('./transports/streamable-http.js');
|
|
831
869
|
const httpTransport = new StreamableHttpTransport({
|
|
832
870
|
port: port,
|
|
833
871
|
host: host,
|
|
834
872
|
endpoint: '/mcp',
|
|
835
|
-
enableSessions:
|
|
873
|
+
enableSessions: transportType === 'http', // Sessions ONLY in pure http mode
|
|
836
874
|
enableCors: process.env.ENABLE_CORS !== 'false',
|
|
875
|
+
...getStreamableHttpEnvOptions(),
|
|
837
876
|
});
|
|
877
|
+
// Delegate /mcp protocol handling to the official SDK transport: each
|
|
878
|
+
// session gets its own configured MCP server built via this factory.
|
|
879
|
+
httpTransport.setMcpServerFactory(() => this.createConfiguredMcpServer());
|
|
838
880
|
// Set up tools callback and server config for documentation page
|
|
839
881
|
httpTransport.setToolsCallback(async () => {
|
|
840
882
|
const tools = await Promise.all(Array.from(this.tools.values()).map((tool) => tool.toMcpTool()));
|
|
@@ -845,13 +887,11 @@ export class NitroStackServer {
|
|
|
845
887
|
version: this.config.version,
|
|
846
888
|
description: this.config.description,
|
|
847
889
|
});
|
|
848
|
-
this.attachLegacySdkSseIfNeeded(httpTransport);
|
|
849
|
-
await httpTransport.start();
|
|
850
890
|
// Store HTTP transport reference BEFORE modules start
|
|
851
|
-
// This allows OAuthModule to register discovery endpoints
|
|
891
|
+
// This allows OAuthModule to register discovery endpoints and middleware
|
|
852
892
|
this._httpTransport = httpTransport;
|
|
853
893
|
}
|
|
854
|
-
// Call start for all modules (e.g., OAuthModule to register discovery endpoints)
|
|
894
|
+
// Call start for all modules (e.g., OAuthModule to register discovery endpoints and middleware)
|
|
855
895
|
// Now _httpTransport is available for OAuthModule to use
|
|
856
896
|
for (const moduleClass of this.modules) {
|
|
857
897
|
const moduleInstance = DIContainer.getInstance().resolve(moduleClass);
|
|
@@ -859,7 +899,12 @@ export class NitroStackServer {
|
|
|
859
899
|
await moduleInstance.start();
|
|
860
900
|
}
|
|
861
901
|
}
|
|
862
|
-
//
|
|
902
|
+
// Start HTTP listener and attach legacy SSE routes ONLY AFTER dynamic modules have finished starting
|
|
903
|
+
if ((transportType === 'dual' || transportType === 'http') && this._httpTransport) {
|
|
904
|
+
this.attachLegacySdkSseIfNeeded(this._httpTransport);
|
|
905
|
+
await this._httpTransport.start();
|
|
906
|
+
}
|
|
907
|
+
// Now complete the transport setup (connect MCP server) using the determined transportType
|
|
863
908
|
const port = parseInt(process.env.PORT || '3000');
|
|
864
909
|
const host = process.env.HOST || 'localhost';
|
|
865
910
|
await this.startWithTransport(transportType, {
|
|
@@ -888,57 +933,27 @@ export class NitroStackServer {
|
|
|
888
933
|
// DUAL transport: STDIO + HTTP SSE
|
|
889
934
|
// STDIO: For direct MCP connections (dev tools, Claude Desktop)
|
|
890
935
|
// HTTP SSE: For web-based clients and multiple concurrent connections
|
|
891
|
-
// 1.
|
|
936
|
+
// 1. Ensure the HTTP host is running (normally created by start()).
|
|
937
|
+
// The host owns /mcp and delegates protocol handling to the official SDK
|
|
938
|
+
// Streamable HTTP transport via the MCP server factory (one server per
|
|
939
|
+
// session), so no manual message forwarding is required here.
|
|
892
940
|
let httpTransport = this._httpTransport;
|
|
893
941
|
if (!httpTransport) {
|
|
894
942
|
const { StreamableHttpTransport } = await import('./transports/streamable-http.js');
|
|
895
|
-
|
|
943
|
+
const transport = new StreamableHttpTransport({
|
|
896
944
|
port: transportOptions?.port || 3000,
|
|
897
945
|
host: transportOptions?.host || 'localhost',
|
|
898
946
|
endpoint: transportOptions?.endpoint || '/mcp',
|
|
899
|
-
enableSessions: false, // Disable sessions for simpler backward compat
|
|
900
947
|
enableCors: transportOptions?.enableCors !== false, // Enable CORS by default for web clients
|
|
948
|
+
...getStreamableHttpEnvOptions(),
|
|
901
949
|
});
|
|
902
|
-
this.
|
|
903
|
-
|
|
950
|
+
transport.setMcpServerFactory(() => this.createConfiguredMcpServer());
|
|
951
|
+
this.attachLegacySdkSseIfNeeded(transport);
|
|
952
|
+
await transport.start();
|
|
953
|
+
httpTransport = transport;
|
|
904
954
|
this._httpTransport = httpTransport;
|
|
905
955
|
}
|
|
906
|
-
//
|
|
907
|
-
// Since we can't connect to two transports, manually forward HTTP messages
|
|
908
|
-
const transport = httpTransport;
|
|
909
|
-
transport.onmessage = async (message) => {
|
|
910
|
-
// Handle the message through the MCP server's internal handler
|
|
911
|
-
try {
|
|
912
|
-
// Access internal handlers - this is necessary for dual mode
|
|
913
|
-
const mcpServerInternal = this.mcpServer;
|
|
914
|
-
const handlers = mcpServerInternal._requestHandlers;
|
|
915
|
-
if (handlers && message && message.method && message.id !== undefined) {
|
|
916
|
-
const handler = handlers.get(message.method);
|
|
917
|
-
if (handler) {
|
|
918
|
-
const result = await handler(message);
|
|
919
|
-
// Send response back through HTTP transport
|
|
920
|
-
await transport.send({
|
|
921
|
-
jsonrpc: '2.0',
|
|
922
|
-
id: message.id,
|
|
923
|
-
result,
|
|
924
|
-
});
|
|
925
|
-
}
|
|
926
|
-
}
|
|
927
|
-
}
|
|
928
|
-
catch (error) {
|
|
929
|
-
const err = error;
|
|
930
|
-
// Send error response
|
|
931
|
-
await transport.send({
|
|
932
|
-
jsonrpc: '2.0',
|
|
933
|
-
id: message.id ?? null,
|
|
934
|
-
error: {
|
|
935
|
-
code: -32603,
|
|
936
|
-
message: err.message || 'Internal error',
|
|
937
|
-
},
|
|
938
|
-
});
|
|
939
|
-
}
|
|
940
|
-
};
|
|
941
|
-
// 2. Connect MCP server via STDIO for direct connections
|
|
956
|
+
// 2. Connect the primary MCP server via STDIO for direct connections.
|
|
942
957
|
const stdioTransport = new StdioServerTransport();
|
|
943
958
|
await this.mcpServer.connect(stdioTransport);
|
|
944
959
|
this.logger.info(`${this.config.name} started successfully (DUAL MODE)`);
|
|
@@ -957,9 +972,11 @@ export class NitroStackServer {
|
|
|
957
972
|
port: transportOptions?.port || 3000,
|
|
958
973
|
host: transportOptions?.host || 'localhost',
|
|
959
974
|
endpoint: transportOptions?.endpoint || '/mcp',
|
|
960
|
-
enableSessions: true,
|
|
961
975
|
enableCors: transportOptions?.enableCors || false,
|
|
976
|
+
...getStreamableHttpEnvOptions(),
|
|
962
977
|
});
|
|
978
|
+
// Delegate /mcp protocol handling to the official SDK transport.
|
|
979
|
+
transport.setMcpServerFactory(() => this.createConfiguredMcpServer());
|
|
963
980
|
// Set up tools callback and server config for documentation page
|
|
964
981
|
transport.setToolsCallback(async () => {
|
|
965
982
|
const tools = await Promise.all(Array.from(this.tools.values()).map((tool) => tool.toMcpTool()));
|
|
@@ -971,13 +988,13 @@ export class NitroStackServer {
|
|
|
971
988
|
description: this.config.description,
|
|
972
989
|
});
|
|
973
990
|
this.attachLegacySdkSseIfNeeded(transport);
|
|
974
|
-
// Start HTTP server
|
|
991
|
+
// Start HTTP server
|
|
975
992
|
await transport.start();
|
|
976
993
|
httpTransport = transport;
|
|
977
994
|
this._httpTransport = httpTransport;
|
|
978
995
|
}
|
|
979
|
-
//
|
|
980
|
-
|
|
996
|
+
// The HTTP host owns /mcp and manages its own per-session MCP servers via
|
|
997
|
+
// the factory; no direct mcpServer.connect() is needed here.
|
|
981
998
|
this.logger.info(`${this.config.name} started successfully (HTTP SSE transport)`);
|
|
982
999
|
this.logger.info(`✨ Mode: ${getAppMode().toUpperCase()} (via NITROSTACK_APP_MODE)`);
|
|
983
1000
|
this.logger.info(`🌐 Streamable HTTP: http://${transportOptions?.host || 'localhost'}:${transportOptions?.port || 3000}${transportOptions?.endpoint || '/mcp'}`);
|
package/dist/core/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"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"}
|