mcp-compose 0.3.2 → 0.4.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/README.md +26 -4
- package/dist/bin/mcp-compose.js +75 -19
- package/dist/bin/mcp-compose.js.map +1 -1
- package/dist/package.json +14 -3
- package/dist/src/config.d.ts +4 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +15 -2
- package/dist/src/config.js.map +1 -1
- package/dist/src/gateway.d.ts.map +1 -1
- package/dist/src/gateway.js +2059 -208
- package/dist/src/gateway.js.map +1 -1
- package/dist/src/oauth.d.ts +27 -3
- package/dist/src/oauth.d.ts.map +1 -1
- package/dist/src/oauth.js +557 -78
- package/dist/src/oauth.js.map +1 -1
- package/dist/src/sync.d.ts.map +1 -1
- package/dist/src/sync.js +70 -4
- package/dist/src/sync.js.map +1 -1
- package/dist/src/types.d.ts +9 -0
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +14 -3
package/README.md
CHANGED
|
@@ -120,10 +120,12 @@ Passthrough to remote MCP servers. No local process is started by default.
|
|
|
120
120
|
| `url` | string | Yes | Remote server URL |
|
|
121
121
|
| `disabled` | boolean | No | Skip this server |
|
|
122
122
|
| `proxy` | boolean | No | Enable local proxy with OAuth support (see below) |
|
|
123
|
-
| `headers` | object | No | Custom headers to send to the remote server
|
|
123
|
+
| `headers` | object | No | Custom headers to send to the remote server |
|
|
124
124
|
| `logLevel` | string | No | Override log level (proxy mode only) |
|
|
125
125
|
| `resourceLimits` | object | No | Process resource limits (proxy mode only) |
|
|
126
126
|
|
|
127
|
+
Without `proxy`, headers are written into the generated Claude Code and Codex configs, so any secret they carry ends up in plain text on disk. Use `"proxy": true` to keep the secret inside the gateway process instead.
|
|
128
|
+
|
|
127
129
|
#### Remote Server with OAuth Proxy
|
|
128
130
|
|
|
129
131
|
Remote servers with `"proxy": true` are proxied through a local gateway process that handles the full OAuth 2.0 lifecycle automatically. This solves the common issue where OAuth tokens expire and break MCP connections between sessions.
|
|
@@ -295,7 +297,7 @@ Prefer the `op run --env-file` flow so the tracked config contains only environm
|
|
|
295
297
|
mcp-compose up [servers...] Start or update servers (only restarts changed configs)
|
|
296
298
|
mcp-compose down [servers...] Stop servers
|
|
297
299
|
mcp-compose restart [servers...] Restart servers
|
|
298
|
-
mcp-compose status Show
|
|
300
|
+
mcp-compose status Show configured servers and their processes
|
|
299
301
|
mcp-compose logs [server] [-f] View logs (follow with -f)
|
|
300
302
|
```
|
|
301
303
|
|
|
@@ -334,7 +336,7 @@ mcp-compose logs -f
|
|
|
334
336
|
|
|
335
337
|
## How It Works
|
|
336
338
|
|
|
337
|
-
1. **stdio servers**: Wrapped by a built-in gateway that bridges stdio to [MCP Streamable HTTP](https://modelcontextprotocol.io/specification/
|
|
339
|
+
1. **stdio servers**: Wrapped by a built-in gateway that bridges stdio to [MCP Streamable HTTP](https://modelcontextprotocol.io/specification/2026-07-28/basic/transports), managed by pm2
|
|
338
340
|
2. **Remote servers**: Registered directly in Claude Code config (no local process)
|
|
339
341
|
3. **Remote servers with proxy**: Proxied through a local gateway with built-in OAuth 2.0 lifecycle management (PKCE, token refresh)
|
|
340
342
|
4. **Config sync**: Auto-updates `~/.mcp.json` for Claude Code and `~/.codex/config.toml` for Codex CLI
|
|
@@ -342,6 +344,26 @@ mcp-compose logs -f
|
|
|
342
344
|
|
|
343
345
|
Each managed server gets an internal port starting from `portBase` (default 19100). If a port is in use, the next available port is automatically selected.
|
|
344
346
|
|
|
347
|
+
### Gateway compatibility
|
|
348
|
+
|
|
349
|
+
The gateway supports the stateless [MCP 2026-07-28 transport](https://modelcontextprotocol.io/specification/2026-07-28/basic/transports) and the earlier session-based transport. It detects the client and backend eras independently, so a modern client can use a legacy backend and a legacy client can use a modern backend.
|
|
350
|
+
|
|
351
|
+
For a modern request, `_meta.io.modelcontextprotocol/protocolVersion` and `_meta.io.modelcontextprotocol/clientCapabilities` are required and must agree with `MCP-Protocol-Version`. `Mcp-Method` must match the JSON-RPC method. `Mcp-Name` is required only for `tools/call`, `prompts/get`, and `resources/read`, where it must match the named tool, prompt, or resource. Mismatched, missing, malformed, unsupported, or extra routing headers are rejected before forwarding.
|
|
352
|
+
|
|
353
|
+
Modern-to-modern proxy traffic is relayed without legacy compatibility handling, including the client request ID and request-scoped SSE events. The gateway synthesizes only the explicit era bridge: `initialize` and `server/discover`, session metadata, completion markers, resource-not-found error codes, and legacy-only methods. When a legacy client uses a modern backend, its `clientInfo` and capabilities become the modern per-request metadata. A legacy backend is initialized once by the gateway, rather than once per downstream client session.
|
|
354
|
+
|
|
355
|
+
`subscriptions/listen` uses the standard `notifications` filter object and a separate SSE stream. A locally synthesized legacy subscription first emits `notifications/subscriptions/acknowledged`, then matches backend notification methods against the requested standard or extension filters; every frame carries `_meta.io.modelcontextprotocol/subscriptionId` equal to the listen request's JSON-RPC ID. Internal ownership keeps identical request IDs from different clients isolated. Modern backends retain their own subscription stream unchanged for both client eras. Request-scoped events never leak into a subscription, and legacy change notifications never leak into an unrelated request. Idle locally synthesized streams send keep-alive comments.
|
|
356
|
+
|
|
357
|
+
For proxy servers, configured headers, supported protocol metadata, and `Mcp-Param-*` extension headers are forwarded upstream; arbitrary client headers are not. The gateway preserves an upstream status and only the safe response headers (`Content-Type`, `Cache-Control`, `WWW-Authenticate`, and `MCP-Protocol-Version`) for same-era proxy responses. Cross-era responses use gateway-generated transport metadata.
|
|
358
|
+
|
|
359
|
+
The local endpoint accepts requests without an `Origin` header for native MCP clients. Browser requests must use a literal loopback origin (`localhost`, `127.0.0.1`, or `[::1]`); other origins are rejected and not reflected in CORS headers.
|
|
360
|
+
|
|
361
|
+
Managed OAuth follows the [MCP authorization specification](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization): it requires advertised PKCE `S256` support, verifies that protected-resource metadata binds to the exact requested resource, validates the exact authorization-server issuer and callback issuer, and cancels discovery, token work, and the callback listener when the client request ends. A `Bearer` challenge scope is authoritative; when it is absent on an initial authorization, protected-resource `scopes_supported` supplies the scope. A 401 challenge or 403 `insufficient_scope` response can start authorization. Step-up requests the union of the existing grant and newly challenged scopes, while an unscoped retry retains the existing grant and refresh never expands it. Only `Bearer` token responses are forwarded to the MCP server.
|
|
362
|
+
|
|
363
|
+
In passthrough mode, a shared legacy upstream session, including the deprecated HTTP+SSE (`"type": "sse"`) transport, is bound to the credential that created it. A request with another credential is rejected until that session closes; its cleanup uses the owning credential. An HTTP+SSE server may advertise a message endpoint only on the configured upstream origin. Modern upstream requests remain independently credentialed.
|
|
364
|
+
|
|
365
|
+
The gateway does not translate legacy server-initiated sampling, elicitation, or roots requests into multi-round-trip requests (MRTR). Those requests are dropped rather than being delivered on another request or subscription stream.
|
|
366
|
+
|
|
345
367
|
## Features
|
|
346
368
|
|
|
347
369
|
- **Zero external dependencies for transport**: Built-in MCP gateway replaces supergateway and mcp-remote
|
|
@@ -351,7 +373,7 @@ Each managed server gets an internal port starting from `portBase` (default 1910
|
|
|
351
373
|
- **Config validation**: Validates configuration structure with helpful error messages
|
|
352
374
|
- **Resource limits**: Control memory usage and restart behavior per server
|
|
353
375
|
- **Process management**: Auto-restart with configurable limits via pm2
|
|
354
|
-
- **Non-destructive config sync**: Merges with existing Claude Code config
|
|
376
|
+
- **Non-destructive config sync**: Merges with existing Claude Code config, and drops only the entries it wrote itself once a server is disabled or removed
|
|
355
377
|
|
|
356
378
|
## Requirements
|
|
357
379
|
|
package/dist/bin/mcp-compose.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Command } from 'commander';
|
|
3
|
-
import { loadConfig, getManagedServers, getServerNames, } from '../src/config.js';
|
|
3
|
+
import { loadConfig, getManagedServers, getRemoteServers, getServerNames, isRemoteServer, } from '../src/config.js';
|
|
4
4
|
import pkg from '../package.json' with { type: 'json' };
|
|
5
5
|
const { version } = pkg;
|
|
6
6
|
import { startServers, stopServers, stopAllManagedServers, stopOrphanedServers, restartServers, getStatus, streamLogs, } from '../src/pm2.js';
|
|
@@ -34,6 +34,26 @@ function printProgress(event) {
|
|
|
34
34
|
if (msg)
|
|
35
35
|
console.log(msg);
|
|
36
36
|
}
|
|
37
|
+
function printRemoved(removed) {
|
|
38
|
+
if (removed.length > 0) {
|
|
39
|
+
console.log(` Removed disabled/deleted: ${removed.join(', ')}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// Anything not listed here is a pm2 failure state (stopped, errored, ...) and shows red
|
|
43
|
+
const STATUS_COLORS = {
|
|
44
|
+
online: '\x1b[32m',
|
|
45
|
+
remote: '\x1b[36m',
|
|
46
|
+
'not started': '\x1b[90m',
|
|
47
|
+
};
|
|
48
|
+
function toStatusRow(s) {
|
|
49
|
+
return {
|
|
50
|
+
name: s.name,
|
|
51
|
+
status: s.status,
|
|
52
|
+
pid: String(s.pid ?? '-'),
|
|
53
|
+
memory: s.memory ? `${String(Math.round(s.memory / 1024 / 1024))}MB` : '-',
|
|
54
|
+
restarts: String(s.restarts),
|
|
55
|
+
};
|
|
56
|
+
}
|
|
37
57
|
const program = new Command();
|
|
38
58
|
function getConfigPath(cmd) {
|
|
39
59
|
return cmd.parent?.opts().config;
|
|
@@ -57,11 +77,13 @@ program
|
|
|
57
77
|
const config = loadConfig(getConfigPath(cmd));
|
|
58
78
|
const { processPrefix, portBase } = config.settings;
|
|
59
79
|
const managedServers = getManagedServers(config);
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
80
|
+
const matchesFilter = (name) => servers.length === 0 || servers.includes(name);
|
|
81
|
+
const filteredServers = managedServers.filter((s) => matchesFilter(s.name));
|
|
82
|
+
const remoteNames = getRemoteServers(config)
|
|
83
|
+
.map((s) => s.name)
|
|
84
|
+
.filter(matchesFilter);
|
|
85
|
+
if (filteredServers.length === 0 && remoteNames.length === 0 && servers.length > 0) {
|
|
86
|
+
console.log('No servers match the filter.');
|
|
65
87
|
}
|
|
66
88
|
if (filteredServers.length > 0) {
|
|
67
89
|
const results = await startServers(filteredServers, processPrefix, portBase, printProgress, {
|
|
@@ -75,10 +97,17 @@ program
|
|
|
75
97
|
}
|
|
76
98
|
}
|
|
77
99
|
}
|
|
78
|
-
//
|
|
100
|
+
// Remote servers run no local process, so nothing above reports them.
|
|
101
|
+
// List them anyway, otherwise `up` looks like it dropped them.
|
|
102
|
+
for (const name of remoteNames) {
|
|
103
|
+
console.log(` ${name} is remote (no local process)`);
|
|
104
|
+
}
|
|
105
|
+
// When starting all servers, clean up orphaned processes from removed servers.
|
|
106
|
+
// Only managed names survive here, so dropping `proxy` from a remote server
|
|
107
|
+
// also stops the gateway it used to run behind.
|
|
79
108
|
if (servers.length === 0) {
|
|
80
|
-
const
|
|
81
|
-
const orphaned = await stopOrphanedServers(
|
|
109
|
+
const managedNames = managedServers.map((s) => s.name);
|
|
110
|
+
const orphaned = await stopOrphanedServers(managedNames, processPrefix, printProgress);
|
|
82
111
|
if (orphaned.length > 0) {
|
|
83
112
|
console.log('');
|
|
84
113
|
console.log(` Cleaned up ${String(orphaned.length)} removed server(s): ${orphaned.join(', ')}`);
|
|
@@ -87,8 +116,10 @@ program
|
|
|
87
116
|
console.log('');
|
|
88
117
|
const claudeResult = syncToClaudeConfig(config);
|
|
89
118
|
console.log(` ✓ Synced ${claudeResult.path}`);
|
|
119
|
+
printRemoved(claudeResult.removed);
|
|
90
120
|
const codexResult = syncToCodexConfig(config);
|
|
91
121
|
console.log(` ✓ Synced ${codexResult.path}`);
|
|
122
|
+
printRemoved(codexResult.removed);
|
|
92
123
|
if (codexResult.skipped.length > 0) {
|
|
93
124
|
console.log(` ⚠ Skipped (codex requires streamable HTTP, use proxy:true for SSE): ${codexResult.skipped.join(', ')}`);
|
|
94
125
|
}
|
|
@@ -160,23 +191,40 @@ program
|
|
|
160
191
|
program
|
|
161
192
|
.command('status')
|
|
162
193
|
.description('Show status of MCP servers')
|
|
163
|
-
.action(async () => {
|
|
194
|
+
.action(async (_options, cmd) => {
|
|
164
195
|
try {
|
|
165
|
-
const
|
|
166
|
-
|
|
196
|
+
const config = loadConfig(getConfigPath(cmd));
|
|
197
|
+
const running = new Map((await getStatus()).map((s) => [s.name, s]));
|
|
198
|
+
const rows = [];
|
|
199
|
+
for (const [name, server] of Object.entries(config.mcpServers)) {
|
|
200
|
+
if (isRemoteServer(server)) {
|
|
201
|
+
rows.push({ name, status: 'remote', pid: '-', memory: '-', restarts: '-' });
|
|
202
|
+
continue;
|
|
203
|
+
}
|
|
204
|
+
const proc = running.get(name);
|
|
205
|
+
if (proc) {
|
|
206
|
+
rows.push(toStatusRow(proc));
|
|
207
|
+
running.delete(name);
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
rows.push({ name, status: 'not started', pid: '-', memory: '-', restarts: '-' });
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
// Processes left over from servers the config no longer declares
|
|
214
|
+
for (const proc of running.values()) {
|
|
215
|
+
rows.push(toStatusRow(proc));
|
|
216
|
+
}
|
|
217
|
+
if (rows.length === 0) {
|
|
167
218
|
console.log('No MCP servers running.');
|
|
168
219
|
return;
|
|
169
220
|
}
|
|
170
221
|
console.log('MCP Servers:\n');
|
|
171
|
-
console.log(' Name Status
|
|
222
|
+
console.log(' Name Status PID Memory Restarts');
|
|
172
223
|
console.log(' ' + '-'.repeat(65));
|
|
173
|
-
for (const
|
|
174
|
-
const
|
|
175
|
-
? `${String(Math.round(s.memory / 1024 / 1024))}MB`
|
|
176
|
-
: '-';
|
|
177
|
-
const statusColor = s.status === 'online' ? '\x1b[32m' : '\x1b[31m';
|
|
224
|
+
for (const row of rows) {
|
|
225
|
+
const color = STATUS_COLORS[row.status] ?? '\x1b[31m';
|
|
178
226
|
const reset = '\x1b[0m';
|
|
179
|
-
console.log(` ${
|
|
227
|
+
console.log(` ${row.name.padEnd(20)} ${color}${row.status.padEnd(12)}${reset} ${row.pid.padEnd(8)} ${row.memory.padEnd(10)} ${row.restarts}`);
|
|
180
228
|
}
|
|
181
229
|
}
|
|
182
230
|
catch (err) {
|
|
@@ -193,6 +241,14 @@ program
|
|
|
193
241
|
try {
|
|
194
242
|
const config = loadConfig(getConfigPath(cmd));
|
|
195
243
|
const { processPrefix } = config.settings;
|
|
244
|
+
const remoteNames = getRemoteServers(config).map((s) => s.name);
|
|
245
|
+
if (server !== undefined && remoteNames.includes(server)) {
|
|
246
|
+
console.log(`${server} is remote (no local process, so no logs)`);
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
if (server === undefined && remoteNames.length > 0) {
|
|
250
|
+
console.log(`Remote servers have no logs: ${remoteNames.join(', ')}\n`);
|
|
251
|
+
}
|
|
196
252
|
streamLogs(server, processPrefix, { follow: options.follow, err: options.err });
|
|
197
253
|
}
|
|
198
254
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-compose.js","sourceRoot":"","sources":["../../bin/mcp-compose.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-compose.js","sourceRoot":"","sources":["../../bin/mcp-compose.ts"],"names":[],"mappings":"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"}
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-compose",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "MCP server orchestration tool - manage multiple MCP servers with a single gateway",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
"clean": "rm -rf dist",
|
|
24
24
|
"lint": "eslint src bin",
|
|
25
25
|
"lint:fix": "eslint src bin --fix",
|
|
26
|
+
"test": "npm run build && node --test test/*.test.mjs",
|
|
26
27
|
"typecheck": "tsc --noEmit",
|
|
27
28
|
"prepublishOnly": "npm run clean && npm run build",
|
|
28
29
|
"start": "node dist/bin/mcp-compose.js"
|
|
@@ -47,15 +48,25 @@
|
|
|
47
48
|
"dependencies": {
|
|
48
49
|
"commander": "^12.1.0",
|
|
49
50
|
"cross-spawn": "^7.0.6",
|
|
50
|
-
"pm2": "^7.0.
|
|
51
|
+
"pm2": "^7.0.4",
|
|
51
52
|
"smol-toml": "^1.6.1",
|
|
52
53
|
"string-env-interpolation": "^1.0.1",
|
|
53
54
|
"strip-json-comments": "^5.0.3"
|
|
54
55
|
},
|
|
55
56
|
"overrides": {
|
|
56
57
|
"pm2": {
|
|
57
|
-
"js-yaml": "^4.2
|
|
58
|
+
"js-yaml": "^4.3.2",
|
|
58
59
|
"ws": "^8.21.0"
|
|
60
|
+
},
|
|
61
|
+
"ip-address": "^10.7.0",
|
|
62
|
+
"@humanfs/node": "0.16.8",
|
|
63
|
+
"minimatch": {
|
|
64
|
+
"brace-expansion": "1.1.18"
|
|
65
|
+
},
|
|
66
|
+
"@typescript-eslint/typescript-estree": {
|
|
67
|
+
"minimatch": {
|
|
68
|
+
"brace-expansion": "2.1.4"
|
|
69
|
+
}
|
|
59
70
|
}
|
|
60
71
|
},
|
|
61
72
|
"devDependencies": {
|
package/dist/src/config.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RawConfig, NormalizedConfig, NamedManagedServer } from './types.js';
|
|
1
|
+
import type { RawConfig, NormalizedConfig, NormalizedServer, RemoteServer, NamedManagedServer, NamedRemoteServer } from './types.js';
|
|
2
2
|
export declare function expandPath(p: string): string;
|
|
3
3
|
export declare function findConfigFile(startDir?: string): string | null;
|
|
4
4
|
export declare function loadConfig(configPath?: string): NormalizedConfig;
|
|
@@ -9,4 +9,7 @@ export declare function isPortAvailable(port: number): Promise<boolean>;
|
|
|
9
9
|
export declare function normalizeConfig(config: RawConfig): NormalizedConfig;
|
|
10
10
|
export declare function getServerNames(config: NormalizedConfig, filter?: string[]): string[];
|
|
11
11
|
export declare function getManagedServers(config: NormalizedConfig): NamedManagedServer[];
|
|
12
|
+
/** Remote servers are passed through to the client untouched: no local process, so nothing for pm2 to report. */
|
|
13
|
+
export declare function isRemoteServer(server: NormalizedServer): server is RemoteServer;
|
|
14
|
+
export declare function getRemoteServers(config: NormalizedConfig): NamedRemoteServer[];
|
|
12
15
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/src/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAEV,SAAS,EAET,gBAAgB,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAEV,SAAS,EAET,gBAAgB,EAChB,gBAAgB,EAGhB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EAElB,MAAM,YAAY,CAAC;AAkBpB,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAK5C;AAED,wBAAgB,cAAc,CAAC,QAAQ,GAAE,MAAsB,GAAG,MAAM,GAAG,IAAI,CAe9E;AAED,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,gBAAgB,CA+BhE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAa9D;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,gBAAgB,CA6BnE;AA4DD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,gBAAgB,EACxB,MAAM,GAAE,MAAM,EAAO,GACpB,MAAM,EAAE,CAgBV;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,kBAAkB,EAAE,CAKhF;AAED,iHAAiH;AACjH,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,IAAI,YAAY,CAE/E;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,iBAAiB,EAAE,CAI9E"}
|
package/dist/src/config.js
CHANGED
|
@@ -87,9 +87,11 @@ export function normalizeConfig(config) {
|
|
|
87
87
|
settings.claudeConfigPath = expandPath(settings.claudeConfigPath);
|
|
88
88
|
settings.codexConfigPath = expandPath(settings.codexConfigPath);
|
|
89
89
|
const mcpServers = {};
|
|
90
|
+
const disabledServers = [];
|
|
90
91
|
let portIndex = 0;
|
|
91
92
|
for (const [name, server] of Object.entries(config.mcpServers ?? {})) {
|
|
92
93
|
if (server.disabled) {
|
|
94
|
+
disabledServers.push(name);
|
|
93
95
|
continue;
|
|
94
96
|
}
|
|
95
97
|
const normalized = normalizeServer(name, server, settings.portBase + portIndex, settings);
|
|
@@ -101,6 +103,7 @@ export function normalizeConfig(config) {
|
|
|
101
103
|
return {
|
|
102
104
|
settings,
|
|
103
105
|
mcpServers,
|
|
106
|
+
disabledServers,
|
|
104
107
|
configPath: config.configPath,
|
|
105
108
|
};
|
|
106
109
|
}
|
|
@@ -128,16 +131,16 @@ function normalizeServer(name, server, internalPort, settings) {
|
|
|
128
131
|
if (!('url' in server) || !server.url) {
|
|
129
132
|
throw new Error(`Server "${name}" is ${type} type but missing url`);
|
|
130
133
|
}
|
|
134
|
+
const headers = ('headers' in server ? server.headers : undefined) ?? {};
|
|
131
135
|
// Proxy mode: gateway connects directly to remote server with OAuth lifecycle management
|
|
132
136
|
if ('proxy' in server && server.proxy) {
|
|
133
|
-
const headers = 'headers' in server ? server.headers : undefined;
|
|
134
137
|
const authMode = ('auth' in server ? server.auth : undefined) ?? 'managed';
|
|
135
138
|
return {
|
|
136
139
|
type: 'proxy',
|
|
137
140
|
url: server.url,
|
|
138
141
|
transport: type,
|
|
139
142
|
authMode,
|
|
140
|
-
headers
|
|
143
|
+
headers,
|
|
141
144
|
internalPort,
|
|
142
145
|
logLevel: server.logLevel ?? settings.logLevel,
|
|
143
146
|
resourceLimits: { ...DEFAULT_RESOURCE_LIMITS, ...server.resourceLimits },
|
|
@@ -146,6 +149,7 @@ function normalizeServer(name, server, internalPort, settings) {
|
|
|
146
149
|
return {
|
|
147
150
|
type,
|
|
148
151
|
url: server.url,
|
|
152
|
+
headers,
|
|
149
153
|
};
|
|
150
154
|
}
|
|
151
155
|
export function getServerNames(config, filter = []) {
|
|
@@ -165,4 +169,13 @@ export function getManagedServers(config) {
|
|
|
165
169
|
.filter((entry) => entry[1].type === 'stdio' || entry[1].type === 'proxy')
|
|
166
170
|
.map(([name, server]) => ({ name, ...server }));
|
|
167
171
|
}
|
|
172
|
+
/** Remote servers are passed through to the client untouched: no local process, so nothing for pm2 to report. */
|
|
173
|
+
export function isRemoteServer(server) {
|
|
174
|
+
return server.type !== 'stdio' && server.type !== 'proxy';
|
|
175
|
+
}
|
|
176
|
+
export function getRemoteServers(config) {
|
|
177
|
+
return Object.entries(config.mcpServers)
|
|
178
|
+
.filter((entry) => isRemoteServer(entry[1]))
|
|
179
|
+
.map(([name, server]) => ({ name, ...server }));
|
|
180
|
+
}
|
|
168
181
|
//# sourceMappingURL=config.js.map
|
package/dist/src/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/gateway.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAIrD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAEvE,MAAM,WAAW,OAAO;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/gateway.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAIrD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAEvE,MAAM,WAAW,OAAO;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AA8lDD,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CA+jC9D"}
|