nitrostack 1.0.18 → 1.0.20
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/ARCHITECTURE.md +302 -0
- package/dist/cli/commands/build.js +1 -1
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/start.js +3 -3
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/mcp-dev-wrapper.js +60 -12
- package/dist/cli/mcp-dev-wrapper.js.map +1 -1
- package/dist/core/events/log-emitter.d.ts +8 -0
- package/dist/core/events/log-emitter.d.ts.map +1 -0
- package/dist/core/events/log-emitter.js +20 -0
- package/dist/core/events/log-emitter.js.map +1 -0
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js +3 -1
- package/dist/core/logger.js.map +1 -1
- package/dist/core/server.d.ts.map +1 -1
- package/dist/core/server.js +58 -14
- package/dist/core/server.js.map +1 -1
- package/dist/core/transports/streamable-http.d.ts +145 -0
- package/dist/core/transports/streamable-http.d.ts.map +1 -0
- package/dist/core/transports/streamable-http.js +691 -0
- package/dist/core/transports/streamable-http.js.map +1 -0
- package/package.json +2 -2
- package/src/studio/app/settings/page.tsx +8 -79
- package/src/studio/components/Sidebar.tsx +1 -1
- package/templates/typescript-auth/src/index.ts +27 -13
- package/templates/typescript-auth-api-key/src/index.ts +29 -14
- package/templates/typescript-auth-api-key/src/widgets/next.config.js +9 -1
- package/templates/typescript-oauth/src/index.ts +30 -9
- package/templates/typescript-oauth/src/widgets/next.config.js +9 -1
- package/templates/typescript-starter/src/index.ts +28 -4
- package/templates/typescript-starter/src/widgets/next.config.js +9 -1
- package/src/studio/package-lock.json +0 -3129
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamable-http.js","sourceRoot":"","sources":["../../../src/core/transports/streamable-http.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nitrostack",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.20",
|
|
4
4
|
"description": "NitroStack - Build powerful MCP servers with TypeScript",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/core/index.js",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
36
|
"scripts": {
|
|
37
|
-
"build": "tsc",
|
|
37
|
+
"build": "tsc && chmod +x dist/cli/index.js",
|
|
38
38
|
"dev": "tsc --watch",
|
|
39
39
|
"test": "jest",
|
|
40
40
|
"prepublishOnly": "npm run build"
|
|
@@ -5,8 +5,6 @@ import { Settings as SettingsIcon, Wifi, CheckCircle, AlertCircle } from 'lucide
|
|
|
5
5
|
|
|
6
6
|
export default function SettingsPage() {
|
|
7
7
|
const [transport, setTransport] = useState<'stdio' | 'http'>('stdio');
|
|
8
|
-
const [httpUrl, setHttpUrl] = useState('http://localhost:3002');
|
|
9
|
-
const [httpBasePath, setHttpBasePath] = useState('/mcp');
|
|
10
8
|
const [connecting, setConnecting] = useState(false);
|
|
11
9
|
const [connectionStatus, setConnectionStatus] = useState<'idle' | 'success' | 'error'>('idle');
|
|
12
10
|
const [errorMessage, setErrorMessage] = useState('');
|
|
@@ -14,12 +12,8 @@ export default function SettingsPage() {
|
|
|
14
12
|
useEffect(() => {
|
|
15
13
|
// Load saved settings from localStorage
|
|
16
14
|
const savedTransport = localStorage.getItem('mcp_transport');
|
|
17
|
-
const savedHttpUrl = localStorage.getItem('mcp_http_url');
|
|
18
|
-
const savedHttpBasePath = localStorage.getItem('mcp_http_base_path');
|
|
19
15
|
|
|
20
16
|
if (savedTransport) setTransport(savedTransport as 'stdio' | 'http');
|
|
21
|
-
if (savedHttpUrl) setHttpUrl(savedHttpUrl);
|
|
22
|
-
if (savedHttpBasePath) setHttpBasePath(savedHttpBasePath);
|
|
23
17
|
}, []);
|
|
24
18
|
|
|
25
19
|
const handleSaveSettings = async () => {
|
|
@@ -30,10 +24,6 @@ export default function SettingsPage() {
|
|
|
30
24
|
try {
|
|
31
25
|
// Save settings to localStorage
|
|
32
26
|
localStorage.setItem('mcp_transport', transport);
|
|
33
|
-
if (transport === 'http') {
|
|
34
|
-
localStorage.setItem('mcp_http_url', httpUrl);
|
|
35
|
-
localStorage.setItem('mcp_http_base_path', httpBasePath);
|
|
36
|
-
}
|
|
37
27
|
|
|
38
28
|
// Try to reconnect with new settings
|
|
39
29
|
const response = await fetch('/api/init', {
|
|
@@ -41,8 +31,6 @@ export default function SettingsPage() {
|
|
|
41
31
|
headers: { 'Content-Type': 'application/json' },
|
|
42
32
|
body: JSON.stringify({
|
|
43
33
|
transport,
|
|
44
|
-
baseUrl: httpUrl,
|
|
45
|
-
basePath: httpBasePath,
|
|
46
34
|
}),
|
|
47
35
|
});
|
|
48
36
|
|
|
@@ -93,15 +81,11 @@ export default function SettingsPage() {
|
|
|
93
81
|
</label>
|
|
94
82
|
<div className="grid grid-cols-2 gap-4">
|
|
95
83
|
<button
|
|
96
|
-
|
|
97
|
-
className={`p-4 rounded-lg border-2 transition-all text-left
|
|
98
|
-
transport === 'stdio'
|
|
99
|
-
? 'border-primary bg-primary/10'
|
|
100
|
-
: 'border-border hover:border-primary/50'
|
|
101
|
-
}`}
|
|
84
|
+
disabled
|
|
85
|
+
className={`p-4 rounded-lg border-2 transition-all text-left border-primary bg-primary/10`}
|
|
102
86
|
>
|
|
103
87
|
<div className="flex items-center gap-3 mb-2">
|
|
104
|
-
<div className={`w-3 h-3 rounded-full
|
|
88
|
+
<div className={`w-3 h-3 rounded-full bg-primary`} />
|
|
105
89
|
<h3 className="font-semibold text-foreground">STDIO</h3>
|
|
106
90
|
</div>
|
|
107
91
|
<p className="text-sm text-muted-foreground">
|
|
@@ -110,15 +94,11 @@ export default function SettingsPage() {
|
|
|
110
94
|
</button>
|
|
111
95
|
|
|
112
96
|
<button
|
|
113
|
-
|
|
114
|
-
className={`p-4 rounded-lg border-2 transition-all text-left
|
|
115
|
-
transport === 'http'
|
|
116
|
-
? 'border-primary bg-primary/10'
|
|
117
|
-
: 'border-border hover:border-primary/50'
|
|
118
|
-
}`}
|
|
97
|
+
disabled
|
|
98
|
+
className={`p-4 rounded-lg border-2 transition-all text-left border-border hover:border-primary/50`}
|
|
119
99
|
>
|
|
120
100
|
<div className="flex items-center gap-3 mb-2">
|
|
121
|
-
<div className={`w-3 h-3 rounded-full
|
|
101
|
+
<div className={`w-3 h-3 rounded-full bg-muted`} />
|
|
122
102
|
<h3 className="font-semibold text-foreground">HTTP</h3>
|
|
123
103
|
</div>
|
|
124
104
|
<p className="text-sm text-muted-foreground">
|
|
@@ -128,43 +108,6 @@ export default function SettingsPage() {
|
|
|
128
108
|
</div>
|
|
129
109
|
</div>
|
|
130
110
|
|
|
131
|
-
{/* HTTP Configuration (shown only when HTTP is selected) */}
|
|
132
|
-
{transport === 'http' && (
|
|
133
|
-
<div className="space-y-4 mb-6 p-4 bg-muted/30 rounded-lg border border-border">
|
|
134
|
-
<div>
|
|
135
|
-
<label className="block text-sm font-medium text-foreground mb-2">
|
|
136
|
-
Server URL
|
|
137
|
-
</label>
|
|
138
|
-
<input
|
|
139
|
-
type="text"
|
|
140
|
-
value={httpUrl}
|
|
141
|
-
onChange={(e) => setHttpUrl(e.target.value)}
|
|
142
|
-
placeholder="http://localhost:3002"
|
|
143
|
-
className="input"
|
|
144
|
-
/>
|
|
145
|
-
<p className="text-xs text-muted-foreground mt-1">
|
|
146
|
-
The base URL of your MCP HTTP server (default: port 3002)
|
|
147
|
-
</p>
|
|
148
|
-
</div>
|
|
149
|
-
|
|
150
|
-
<div>
|
|
151
|
-
<label className="block text-sm font-medium text-foreground mb-2">
|
|
152
|
-
Base Path
|
|
153
|
-
</label>
|
|
154
|
-
<input
|
|
155
|
-
type="text"
|
|
156
|
-
value={httpBasePath}
|
|
157
|
-
onChange={(e) => setHttpBasePath(e.target.value)}
|
|
158
|
-
placeholder="/mcp"
|
|
159
|
-
className="input"
|
|
160
|
-
/>
|
|
161
|
-
<p className="text-xs text-muted-foreground mt-1">
|
|
162
|
-
The base path for MCP endpoints
|
|
163
|
-
</p>
|
|
164
|
-
</div>
|
|
165
|
-
</div>
|
|
166
|
-
)}
|
|
167
|
-
|
|
168
111
|
{/* Port Allocation Info */}
|
|
169
112
|
<div className="mb-6 p-4 bg-blue-500/10 rounded-lg border border-blue-500/20">
|
|
170
113
|
<h4 className="font-semibold text-foreground mb-2">Port Allocation</h4>
|
|
@@ -191,23 +134,9 @@ export default function SettingsPage() {
|
|
|
191
134
|
<div>
|
|
192
135
|
<h4 className="font-semibold text-foreground mb-1">Transport Information</h4>
|
|
193
136
|
<p className="text-sm text-muted-foreground mb-2">
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
<strong>STDIO</strong> (Default): Studio spawns the MCP server as a child process and communicates
|
|
197
|
-
via standard input/output. The MCP server still runs dual transport (STDIO + HTTP on port 3002).
|
|
198
|
-
</>
|
|
199
|
-
) : (
|
|
200
|
-
<>
|
|
201
|
-
<strong>HTTP</strong>: Studio connects to the running MCP HTTP server on port 3002.
|
|
202
|
-
Use this when you want to inspect an already-running server or connect remotely.
|
|
203
|
-
</>
|
|
204
|
-
)}
|
|
137
|
+
<strong>STDIO</strong> (Default): Studio spawns the MCP server as a child process and communicates
|
|
138
|
+
via standard input/output. The MCP server still runs dual transport (STDIO + HTTP on port 3002).
|
|
205
139
|
</p>
|
|
206
|
-
{transport === 'http' && (
|
|
207
|
-
<p className="text-xs text-amber-600 dark:text-amber-500">
|
|
208
|
-
⚠️ Make sure your MCP server is running with <code>npm run dev</code> or <code>npm start</code>
|
|
209
|
-
</p>
|
|
210
|
-
)}
|
|
211
140
|
</div>
|
|
212
141
|
</div>
|
|
213
142
|
</div>
|
|
@@ -167,7 +167,7 @@ export function Sidebar() {
|
|
|
167
167
|
<div className="flex items-center justify-between text-[10px]">
|
|
168
168
|
<span className="font-medium text-muted-foreground">Transport:</span>
|
|
169
169
|
<span className="font-bold text-primary uppercase">
|
|
170
|
-
|
|
170
|
+
STDIO
|
|
171
171
|
</span>
|
|
172
172
|
</div>
|
|
173
173
|
</div>
|
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Main entry point for the MCP server.
|
|
5
5
|
* Uses the new @McpApp decorator pattern for clean, NestJS-style architecture.
|
|
6
|
+
*
|
|
7
|
+
* Transport Configuration:
|
|
8
|
+
* - Development (NODE_ENV=development): STDIO only
|
|
9
|
+
* - Production (NODE_ENV=production): Dual transport (STDIO + HTTP SSE)
|
|
6
10
|
*/
|
|
7
11
|
|
|
8
12
|
import { McpApplicationFactory } from 'nitrostack';
|
|
@@ -12,22 +16,32 @@ import { AppModule } from './app.module.js';
|
|
|
12
16
|
* Bootstrap the application
|
|
13
17
|
*/
|
|
14
18
|
async function bootstrap() {
|
|
15
|
-
// Create
|
|
19
|
+
// Create the MCP server from AppModule
|
|
16
20
|
const server = await McpApplicationFactory.create(AppModule);
|
|
17
21
|
|
|
18
|
-
//
|
|
19
|
-
|
|
20
|
-
// Note: Studio runs on 3000, Widgets on 3001, so MCP HTTP uses 3002
|
|
21
|
-
const port = parseInt(process.env.PORT || '3002');
|
|
22
|
-
await server.start('dual', {
|
|
23
|
-
port,
|
|
24
|
-
host: '0.0.0.0',
|
|
25
|
-
basePath: '/mcp',
|
|
26
|
-
});
|
|
22
|
+
// Determine transport based on environment
|
|
23
|
+
const isDevelopment = process.env.NODE_ENV === 'development' || !process.env.NODE_ENV;
|
|
27
24
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
if (isDevelopment) {
|
|
26
|
+
// Development: STDIO only (for local testing with MCP Inspector, Claude Desktop)
|
|
27
|
+
await server.start('stdio');
|
|
28
|
+
console.error('🚀 Server running in DEVELOPMENT mode (STDIO only)');
|
|
29
|
+
} else {
|
|
30
|
+
// Production: Dual transport (STDIO + HTTP SSE)
|
|
31
|
+
const port = parseInt(process.env.PORT || '3002');
|
|
32
|
+
const host = process.env.HOST || '0.0.0.0';
|
|
33
|
+
|
|
34
|
+
await server.start('dual', {
|
|
35
|
+
port,
|
|
36
|
+
host,
|
|
37
|
+
endpoint: '/mcp',
|
|
38
|
+
enableCors: process.env.ENABLE_CORS !== 'false', // Enable by default, disable with ENABLE_CORS=false
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
console.error('🚀 Server running in PRODUCTION mode (DUAL)');
|
|
42
|
+
console.error(` 📡 STDIO: Ready for direct connections`);
|
|
43
|
+
console.error(` 🌐 HTTP SSE: http://${host}:${port}/mcp`);
|
|
44
|
+
}
|
|
31
45
|
}
|
|
32
46
|
|
|
33
47
|
// Start the application
|
|
@@ -13,6 +13,10 @@ import { AppModule } from './app.module.js';
|
|
|
13
13
|
* - Easy integration with NitroStack Studio
|
|
14
14
|
* - Environment-based key management
|
|
15
15
|
*
|
|
16
|
+
* Transport Configuration:
|
|
17
|
+
* - Development (NODE_ENV=development): STDIO only
|
|
18
|
+
* - Production (NODE_ENV=production): Dual transport (STDIO + HTTP SSE)
|
|
19
|
+
*
|
|
16
20
|
* Test API Keys (provided in .env):
|
|
17
21
|
* - sk_test_public_demo_key_12345
|
|
18
22
|
* - sk_test_admin_demo_key_67890
|
|
@@ -30,20 +34,32 @@ async function bootstrap() {
|
|
|
30
34
|
console.error(' - Protected tools require valid API key');
|
|
31
35
|
console.error(' - Public tools accessible without authentication\n');
|
|
32
36
|
|
|
33
|
-
//
|
|
34
|
-
|
|
35
|
-
const port = parseInt(process.env.PORT || '3002');
|
|
36
|
-
await app.start('dual', {
|
|
37
|
-
port,
|
|
38
|
-
host: '0.0.0.0',
|
|
39
|
-
basePath: '/mcp',
|
|
40
|
-
});
|
|
37
|
+
// Determine transport based on environment
|
|
38
|
+
const isDevelopment = process.env.NODE_ENV === 'development' || !process.env.NODE_ENV;
|
|
41
39
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
40
|
+
if (isDevelopment) {
|
|
41
|
+
// Development: STDIO only (for local testing)
|
|
42
|
+
await app.start('stdio');
|
|
43
|
+
console.error('🚀 Server running in DEVELOPMENT mode (STDIO only)');
|
|
44
|
+
console.error(' Use MCP Inspector or Claude Desktop for testing\n');
|
|
45
|
+
} else {
|
|
46
|
+
// Production: Dual transport (STDIO + HTTP SSE)
|
|
47
|
+
const port = parseInt(process.env.PORT || '3002');
|
|
48
|
+
const host = process.env.HOST || '0.0.0.0';
|
|
49
|
+
|
|
50
|
+
await app.start('dual', {
|
|
51
|
+
port,
|
|
52
|
+
host,
|
|
53
|
+
endpoint: '/mcp',
|
|
54
|
+
enableCors: process.env.ENABLE_CORS !== 'false', // Enable by default, disable with ENABLE_CORS=false
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
console.error('🚀 Server running in PRODUCTION mode (DUAL)');
|
|
58
|
+
console.error(` 📡 STDIO: Ready for direct connections`);
|
|
59
|
+
console.error(` 🌐 HTTP SSE: http://${host}:${port}/mcp`);
|
|
60
|
+
console.error(' Open NitroStack Studio to test the server');
|
|
61
|
+
console.error(' Set your API key in Studio → Auth → API Key section\n');
|
|
62
|
+
}
|
|
47
63
|
|
|
48
64
|
} catch (error) {
|
|
49
65
|
console.error('❌ Failed to start server:', error);
|
|
@@ -52,4 +68,3 @@ async function bootstrap() {
|
|
|
52
68
|
}
|
|
53
69
|
|
|
54
70
|
bootstrap();
|
|
55
|
-
|
|
@@ -3,6 +3,15 @@ const nextConfig = {
|
|
|
3
3
|
reactStrictMode: true,
|
|
4
4
|
transpilePackages: ['nitrostack'],
|
|
5
5
|
|
|
6
|
+
// Static export for production builds
|
|
7
|
+
...(process.env.NODE_ENV === 'production' && {
|
|
8
|
+
output: 'export',
|
|
9
|
+
distDir: 'out',
|
|
10
|
+
images: {
|
|
11
|
+
unoptimized: true,
|
|
12
|
+
},
|
|
13
|
+
}),
|
|
14
|
+
|
|
6
15
|
// Development optimizations to prevent cache corruption
|
|
7
16
|
...(process.env.NODE_ENV === 'development' && {
|
|
8
17
|
// Use memory cache instead of filesystem cache in dev to avoid stale chunks
|
|
@@ -34,4 +43,3 @@ const nextConfig = {
|
|
|
34
43
|
};
|
|
35
44
|
|
|
36
45
|
export default nextConfig;
|
|
37
|
-
|
|
@@ -25,6 +25,10 @@ import { AppModule } from './app.module.js';
|
|
|
25
25
|
* - Okta
|
|
26
26
|
* - Keycloak
|
|
27
27
|
* - Any RFC-compliant OAuth 2.1 provider
|
|
28
|
+
*
|
|
29
|
+
* Transport Configuration:
|
|
30
|
+
* - Development (NODE_ENV=development): STDIO only
|
|
31
|
+
* - Production (NODE_ENV=production): Dual transport (STDIO + HTTP SSE)
|
|
28
32
|
*/
|
|
29
33
|
|
|
30
34
|
async function bootstrap() {
|
|
@@ -52,15 +56,33 @@ async function bootstrap() {
|
|
|
52
56
|
console.error(` Scopes: read, write, admin`);
|
|
53
57
|
console.error(` Audience: ${process.env.TOKEN_AUDIENCE || process.env.RESOURCE_URI}\n`);
|
|
54
58
|
|
|
55
|
-
//
|
|
56
|
-
const
|
|
57
|
-
const transportOptions = (app as any)._transportOptions;
|
|
58
|
-
|
|
59
|
-
await app.start(transportType, transportOptions);
|
|
59
|
+
// Determine transport based on environment
|
|
60
|
+
const isDevelopment = process.env.NODE_ENV === 'development' || !process.env.NODE_ENV;
|
|
60
61
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
if (isDevelopment) {
|
|
63
|
+
// Development: STDIO only (for local testing)
|
|
64
|
+
await app.start('stdio');
|
|
65
|
+
console.error('🚀 Server running in DEVELOPMENT mode (STDIO only)');
|
|
66
|
+
console.error(' Use MCP Inspector for testing OAuth flows\n');
|
|
67
|
+
} else {
|
|
68
|
+
// Production: Dual transport (STDIO + HTTP SSE)
|
|
69
|
+
// OAuth servers typically need HTTP transport for token validation
|
|
70
|
+
const port = parseInt(process.env.PORT || '3002');
|
|
71
|
+
const host = process.env.HOST || '0.0.0.0';
|
|
72
|
+
|
|
73
|
+
await app.start('dual', {
|
|
74
|
+
port,
|
|
75
|
+
host,
|
|
76
|
+
endpoint: '/mcp',
|
|
77
|
+
enableCors: process.env.ENABLE_CORS !== 'false', // Enable by default, disable with ENABLE_CORS=false
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
console.error('🚀 Server running in PRODUCTION mode (DUAL)');
|
|
81
|
+
console.error(` 📡 STDIO: Ready for direct connections`);
|
|
82
|
+
console.error(` 🌐 HTTP SSE: http://${host}:${port}/mcp`);
|
|
83
|
+
console.error(' Open NitroStack Studio to test OAuth 2.1 flow');
|
|
84
|
+
console.error(' Configure OAuth in Studio → Auth → OAuth 2.1 tab\n');
|
|
85
|
+
}
|
|
64
86
|
|
|
65
87
|
} catch (error) {
|
|
66
88
|
console.error('❌ Failed to start server:', error);
|
|
@@ -71,4 +93,3 @@ async function bootstrap() {
|
|
|
71
93
|
}
|
|
72
94
|
|
|
73
95
|
bootstrap();
|
|
74
|
-
|
|
@@ -3,6 +3,15 @@ const nextConfig = {
|
|
|
3
3
|
reactStrictMode: true,
|
|
4
4
|
transpilePackages: ['nitrostack'],
|
|
5
5
|
|
|
6
|
+
// Static export for production builds
|
|
7
|
+
...(process.env.NODE_ENV === 'production' && {
|
|
8
|
+
output: 'export',
|
|
9
|
+
distDir: 'out',
|
|
10
|
+
images: {
|
|
11
|
+
unoptimized: true,
|
|
12
|
+
},
|
|
13
|
+
}),
|
|
14
|
+
|
|
6
15
|
// Development optimizations to prevent cache corruption
|
|
7
16
|
...(process.env.NODE_ENV === 'development' && {
|
|
8
17
|
// Use memory cache instead of filesystem cache in dev to avoid stale chunks
|
|
@@ -34,4 +43,3 @@ const nextConfig = {
|
|
|
34
43
|
};
|
|
35
44
|
|
|
36
45
|
export default nextConfig;
|
|
37
|
-
|
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Main entry point for the MCP server.
|
|
5
5
|
* Uses the @McpApp decorator pattern for clean, NestJS-style architecture.
|
|
6
|
+
*
|
|
7
|
+
* Transport Configuration:
|
|
8
|
+
* - Development (NODE_ENV=development): STDIO only
|
|
9
|
+
* - Production (NODE_ENV=production): Dual transport (STDIO + HTTP SSE)
|
|
6
10
|
*/
|
|
7
11
|
|
|
8
12
|
import { McpApplicationFactory } from 'nitrostack';
|
|
@@ -12,11 +16,32 @@ import { AppModule } from './app.module.js';
|
|
|
12
16
|
* Bootstrap the application
|
|
13
17
|
*/
|
|
14
18
|
async function bootstrap() {
|
|
15
|
-
// Create
|
|
19
|
+
// Create the MCP server from AppModule
|
|
16
20
|
const server = await McpApplicationFactory.create(AppModule);
|
|
17
21
|
|
|
18
|
-
//
|
|
19
|
-
|
|
22
|
+
// Determine transport based on environment
|
|
23
|
+
const isDevelopment = process.env.NODE_ENV === 'development' || !process.env.NODE_ENV;
|
|
24
|
+
|
|
25
|
+
if (isDevelopment) {
|
|
26
|
+
// Development: STDIO only (for local testing with MCP Inspector, Claude Desktop)
|
|
27
|
+
await server.start('stdio');
|
|
28
|
+
console.error('🚀 Server running in DEVELOPMENT mode (STDIO only)');
|
|
29
|
+
} else {
|
|
30
|
+
// Production: Dual transport (STDIO + HTTP SSE)
|
|
31
|
+
const port = parseInt(process.env.PORT || '3000');
|
|
32
|
+
const host = process.env.HOST || 'localhost';
|
|
33
|
+
|
|
34
|
+
await server.start('dual', {
|
|
35
|
+
port,
|
|
36
|
+
host,
|
|
37
|
+
endpoint: '/mcp',
|
|
38
|
+
enableCors: process.env.ENABLE_CORS !== 'false', // Enable by default, disable with ENABLE_CORS=false
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
console.error('🚀 Server running in PRODUCTION mode (DUAL)');
|
|
42
|
+
console.error(` 📡 STDIO: Ready for direct connections`);
|
|
43
|
+
console.error(` 🌐 HTTP SSE: http://${host}:${port}/mcp`);
|
|
44
|
+
}
|
|
20
45
|
}
|
|
21
46
|
|
|
22
47
|
// Start the application
|
|
@@ -24,4 +49,3 @@ bootstrap().catch((error) => {
|
|
|
24
49
|
console.error('❌ Failed to start server:', error);
|
|
25
50
|
process.exit(1);
|
|
26
51
|
});
|
|
27
|
-
|
|
@@ -3,6 +3,15 @@ const nextConfig = {
|
|
|
3
3
|
reactStrictMode: true,
|
|
4
4
|
transpilePackages: ['nitrostack'],
|
|
5
5
|
|
|
6
|
+
// Static export for production builds
|
|
7
|
+
...(process.env.NODE_ENV === 'production' && {
|
|
8
|
+
output: 'export',
|
|
9
|
+
distDir: 'out',
|
|
10
|
+
images: {
|
|
11
|
+
unoptimized: true,
|
|
12
|
+
},
|
|
13
|
+
}),
|
|
14
|
+
|
|
6
15
|
// Development optimizations to prevent cache corruption
|
|
7
16
|
...(process.env.NODE_ENV === 'development' && {
|
|
8
17
|
// Use memory cache instead of filesystem cache in dev to avoid stale chunks
|
|
@@ -34,4 +43,3 @@ const nextConfig = {
|
|
|
34
43
|
};
|
|
35
44
|
|
|
36
45
|
export default nextConfig;
|
|
37
|
-
|