mcp-compose 0.0.7 → 0.1.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 +58 -11
- package/dist/bin/mcp-compose.js +8 -8
- package/dist/bin/mcp-compose.js.map +1 -1
- package/dist/bin/mcp-gateway.d.ts +3 -0
- package/dist/bin/mcp-gateway.d.ts.map +1 -0
- package/dist/bin/mcp-gateway.js +41 -0
- package/dist/bin/mcp-gateway.js.map +1 -0
- package/dist/package.json +4 -3
- package/dist/src/command.d.ts +4 -0
- package/dist/src/command.d.ts.map +1 -0
- package/dist/src/command.js +66 -0
- package/dist/src/command.js.map +1 -0
- package/dist/src/config.d.ts +2 -2
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +16 -3
- package/dist/src/config.js.map +1 -1
- package/dist/src/gateway.d.ts +22 -0
- package/dist/src/gateway.d.ts.map +1 -0
- package/dist/src/gateway.js +405 -0
- package/dist/src/gateway.js.map +1 -0
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/oauth.d.ts +37 -0
- package/dist/src/oauth.d.ts.map +1 -0
- package/dist/src/oauth.js +317 -0
- package/dist/src/oauth.js.map +1 -0
- package/dist/src/pm2.d.ts +2 -2
- package/dist/src/pm2.d.ts.map +1 -1
- package/dist/src/pm2.js +17 -18
- package/dist/src/pm2.js.map +1 -1
- package/dist/src/sync.js +1 -1
- package/dist/src/sync.js.map +1 -1
- package/dist/src/types.d.ts +19 -2
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/validation.d.ts.map +1 -1
- package/dist/src/validation.js +31 -17
- package/dist/src/validation.js.map +1 -1
- package/package.json +4 -3
- package/dist/src/supergateway.d.ts +0 -9
- package/dist/src/supergateway.d.ts.map +0 -1
- package/dist/src/supergateway.js +0 -54
- package/dist/src/supergateway.js.map +0 -1
package/dist/src/validation.js
CHANGED
|
@@ -6,6 +6,22 @@ function addError(errors, path, message) {
|
|
|
6
6
|
function isObject(value) {
|
|
7
7
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
8
8
|
}
|
|
9
|
+
function validateLogLevel(value, path, errors) {
|
|
10
|
+
if (!VALID_LOG_LEVELS.includes(value)) {
|
|
11
|
+
addError(errors, path, `must be one of: ${VALID_LOG_LEVELS.join(', ')}`);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
function validateStringRecord(value, path, errors) {
|
|
15
|
+
if (!isObject(value)) {
|
|
16
|
+
addError(errors, path, 'must be an object');
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
for (const [key, v] of Object.entries(value)) {
|
|
20
|
+
if (typeof v !== 'string') {
|
|
21
|
+
addError(errors, `${path}.${key}`, 'must be a string');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
9
25
|
function validateSettings(settings, errors) {
|
|
10
26
|
if (settings === undefined)
|
|
11
27
|
return;
|
|
@@ -28,9 +44,7 @@ function validateSettings(settings, errors) {
|
|
|
28
44
|
}
|
|
29
45
|
}
|
|
30
46
|
if ('logLevel' in settings) {
|
|
31
|
-
|
|
32
|
-
addError(errors, 'settings.logLevel', `must be one of: ${VALID_LOG_LEVELS.join(', ')}`);
|
|
33
|
-
}
|
|
47
|
+
validateLogLevel(settings['logLevel'], 'settings.logLevel', errors);
|
|
34
48
|
}
|
|
35
49
|
}
|
|
36
50
|
function validateResourceLimits(limits, path, errors) {
|
|
@@ -82,22 +96,10 @@ function validateStdioServer(server, path, errors) {
|
|
|
82
96
|
}
|
|
83
97
|
}
|
|
84
98
|
if ('env' in server) {
|
|
85
|
-
|
|
86
|
-
if (!isObject(env)) {
|
|
87
|
-
addError(errors, `${path}.env`, 'must be an object');
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
for (const [key, value] of Object.entries(env)) {
|
|
91
|
-
if (typeof value !== 'string') {
|
|
92
|
-
addError(errors, `${path}.env.${key}`, 'must be a string');
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
99
|
+
validateStringRecord(server['env'], `${path}.env`, errors);
|
|
96
100
|
}
|
|
97
101
|
if ('logLevel' in server) {
|
|
98
|
-
|
|
99
|
-
addError(errors, `${path}.logLevel`, `must be one of: ${VALID_LOG_LEVELS.join(', ')}`);
|
|
100
|
-
}
|
|
102
|
+
validateLogLevel(server['logLevel'], `${path}.logLevel`, errors);
|
|
101
103
|
}
|
|
102
104
|
if ('resourceLimits' in server) {
|
|
103
105
|
validateResourceLimits(server['resourceLimits'], `${path}.resourceLimits`, errors);
|
|
@@ -116,6 +118,18 @@ function validateRemoteServer(server, path, errors) {
|
|
|
116
118
|
addError(errors, `${path}.url`, 'must be a valid URL');
|
|
117
119
|
}
|
|
118
120
|
}
|
|
121
|
+
if ('proxy' in server && typeof server['proxy'] !== 'boolean') {
|
|
122
|
+
addError(errors, `${path}.proxy`, 'must be a boolean');
|
|
123
|
+
}
|
|
124
|
+
if ('headers' in server) {
|
|
125
|
+
validateStringRecord(server['headers'], `${path}.headers`, errors);
|
|
126
|
+
}
|
|
127
|
+
if ('logLevel' in server) {
|
|
128
|
+
validateLogLevel(server['logLevel'], `${path}.logLevel`, errors);
|
|
129
|
+
}
|
|
130
|
+
if ('resourceLimits' in server) {
|
|
131
|
+
validateResourceLimits(server['resourceLimits'], `${path}.resourceLimits`, errors);
|
|
132
|
+
}
|
|
119
133
|
}
|
|
120
134
|
function validateServer(name, server, errors) {
|
|
121
135
|
const path = `mcpServers.${name}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"AAYA,MAAM,gBAAgB,GAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC/D,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAU,CAAC;AAE7D,SAAS,QAAQ,CAAC,MAAyB,EAAE,IAAY,EAAE,OAAe;IACxE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAiB,EACjB,MAAyB;IAEzB,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO;IAEnC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IAED,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;QAC5D,CAAC;aAAM,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,KAAK,EAAE,CAAC;YAC5C,QAAQ,CAAC,MAAM,EAAE,mBAAmB,EAAE,6BAA6B,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,IAAI,kBAAkB,IAAI,QAAQ,EAAE,CAAC;QACnC,IAAI,OAAO,QAAQ,CAAC,kBAAkB,CAAC,KAAK,QAAQ,EAAE,CAAC;YACrD,QAAQ,CAAC,MAAM,EAAE,2BAA2B,EAAE,kBAAkB,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;QAC3B,
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-compose",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"description": "MCP server orchestration tool - manage multiple MCP servers with a single gateway",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
|
-
"mcp-compose": "./dist/bin/mcp-compose.js"
|
|
7
|
+
"mcp-compose": "./dist/bin/mcp-compose.js",
|
|
8
|
+
"mcp-gateway": "./dist/bin/mcp-gateway.js"
|
|
8
9
|
},
|
|
9
10
|
"main": "./dist/src/index.js",
|
|
10
11
|
"types": "./dist/src/index.d.ts",
|
|
@@ -18,7 +19,7 @@
|
|
|
18
19
|
"dist"
|
|
19
20
|
],
|
|
20
21
|
"scripts": {
|
|
21
|
-
"build": "tsc && cp package.json dist/",
|
|
22
|
+
"build": "tsc && cp package.json dist/ && chmod +x dist/bin/mcp-gateway.js",
|
|
22
23
|
"clean": "rm -rf dist",
|
|
23
24
|
"lint": "eslint src bin",
|
|
24
25
|
"lint:fix": "eslint src bin --fix",
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { StdioServer, SupergatewayCommand } from './types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Ensure supergateway is installed and return the resolved binary path.
|
|
4
|
-
* Uses npx to install if needed, then resolves the real path so pm2 can
|
|
5
|
-
* launch the binary directly without the npx wrapper process.
|
|
6
|
-
*/
|
|
7
|
-
export declare function resolveSupergatewayBin(): string;
|
|
8
|
-
export declare function buildSupergatewayCmdForServer(server: StdioServer, supergatewayBin: string): SupergatewayCommand;
|
|
9
|
-
//# sourceMappingURL=supergateway.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"supergateway.d.ts","sourceRoot":"","sources":["../../src/supergateway.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAY/C;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,GAAG,mBAAmB,CAmB/G"}
|
package/dist/src/supergateway.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { execSync } from 'child_process';
|
|
2
|
-
import { expandPath } from './config.js';
|
|
3
|
-
/**
|
|
4
|
-
* Ensure supergateway is installed and return the resolved binary path.
|
|
5
|
-
* Uses npx to install if needed, then resolves the real path so pm2 can
|
|
6
|
-
* launch the binary directly without the npx wrapper process.
|
|
7
|
-
*/
|
|
8
|
-
export function resolveSupergatewayBin() {
|
|
9
|
-
const bin = execSync('npx -y -p supergateway@latest -c "which supergateway"', {
|
|
10
|
-
encoding: 'utf-8',
|
|
11
|
-
timeout: 60_000,
|
|
12
|
-
stdio: ['ignore', 'pipe', 'ignore'],
|
|
13
|
-
}).trim();
|
|
14
|
-
if (!bin) {
|
|
15
|
-
throw new Error('Failed to resolve supergateway binary path');
|
|
16
|
-
}
|
|
17
|
-
return bin;
|
|
18
|
-
}
|
|
19
|
-
export function buildSupergatewayCmdForServer(server, supergatewayBin) {
|
|
20
|
-
const { command, args, internalPort, logLevel } = server;
|
|
21
|
-
const stdioCmd = buildStdioCommand(command, args);
|
|
22
|
-
return {
|
|
23
|
-
script: supergatewayBin,
|
|
24
|
-
args: [
|
|
25
|
-
'--stdio',
|
|
26
|
-
stdioCmd,
|
|
27
|
-
'--outputTransport',
|
|
28
|
-
'streamableHttp',
|
|
29
|
-
'--port',
|
|
30
|
-
String(internalPort),
|
|
31
|
-
'--logLevel',
|
|
32
|
-
logLevel,
|
|
33
|
-
'--stateful',
|
|
34
|
-
],
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
function buildStdioCommand(command, args) {
|
|
38
|
-
const expandedArgs = args.map((arg) => {
|
|
39
|
-
if (arg.includes('~')) {
|
|
40
|
-
return expandPath(arg);
|
|
41
|
-
}
|
|
42
|
-
return arg;
|
|
43
|
-
});
|
|
44
|
-
const allParts = [command, ...expandedArgs];
|
|
45
|
-
return allParts
|
|
46
|
-
.map((part) => {
|
|
47
|
-
if (/[\s"'\\]/.test(part)) {
|
|
48
|
-
return `"${part.replace(/["\\]/g, '\\$&')}"`;
|
|
49
|
-
}
|
|
50
|
-
return part;
|
|
51
|
-
})
|
|
52
|
-
.join(' ');
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=supergateway.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"supergateway.js","sourceRoot":"","sources":["../../src/supergateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC;;;;GAIG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,GAAG,GAAG,QAAQ,CAAC,uDAAuD,EAAE;QAC5E,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;KACpC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEV,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,MAAmB,EAAE,eAAuB;IACxF,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAEzD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAElD,OAAO;QACL,MAAM,EAAE,eAAe;QACvB,IAAI,EAAE;YACJ,SAAS;YACT,QAAQ;YACR,mBAAmB;YACnB,gBAAgB;YAChB,QAAQ;YACR,MAAM,CAAC,YAAY,CAAC;YACpB,YAAY;YACZ,QAAQ;YACR,YAAY;SACb;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe,EAAE,IAAc;IACxD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACpC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,CAAC;IAE5C,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;QAC/C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC"}
|