@sonoma-security/mcp-gateway 0.1.2 → 0.1.5
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 +104 -45
- package/dist/__tests__/config.test.js +28 -0
- package/dist/__tests__/config.test.js.map +1 -1
- package/dist/__tests__/ssrf-protection.test.d.ts +2 -0
- package/dist/__tests__/ssrf-protection.test.d.ts.map +1 -0
- package/dist/__tests__/ssrf-protection.test.js +389 -0
- package/dist/__tests__/ssrf-protection.test.js.map +1 -0
- package/dist/auth/client.d.ts +2 -0
- package/dist/auth/client.d.ts.map +1 -1
- package/dist/auth/client.js +17 -15
- package/dist/auth/client.js.map +1 -1
- package/dist/auth/crypto.d.ts +23 -0
- package/dist/auth/crypto.d.ts.map +1 -0
- package/dist/auth/crypto.js +78 -0
- package/dist/auth/crypto.js.map +1 -0
- package/dist/auth/index.d.ts +4 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +4 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/server.d.ts +2 -0
- package/dist/auth/server.d.ts.map +1 -1
- package/dist/auth/server.js +337 -59
- package/dist/auth/server.js.map +1 -1
- package/dist/auth/storage.d.ts.map +1 -1
- package/dist/auth/storage.js +2 -72
- package/dist/auth/storage.js.map +1 -1
- package/dist/auth/upstream-oauth-provider.d.ts +41 -0
- package/dist/auth/upstream-oauth-provider.d.ts.map +1 -0
- package/dist/auth/upstream-oauth-provider.js +88 -0
- package/dist/auth/upstream-oauth-provider.js.map +1 -0
- package/dist/auth/upstream-oauth.d.ts +31 -0
- package/dist/auth/upstream-oauth.d.ts.map +1 -0
- package/dist/auth/upstream-oauth.js +79 -0
- package/dist/auth/upstream-oauth.js.map +1 -0
- package/dist/auth/upstream-token-store.d.ts +27 -0
- package/dist/auth/upstream-token-store.d.ts.map +1 -0
- package/dist/auth/upstream-token-store.js +103 -0
- package/dist/auth/upstream-token-store.js.map +1 -0
- package/dist/cli.js +115 -86
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +30 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +203 -9
- package/dist/config.js.map +1 -1
- package/dist/gateway.d.ts +23 -1
- package/dist/gateway.d.ts.map +1 -1
- package/dist/gateway.js +224 -35
- package/dist/gateway.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/pattern-matcher.d.ts +47 -0
- package/dist/pattern-matcher.d.ts.map +1 -0
- package/dist/pattern-matcher.js +98 -0
- package/dist/pattern-matcher.js.map +1 -0
- package/dist/sonoma-client.d.ts +21 -5
- package/dist/sonoma-client.d.ts.map +1 -1
- package/dist/sonoma-client.js +42 -2
- package/dist/sonoma-client.js.map +1 -1
- package/dist/ssrf-protection.d.ts +59 -0
- package/dist/ssrf-protection.d.ts.map +1 -0
- package/dist/ssrf-protection.js +253 -0
- package/dist/ssrf-protection.js.map +1 -0
- package/dist/types.d.ts +6 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -27,9 +27,38 @@ export declare function loadConfig(configPath: string): GatewayConfig;
|
|
|
27
27
|
*/
|
|
28
28
|
export declare function loadFromParentConfig(configPath: string, gatewayName?: string): GatewayConfig;
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
30
|
+
* All known MCP config locations to search
|
|
31
|
+
*
|
|
32
|
+
* This is the canonical list of MCP config paths across all known clients.
|
|
33
|
+
* Sources:
|
|
34
|
+
* - Claude Code: https://code.claude.com/docs/en/mcp
|
|
35
|
+
* - Claude Desktop: Official Anthropic docs
|
|
36
|
+
* - Cursor: https://docs.cursor.com/context/model-context-protocol
|
|
37
|
+
* - Windsurf: Codeium's editor
|
|
38
|
+
*
|
|
39
|
+
* Note: Claude Code's ~/.claude/settings.json does NOT work for MCP servers
|
|
40
|
+
* (it's for permissions only). Use ~/.claude.json instead.
|
|
41
|
+
*/
|
|
42
|
+
export interface McpConfigLocation {
|
|
43
|
+
path: string;
|
|
44
|
+
name: string;
|
|
45
|
+
description?: string;
|
|
46
|
+
}
|
|
47
|
+
export declare function getMcpConfigPaths(): McpConfigLocation[];
|
|
48
|
+
/**
|
|
49
|
+
* Find Claude Desktop config file (legacy function for backward compatibility)
|
|
31
50
|
*/
|
|
32
51
|
export declare function findClaudeDesktopConfig(): string | null;
|
|
52
|
+
/**
|
|
53
|
+
* Auto-detect MCP config file containing a Sonoma gateway entry
|
|
54
|
+
*
|
|
55
|
+
* Searches common MCP config locations for a config that has a Sonoma gateway
|
|
56
|
+
* entry with nested servers. Returns the path and detected gateway name.
|
|
57
|
+
*/
|
|
58
|
+
export declare function autoDetectConfig(debug?: boolean): {
|
|
59
|
+
path: string;
|
|
60
|
+
gatewayName: string;
|
|
61
|
+
} | null;
|
|
33
62
|
/**
|
|
34
63
|
* Create a minimal test config
|
|
35
64
|
*/
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAmB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAmB,MAAM,YAAY,CAAC;AAqFjE;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAmB5D;AA0BD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,SAAW,GAAG,aAAa,CAsE9F;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,iBAAiB,IAAI,iBAAiB,EAAE,CAyDvD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAwBvD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,UAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAsD5F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD"}
|
package/dist/config.js
CHANGED
|
@@ -2,18 +2,79 @@
|
|
|
2
2
|
* Config loader for MCP Gateway
|
|
3
3
|
* Parses Claude Desktop / Cursor style MCP configs
|
|
4
4
|
*/
|
|
5
|
-
import { readFileSync, existsSync } from "node:fs";
|
|
6
|
-
import { homedir } from "node:os";
|
|
7
|
-
import { join } from "node:path";
|
|
5
|
+
import { readFileSync, existsSync, realpathSync } from "node:fs";
|
|
6
|
+
import { homedir, tmpdir } from "node:os";
|
|
7
|
+
import { join, normalize } from "node:path";
|
|
8
|
+
/**
|
|
9
|
+
* Validate that a config path is safe to read.
|
|
10
|
+
* Prevents potential file inclusion attacks by ensuring paths:
|
|
11
|
+
* 1. End in .json (expected config format)
|
|
12
|
+
* 2. Don't contain path traversal sequences after normalization
|
|
13
|
+
* 3. Resolve to an expected location
|
|
14
|
+
*/
|
|
15
|
+
function validateConfigPath(configPath) {
|
|
16
|
+
// Normalize the path to resolve . and ..
|
|
17
|
+
const normalizedPath = normalize(configPath);
|
|
18
|
+
// Must end in .json
|
|
19
|
+
if (!normalizedPath.toLowerCase().endsWith(".json")) {
|
|
20
|
+
throw new Error(`Invalid config path: ${configPath}. Config files must have .json extension.`);
|
|
21
|
+
}
|
|
22
|
+
// Check for path traversal attempts that would escape after normalization
|
|
23
|
+
// This catches things like /etc/../../../passwd.json
|
|
24
|
+
if (existsSync(normalizedPath)) {
|
|
25
|
+
try {
|
|
26
|
+
const realPath = realpathSync(normalizedPath);
|
|
27
|
+
const home = homedir();
|
|
28
|
+
// Allow paths within:
|
|
29
|
+
// - User's home directory
|
|
30
|
+
// - /usr/local/etc/sonoma (MDM configs)
|
|
31
|
+
// - Current working directory
|
|
32
|
+
// - System temp directory (for tests and transient configs)
|
|
33
|
+
// Note: Use realpathSync on tmpdir to handle macOS /var -> /private/var symlink
|
|
34
|
+
const tempDir = tmpdir();
|
|
35
|
+
let resolvedTempDir = tempDir;
|
|
36
|
+
try {
|
|
37
|
+
resolvedTempDir = realpathSync(tempDir);
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
// Ignore if temp dir doesn't exist (unlikely)
|
|
41
|
+
}
|
|
42
|
+
const allowedPrefixes = [
|
|
43
|
+
home,
|
|
44
|
+
"/usr/local/etc/sonoma",
|
|
45
|
+
process.cwd(),
|
|
46
|
+
tempDir,
|
|
47
|
+
resolvedTempDir,
|
|
48
|
+
// Windows paths
|
|
49
|
+
process.env.APPDATA || "",
|
|
50
|
+
process.env.LOCALAPPDATA || "",
|
|
51
|
+
].filter(Boolean);
|
|
52
|
+
const isAllowed = allowedPrefixes.some((prefix) => realPath.startsWith(prefix) || realPath === prefix);
|
|
53
|
+
if (!isAllowed) {
|
|
54
|
+
throw new Error(`Config path not in allowed location: ${configPath}. ` +
|
|
55
|
+
`Allowed: home directory, /usr/local/etc/sonoma, or current directory.`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
catch (e) {
|
|
59
|
+
// realpathSync will throw if file doesn't exist - that's fine, existsSync handles that
|
|
60
|
+
if (e.code !== "ENOENT") {
|
|
61
|
+
throw e;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
8
66
|
/**
|
|
9
67
|
* Load gateway config from a JSON file
|
|
10
68
|
*/
|
|
11
69
|
export function loadConfig(configPath) {
|
|
70
|
+
validateConfigPath(configPath);
|
|
12
71
|
if (!existsSync(configPath)) {
|
|
13
72
|
throw new Error(`Config file not found: ${configPath}`);
|
|
14
73
|
}
|
|
15
74
|
const content = readFileSync(configPath, "utf-8");
|
|
16
|
-
|
|
75
|
+
// Strip UTF-8 BOM if present (Windows PowerShell adds this)
|
|
76
|
+
const cleanContent = content.replace(/^\uFEFF/, "");
|
|
77
|
+
const raw = JSON.parse(cleanContent);
|
|
17
78
|
// Check if this is a Claude Desktop style config
|
|
18
79
|
if ("mcpServers" in raw && raw.mcpServers) {
|
|
19
80
|
return convertClaudeConfig(raw);
|
|
@@ -28,11 +89,17 @@ function convertClaudeConfig(config) {
|
|
|
28
89
|
const servers = [];
|
|
29
90
|
if (config.mcpServers) {
|
|
30
91
|
for (const [name, server] of Object.entries(config.mcpServers)) {
|
|
92
|
+
if (server.disabled)
|
|
93
|
+
continue;
|
|
94
|
+
if (!server.command && !server.url)
|
|
95
|
+
continue;
|
|
31
96
|
servers.push({
|
|
32
97
|
name,
|
|
33
98
|
command: server.command,
|
|
34
99
|
args: server.args,
|
|
35
100
|
env: server.env,
|
|
101
|
+
url: server.url,
|
|
102
|
+
headers: server.headers,
|
|
36
103
|
});
|
|
37
104
|
}
|
|
38
105
|
}
|
|
@@ -58,20 +125,24 @@ function convertClaudeConfig(config) {
|
|
|
58
125
|
*/
|
|
59
126
|
export function loadFromParentConfig(configPath, gatewayName = "sonoma") {
|
|
60
127
|
const expandedPath = configPath.replace(/^~/, homedir());
|
|
128
|
+
validateConfigPath(expandedPath);
|
|
61
129
|
if (!existsSync(expandedPath)) {
|
|
62
130
|
throw new Error(`Parent config file not found: ${expandedPath}`);
|
|
63
131
|
}
|
|
64
132
|
const content = readFileSync(expandedPath, "utf-8");
|
|
65
|
-
|
|
133
|
+
// Strip UTF-8 BOM if present (Windows PowerShell adds this)
|
|
134
|
+
const cleanContent = content.replace(/^\uFEFF/, "");
|
|
135
|
+
const raw = JSON.parse(cleanContent);
|
|
66
136
|
if (!raw.mcpServers) {
|
|
67
137
|
throw new Error(`No mcpServers found in ${expandedPath}`);
|
|
68
138
|
}
|
|
69
|
-
// Find our gateway entry - try common names
|
|
139
|
+
// Find our gateway entry - try common names (only match entries with nested servers)
|
|
70
140
|
const gatewayNames = [gatewayName, "sonoma", "sonoma-gateway", "sonoma-local-gateway", "mcp-gateway"];
|
|
71
141
|
let gatewayEntry;
|
|
72
142
|
for (const name of gatewayNames) {
|
|
73
|
-
|
|
74
|
-
|
|
143
|
+
const entry = raw.mcpServers[name];
|
|
144
|
+
if (entry?.servers && Object.keys(entry.servers).length > 0) {
|
|
145
|
+
gatewayEntry = entry;
|
|
75
146
|
break;
|
|
76
147
|
}
|
|
77
148
|
}
|
|
@@ -79,6 +150,10 @@ export function loadFromParentConfig(configPath, gatewayName = "sonoma") {
|
|
|
79
150
|
// Fall back to loading all servers except our own gateway
|
|
80
151
|
const servers = [];
|
|
81
152
|
for (const [name, server] of Object.entries(raw.mcpServers)) {
|
|
153
|
+
if (server.disabled)
|
|
154
|
+
continue;
|
|
155
|
+
if (!server.command && !server.url)
|
|
156
|
+
continue;
|
|
82
157
|
// Skip gateway entries (they have --mcp-json-path in args)
|
|
83
158
|
const isGateway = server.args?.some(arg => arg.includes("mcp-gateway") || arg.includes("--mcp-json-path"));
|
|
84
159
|
if (!isGateway) {
|
|
@@ -87,6 +162,8 @@ export function loadFromParentConfig(configPath, gatewayName = "sonoma") {
|
|
|
87
162
|
command: server.command,
|
|
88
163
|
args: server.args,
|
|
89
164
|
env: server.env,
|
|
165
|
+
url: server.url,
|
|
166
|
+
headers: server.headers,
|
|
90
167
|
});
|
|
91
168
|
}
|
|
92
169
|
}
|
|
@@ -95,17 +172,77 @@ export function loadFromParentConfig(configPath, gatewayName = "sonoma") {
|
|
|
95
172
|
// Extract nested servers from gateway entry
|
|
96
173
|
const servers = [];
|
|
97
174
|
for (const [name, server] of Object.entries(gatewayEntry.servers)) {
|
|
175
|
+
if (server.disabled)
|
|
176
|
+
continue;
|
|
177
|
+
if (!server.command && !server.url)
|
|
178
|
+
continue;
|
|
98
179
|
servers.push({
|
|
99
180
|
name,
|
|
100
181
|
command: server.command,
|
|
101
182
|
args: server.args,
|
|
102
183
|
env: server.env,
|
|
184
|
+
url: server.url,
|
|
185
|
+
headers: server.headers,
|
|
103
186
|
});
|
|
104
187
|
}
|
|
105
188
|
return { servers };
|
|
106
189
|
}
|
|
190
|
+
export function getMcpConfigPaths() {
|
|
191
|
+
const platform = process.platform;
|
|
192
|
+
const home = homedir();
|
|
193
|
+
const paths = [];
|
|
194
|
+
// Claude Code user config (works for MCP servers)
|
|
195
|
+
// This is the recommended location for Claude Code CLI
|
|
196
|
+
paths.push({
|
|
197
|
+
path: join(home, ".claude.json"),
|
|
198
|
+
name: "Claude Code",
|
|
199
|
+
description: "User-level MCP servers for Claude Code CLI",
|
|
200
|
+
});
|
|
201
|
+
// Cursor config (most common for developers)
|
|
202
|
+
paths.push({
|
|
203
|
+
path: join(home, ".cursor", "mcp.json"),
|
|
204
|
+
name: "Cursor",
|
|
205
|
+
description: "Cursor editor MCP config",
|
|
206
|
+
});
|
|
207
|
+
// Claude Desktop config (platform-specific)
|
|
208
|
+
if (platform === "darwin") {
|
|
209
|
+
paths.push({
|
|
210
|
+
path: join(home, "Library", "Application Support", "Claude", "claude_desktop_config.json"),
|
|
211
|
+
name: "Claude Desktop",
|
|
212
|
+
description: "Claude Desktop app (macOS)",
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
else if (platform === "win32") {
|
|
216
|
+
paths.push({
|
|
217
|
+
path: join(process.env.APPDATA || "", "Claude", "claude_desktop_config.json"),
|
|
218
|
+
name: "Claude Desktop",
|
|
219
|
+
description: "Claude Desktop app (Windows)",
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
// Linux
|
|
224
|
+
paths.push({
|
|
225
|
+
path: join(home, ".config", "Claude", "claude_desktop_config.json"),
|
|
226
|
+
name: "Claude Desktop",
|
|
227
|
+
description: "Claude Desktop app (Linux)",
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
// VS Code
|
|
231
|
+
paths.push({
|
|
232
|
+
path: join(home, ".vscode", "mcp.json"),
|
|
233
|
+
name: "VS Code",
|
|
234
|
+
description: "VS Code MCP config (if supported)",
|
|
235
|
+
});
|
|
236
|
+
// Windsurf (Codeium's editor)
|
|
237
|
+
paths.push({
|
|
238
|
+
path: join(home, ".codeium", "windsurf", "mcp_config.json"),
|
|
239
|
+
name: "Windsurf",
|
|
240
|
+
description: "Windsurf editor MCP config",
|
|
241
|
+
});
|
|
242
|
+
return paths;
|
|
243
|
+
}
|
|
107
244
|
/**
|
|
108
|
-
* Find Claude Desktop config file
|
|
245
|
+
* Find Claude Desktop config file (legacy function for backward compatibility)
|
|
109
246
|
*/
|
|
110
247
|
export function findClaudeDesktopConfig() {
|
|
111
248
|
const platform = process.platform;
|
|
@@ -122,6 +259,63 @@ export function findClaudeDesktopConfig() {
|
|
|
122
259
|
}
|
|
123
260
|
return existsSync(configPath) ? configPath : null;
|
|
124
261
|
}
|
|
262
|
+
/**
|
|
263
|
+
* Auto-detect MCP config file containing a Sonoma gateway entry
|
|
264
|
+
*
|
|
265
|
+
* Searches common MCP config locations for a config that has a Sonoma gateway
|
|
266
|
+
* entry with nested servers. Returns the path and detected gateway name.
|
|
267
|
+
*/
|
|
268
|
+
export function autoDetectConfig(debug = false) {
|
|
269
|
+
const configPaths = getMcpConfigPaths();
|
|
270
|
+
const gatewayPatterns = [
|
|
271
|
+
"sonoma",
|
|
272
|
+
"sonoma-gateway",
|
|
273
|
+
"sonoma-local-gateway",
|
|
274
|
+
"sonoma-local-gateway-npm",
|
|
275
|
+
"mcp-gateway",
|
|
276
|
+
"@sonoma-security/mcp-gateway",
|
|
277
|
+
];
|
|
278
|
+
for (const { path, name } of configPaths) {
|
|
279
|
+
if (!existsSync(path)) {
|
|
280
|
+
if (debug)
|
|
281
|
+
console.error(`[config] Not found: ${path}`);
|
|
282
|
+
continue;
|
|
283
|
+
}
|
|
284
|
+
try {
|
|
285
|
+
const content = readFileSync(path, "utf-8");
|
|
286
|
+
// Strip UTF-8 BOM if present (Windows PowerShell adds this)
|
|
287
|
+
const cleanContent = content.replace(/^\uFEFF/, "");
|
|
288
|
+
const config = JSON.parse(cleanContent);
|
|
289
|
+
if (!config.mcpServers)
|
|
290
|
+
continue;
|
|
291
|
+
// Look for a gateway entry with nested servers
|
|
292
|
+
for (const gatewayName of gatewayPatterns) {
|
|
293
|
+
const entry = config.mcpServers[gatewayName];
|
|
294
|
+
if (entry?.servers && Object.keys(entry.servers).length > 0) {
|
|
295
|
+
if (debug) {
|
|
296
|
+
console.error(`[config] Found ${name} config with gateway "${gatewayName}": ${path}`);
|
|
297
|
+
}
|
|
298
|
+
return { path, gatewayName };
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
// Also check if any entry has @sonoma-security/mcp-gateway in args
|
|
302
|
+
for (const [entryName, entry] of Object.entries(config.mcpServers)) {
|
|
303
|
+
const isSonomaGateway = entry.args?.some((arg) => arg.includes("@sonoma-security/mcp-gateway") || arg.includes("sonoma-mcp-gateway"));
|
|
304
|
+
if (isSonomaGateway && entry.servers && Object.keys(entry.servers).length > 0) {
|
|
305
|
+
if (debug) {
|
|
306
|
+
console.error(`[config] Found ${name} config with gateway "${entryName}": ${path}`);
|
|
307
|
+
}
|
|
308
|
+
return { path, gatewayName: entryName };
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
catch {
|
|
313
|
+
if (debug)
|
|
314
|
+
console.error(`[config] Failed to parse: ${path}`);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
return null;
|
|
318
|
+
}
|
|
125
319
|
/**
|
|
126
320
|
* Create a minimal test config
|
|
127
321
|
*/
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/gateway.d.ts
CHANGED
|
@@ -23,11 +23,20 @@ export declare class McpGateway {
|
|
|
23
23
|
private sonomaClient;
|
|
24
24
|
private policy;
|
|
25
25
|
private policyRefreshInterval;
|
|
26
|
+
private upstreamTokenStore;
|
|
26
27
|
private started;
|
|
27
28
|
constructor(config: GatewayConfig);
|
|
28
29
|
private log;
|
|
29
30
|
/**
|
|
30
31
|
* Check if a tool is blocked by policy
|
|
32
|
+
*
|
|
33
|
+
* Supports both server-level and tool-level blocking:
|
|
34
|
+
* - Server-level: `toolPattern = null` blocks/allows entire server
|
|
35
|
+
* - Tool-level: `toolPattern = "read_*"` blocks/allows specific tools
|
|
36
|
+
*
|
|
37
|
+
* Priority ordering: higher priority wins, then more specific patterns
|
|
38
|
+
* Deny wins: in case of equal priority, blocked status takes precedence
|
|
39
|
+
*
|
|
31
40
|
* @returns true if blocked, false if allowed
|
|
32
41
|
*/
|
|
33
42
|
private isToolBlocked;
|
|
@@ -36,7 +45,20 @@ export declare class McpGateway {
|
|
|
36
45
|
*/
|
|
37
46
|
private setupHandlers;
|
|
38
47
|
/**
|
|
39
|
-
*
|
|
48
|
+
* Create a stdio transport for command-based servers.
|
|
49
|
+
*/
|
|
50
|
+
private createStdioTransport;
|
|
51
|
+
/**
|
|
52
|
+
* Build HTTP request options from config headers.
|
|
53
|
+
*/
|
|
54
|
+
private getHttpRequestInit;
|
|
55
|
+
/**
|
|
56
|
+
* Connect a client to a transport with a timeout.
|
|
57
|
+
*/
|
|
58
|
+
private connectWithTimeout;
|
|
59
|
+
/**
|
|
60
|
+
* Connect to an upstream MCP server.
|
|
61
|
+
* For URL-based servers, tries StreamableHTTP first, then falls back to SSE.
|
|
40
62
|
*/
|
|
41
63
|
private connectUpstream;
|
|
42
64
|
/**
|
package/dist/gateway.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAiBH,OAAO,KAAK,EACV,aAAa,EAEb,aAAa,EACd,MAAM,YAAY,CAAC;AA0BpB,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,qBAAqB,CAA+C;IAC5E,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,aAAa;IA8BjC,OAAO,CAAC,GAAG;IAOX;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,aAAa;IAoGrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAuJrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAyB5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;OAEG;YACW,kBAAkB;IAehC;;;OAGG;YACW,eAAe;IA0H7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA8CzB;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;YACW,aAAa;IAW3B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkE5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmC3B;;OAEG;IACH,SAAS,IAAI,aAAa,EAAE;IAI5B;;OAEG;IACH,WAAW,IAAI,IAAI;CAGpB"}
|