@luutuankiet/mcp-proxy-shim 1.1.0-dev.1 → 1.1.1
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 +144 -9
- package/dist/core.js +165 -18
- package/dist/core.js.map +1 -1
- package/dist/daemon.d.ts +45 -0
- package/dist/daemon.js +608 -0
- package/dist/daemon.js.map +1 -0
- package/dist/index.d.ts +8 -3
- package/dist/index.js +30 -8
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -197,6 +197,138 @@ Each downstream client gets its own MCP session, but all sessions **share a sing
|
|
|
197
197
|
| `/mcp` | DELETE | `?apikey=` | Session termination |
|
|
198
198
|
| `/health` | GET | None | Health check (session count, uptime) |
|
|
199
199
|
|
|
200
|
+
### Option C: Daemon Mode (multi-server MCP gateway)
|
|
201
|
+
|
|
202
|
+
Run a standalone gateway that connects to **multiple** MCP servers (stdio or HTTP) and exposes all their tools through a single HTTP endpoint. Pure passthrough — no schema transformation.
|
|
203
|
+
|
|
204
|
+
**Use case:** Cloud agents (claude.ai/code, Codespaces, etc.) that can't spawn MCP servers on the fly.
|
|
205
|
+
|
|
206
|
+
```
|
|
207
|
+
Cloud Agent ──HTTP──▶ daemon (:3456) ──┬── stdio ──▶ github MCP
|
|
208
|
+
├── stdio ──▶ filesystem MCP
|
|
209
|
+
└── HTTP ──▶ remote API (with auth headers)
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
#### Inline config
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
MCP_SERVERS='{
|
|
216
|
+
"github": {
|
|
217
|
+
"type": "stdio",
|
|
218
|
+
"command": "npx",
|
|
219
|
+
"args": ["-y", "@modelcontextprotocol/server-github"],
|
|
220
|
+
"env": { "GITHUB_TOKEN": "ghp_..." }
|
|
221
|
+
},
|
|
222
|
+
"my-api": {
|
|
223
|
+
"type": "streamableHttp",
|
|
224
|
+
"url": "https://api.example.com/mcp",
|
|
225
|
+
"headers": { "Authorization": "Bearer xxx", "X-Org-Id": "org_123" }
|
|
226
|
+
}
|
|
227
|
+
}' npx @luutuankiet/mcp-proxy-shim daemon
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
#### Config file
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
MCP_CONFIG=./mcp-servers.json npx @luutuankiet/mcp-proxy-shim daemon
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
The config file supports three formats:
|
|
237
|
+
- Flat: `{ "server-name": { "type": "stdio", ... } }`
|
|
238
|
+
- Wrapped: `{ "servers": { "server-name": { ... } } }`
|
|
239
|
+
- `.mcp.json` format: `{ "mcpServers": { "server-name": { ... } } }`
|
|
240
|
+
|
|
241
|
+
#### How clients use it
|
|
242
|
+
|
|
243
|
+
All upstream tools are **namespaced** with the server name as prefix:
|
|
244
|
+
|
|
245
|
+
```
|
|
246
|
+
github__get_file_contents ← from the "github" server
|
|
247
|
+
my-api__query ← from the "my-api" server
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
A built-in `daemon_help` tool provides a full usage guide:
|
|
251
|
+
|
|
252
|
+
```json
|
|
253
|
+
{ "name": "daemon_help", "arguments": {} }
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
Returns connected servers, all tools with namespaced names, and calling examples. You can also filter to a specific server for full schemas:
|
|
257
|
+
|
|
258
|
+
```json
|
|
259
|
+
{ "name": "daemon_help", "arguments": { "server": "github" } }
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
The daemon also returns `instructions` in the MCP `initialize` response, so MCP clients that support server instructions will automatically know how to use it.
|
|
263
|
+
|
|
264
|
+
#### Server config reference
|
|
265
|
+
|
|
266
|
+
**Stdio servers** (spawn a local process):
|
|
267
|
+
|
|
268
|
+
```json
|
|
269
|
+
{
|
|
270
|
+
"type": "stdio",
|
|
271
|
+
"command": "npx",
|
|
272
|
+
"args": ["-y", "@modelcontextprotocol/server-github"],
|
|
273
|
+
"env": { "GITHUB_TOKEN": "ghp_..." },
|
|
274
|
+
"cwd": "/optional/working/directory"
|
|
275
|
+
}
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
**HTTP Streamable servers** (connect to remote MCP):
|
|
279
|
+
|
|
280
|
+
```json
|
|
281
|
+
{
|
|
282
|
+
"type": "streamableHttp",
|
|
283
|
+
"url": "https://api.example.com/mcp",
|
|
284
|
+
"headers": {
|
|
285
|
+
"Authorization": "Bearer your-token",
|
|
286
|
+
"X-Custom-Header": "value"
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
The `headers` field supports any custom HTTP headers — useful for authentication, org routing, or API versioning.
|
|
292
|
+
|
|
293
|
+
#### Daemon environment variables
|
|
294
|
+
|
|
295
|
+
| Variable | Default | Description |
|
|
296
|
+
|----------|---------|-------------|
|
|
297
|
+
| `MCP_SERVERS` | — | JSON string with server configs (inline) |
|
|
298
|
+
| `MCP_CONFIG` | — | Path to JSON config file (alternative to MCP_SERVERS) |
|
|
299
|
+
| `MCP_PORT` | `3456` | Port to listen on |
|
|
300
|
+
| `MCP_HOST` | `0.0.0.0` | Host to bind to |
|
|
301
|
+
| `MCP_APIKEY` | — (open) | Require `?apikey=KEY` on `/mcp` requests |
|
|
302
|
+
| `https_proxy` | — | HTTPS proxy for HTTP upstream connections |
|
|
303
|
+
|
|
304
|
+
#### Daemon endpoints
|
|
305
|
+
|
|
306
|
+
| Endpoint | Method | Description |
|
|
307
|
+
|----------|--------|-------------|
|
|
308
|
+
| `/mcp` | POST | MCP JSON-RPC (initialize, tools/list, tools/call) |
|
|
309
|
+
| `/mcp` | GET | SSE stream reconnection |
|
|
310
|
+
| `/mcp` | DELETE | Session termination |
|
|
311
|
+
| `/health` | GET | Per-server status, tool counts, uptime |
|
|
312
|
+
|
|
313
|
+
#### Production deployment
|
|
314
|
+
|
|
315
|
+
```yaml
|
|
316
|
+
# docker-compose.yml
|
|
317
|
+
services:
|
|
318
|
+
mcp-daemon:
|
|
319
|
+
image: node:22-slim
|
|
320
|
+
command: npx -y @luutuankiet/mcp-proxy-shim daemon
|
|
321
|
+
environment:
|
|
322
|
+
- MCP_CONFIG=/config/servers.json
|
|
323
|
+
- MCP_APIKEY=your-secret
|
|
324
|
+
ports:
|
|
325
|
+
- "3456:3456"
|
|
326
|
+
volumes:
|
|
327
|
+
- ./mcp-servers.json:/config/servers.json:ro
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
---
|
|
331
|
+
|
|
200
332
|
## Why Not `/mcp/all`?
|
|
201
333
|
|
|
202
334
|
mcpproxy-go exposes two routing modes:
|
|
@@ -253,13 +385,15 @@ We tested this live: added a YNAB financial tool mid-session → 43 new tools ap
|
|
|
253
385
|
|
|
254
386
|
### Transport Modes
|
|
255
387
|
|
|
256
|
-
| Feature | Stdio | HTTP Streamable (`serve`) |
|
|
257
|
-
|
|
258
|
-
| Use case | Local MCP client (Claude Code, Cursor) | Remote agents,
|
|
259
|
-
| Connection | stdin/stdout | HTTP
|
|
260
|
-
|
|
|
261
|
-
|
|
|
262
|
-
|
|
|
388
|
+
| Feature | Stdio | HTTP Streamable (`serve`) | Daemon (`daemon`) |
|
|
389
|
+
|---------|-------|--------------------------|-------------------|
|
|
390
|
+
| Use case | Local MCP client (Claude Code, Cursor) | Remote agents, single upstream | Cloud agents, multi-server gateway |
|
|
391
|
+
| Connection | stdin/stdout | HTTP on `/mcp` | HTTP on `/mcp` |
|
|
392
|
+
| Upstreams | Single (mcpproxy-go) | Single (mcpproxy-go) | Multiple (stdio + HTTP) |
|
|
393
|
+
| Schema transforms | `args_json` → `args` | `args_json` → `args` | None (pure passthrough) |
|
|
394
|
+
| Auth | N/A (local process) | Optional `?apikey=` | Optional `?apikey=` |
|
|
395
|
+
| Multi-client | Single | Multiple sessions | Multiple sessions |
|
|
396
|
+
| Custom headers | N/A | N/A | Per-upstream `headers` config |
|
|
263
397
|
|
|
264
398
|
### Session Management
|
|
265
399
|
|
|
@@ -301,8 +435,9 @@ git clone https://github.com/luutuankiet/mcp-proxy-shim
|
|
|
301
435
|
cd mcp-proxy-shim
|
|
302
436
|
npm install
|
|
303
437
|
npm run build
|
|
304
|
-
npm start
|
|
305
|
-
npm run start:http
|
|
438
|
+
npm start # stdio mode (connects upstream, waits for stdio)
|
|
439
|
+
npm run start:http # HTTP serve mode
|
|
440
|
+
node dist/index.js daemon # daemon mode (set MCP_SERVERS or MCP_CONFIG)
|
|
306
441
|
```
|
|
307
442
|
|
|
308
443
|
### Testing
|
package/dist/core.js
CHANGED
|
@@ -189,7 +189,11 @@ function transformToolSchema(tool) {
|
|
|
189
189
|
delete props.args_json;
|
|
190
190
|
props.args = {
|
|
191
191
|
type: "object",
|
|
192
|
-
description: "
|
|
192
|
+
description: "The upstream tool's arguments as a native JSON object (not a string). " +
|
|
193
|
+
"Use describe_tools to get the upstream tool's inputSchema, then pass " +
|
|
194
|
+
"those fields here directly. Example: if the upstream tool expects " +
|
|
195
|
+
'{owner: string, repo: string}, pass args: {"owner": "foo", "repo": "bar"}. ' +
|
|
196
|
+
"Nested strings containing JSON are fine — only the top-level args must be an object.",
|
|
193
197
|
additionalProperties: true,
|
|
194
198
|
};
|
|
195
199
|
let required = tool.inputSchema.required;
|
|
@@ -205,16 +209,91 @@ function transformToolSchema(tool) {
|
|
|
205
209
|
},
|
|
206
210
|
};
|
|
207
211
|
}
|
|
212
|
+
/**
|
|
213
|
+
* Validate and re-serialize a JSON string to canonical form.
|
|
214
|
+
* The upstream Go server expects args_json to unmarshal into map[string]interface{}.
|
|
215
|
+
*
|
|
216
|
+
* CRITICAL: Always re-serializes from the parsed object via JSON.stringify()
|
|
217
|
+
* rather than passing through the raw input string. This prevents failures when
|
|
218
|
+
* args arrives as a pre-serialized string from the LLM with non-canonical
|
|
219
|
+
* escaping, encoding quirks, or formatting that Go's json.Unmarshal rejects.
|
|
220
|
+
* See: https://github.com/luutuankiet/mcp-proxy-shim/issues/1
|
|
221
|
+
*
|
|
222
|
+
* Throws ArgsValidationError on invalid input — never silently drops data.
|
|
223
|
+
*/
|
|
224
|
+
class ArgsValidationError extends Error {
|
|
225
|
+
constructor(message) {
|
|
226
|
+
super(message);
|
|
227
|
+
this.name = "ArgsValidationError";
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
function validateAndSerializeArgs(jsonStr) {
|
|
231
|
+
let parsed;
|
|
232
|
+
try {
|
|
233
|
+
parsed = JSON.parse(jsonStr);
|
|
234
|
+
}
|
|
235
|
+
catch (err) {
|
|
236
|
+
throw new ArgsValidationError(`args is a string but not valid JSON. The "args" field must be a native JSON object, ` +
|
|
237
|
+
`not a pre-serialized string. Pass args as {"key": "value"}, not as '{"key": "value"}'. ` +
|
|
238
|
+
`Parse error: ${err.message}. Input (first 200 chars): ${jsonStr.slice(0, 200)}`);
|
|
239
|
+
}
|
|
240
|
+
if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
241
|
+
const actualType = parsed === null ? "null" : Array.isArray(parsed) ? "array" : typeof parsed;
|
|
242
|
+
throw new ArgsValidationError(`args must be a JSON object, got ${actualType}. ` +
|
|
243
|
+
`Pass args as {"key": "value"}, not as a primitive or array. ` +
|
|
244
|
+
`Input: ${jsonStr.slice(0, 200)}`);
|
|
245
|
+
}
|
|
246
|
+
// Re-serialize from parsed object for canonical JSON.
|
|
247
|
+
// Do NOT return jsonStr directly — the raw string from the LLM may have
|
|
248
|
+
// non-canonical escaping (e.g., \\/ vs /, unicode escapes, whitespace)
|
|
249
|
+
// that Go's json.Unmarshal handles differently than Node's JSON.parse.
|
|
250
|
+
return JSON.stringify(parsed);
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Transform call_tool_* arguments: args:object → args_json:string.
|
|
254
|
+
* Returns the transformed args, or throws ArgsValidationError if
|
|
255
|
+
* the client sends malformed args.
|
|
256
|
+
*/
|
|
208
257
|
function transformToolCallArgs(toolName, args) {
|
|
209
258
|
if (!CALL_TOOL_NAMES.has(toolName))
|
|
210
259
|
return args;
|
|
211
|
-
if ("args_json" in args)
|
|
212
|
-
|
|
260
|
+
if ("args_json" in args) {
|
|
261
|
+
// Backward compat: if args_json is already present, ensure it's a string.
|
|
262
|
+
const existing = args.args_json;
|
|
263
|
+
if (typeof existing === "string") {
|
|
264
|
+
return { ...args, args_json: validateAndSerializeArgs(existing) };
|
|
265
|
+
}
|
|
266
|
+
// If it's an object, stringify it.
|
|
267
|
+
if (existing !== null && existing !== undefined && typeof existing === "object") {
|
|
268
|
+
return { ...args, args_json: JSON.stringify(existing) };
|
|
269
|
+
}
|
|
270
|
+
throw new ArgsValidationError(`args_json must be a JSON string or object, got ${existing === null ? "null" : typeof existing}. ` +
|
|
271
|
+
`Pass args_json as '{"key": "value"}' (string) or use the "args" field with a native object instead.`);
|
|
272
|
+
}
|
|
213
273
|
if ("args" in args) {
|
|
214
274
|
const { args: argsObj, ...rest } = args;
|
|
275
|
+
let argsJson;
|
|
276
|
+
if (argsObj === null || argsObj === undefined) {
|
|
277
|
+
// Nullish args — treat as empty object (common for tools with no required params)
|
|
278
|
+
argsJson = "{}";
|
|
279
|
+
}
|
|
280
|
+
else if (typeof argsObj === "string") {
|
|
281
|
+
// LLM sent args as a pre-serialized string — validate and re-serialize.
|
|
282
|
+
argsJson = validateAndSerializeArgs(argsObj);
|
|
283
|
+
}
|
|
284
|
+
else if (typeof argsObj === "object" && !Array.isArray(argsObj)) {
|
|
285
|
+
// Happy path: native object → serialize.
|
|
286
|
+
// Nested strings containing JSON are fine — JSON.stringify handles them correctly.
|
|
287
|
+
argsJson = JSON.stringify(argsObj);
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
const actualType = Array.isArray(argsObj) ? "array" : typeof argsObj;
|
|
291
|
+
throw new ArgsValidationError(`args must be a JSON object, got ${actualType}. ` +
|
|
292
|
+
`Pass args as {"key": "value"}. Use describe_tools to get the upstream tool's inputSchema.`);
|
|
293
|
+
}
|
|
215
294
|
return {
|
|
216
295
|
...rest,
|
|
217
|
-
args_json:
|
|
296
|
+
args_json: argsJson,
|
|
218
297
|
};
|
|
219
298
|
}
|
|
220
299
|
return args;
|
|
@@ -331,6 +410,45 @@ async function fetchUpstreamTools() {
|
|
|
331
410
|
log(`Fetched ${tools.length} upstream tools`);
|
|
332
411
|
return tools;
|
|
333
412
|
}
|
|
413
|
+
// ---------------------------------------------------------------------------
|
|
414
|
+
// Tool name resolution helpers
|
|
415
|
+
// ---------------------------------------------------------------------------
|
|
416
|
+
/**
|
|
417
|
+
* Resolve a tool name against an index map, handling server prefixes and
|
|
418
|
+
* suffix matching for mount-path variations.
|
|
419
|
+
*/
|
|
420
|
+
function resolveToolFromIndex(name, index) {
|
|
421
|
+
// 1. Exact match
|
|
422
|
+
let tool = index.get(name);
|
|
423
|
+
if (tool)
|
|
424
|
+
return tool;
|
|
425
|
+
// 2. Try without server prefix (e.g., "utils:bi-platform__query" → "bi-platform__query")
|
|
426
|
+
if (name.includes(":")) {
|
|
427
|
+
const withoutPrefix = name.split(":").slice(1).join(":");
|
|
428
|
+
tool = index.get(withoutPrefix);
|
|
429
|
+
if (tool)
|
|
430
|
+
return tool;
|
|
431
|
+
}
|
|
432
|
+
// 3. Try suffix/prefix matching — check all indexed tools
|
|
433
|
+
for (const [key, candidate] of index) {
|
|
434
|
+
if (key.endsWith(name) || name.endsWith(key)) {
|
|
435
|
+
return candidate;
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
// 4. Fuzzy suffix match — handle mount-path variations
|
|
439
|
+
const nParts = name.includes(":") ? name.split(":").slice(1).join(":").split("__") : name.split("__");
|
|
440
|
+
const nSuffix = nParts[nParts.length - 1];
|
|
441
|
+
if (nSuffix) {
|
|
442
|
+
for (const [, candidate] of index) {
|
|
443
|
+
const cParts = candidate.name.split("__");
|
|
444
|
+
const cSuffix = cParts[cParts.length - 1];
|
|
445
|
+
if (cSuffix === nSuffix && candidate.name.includes(nParts[0])) {
|
|
446
|
+
return candidate;
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
return undefined;
|
|
451
|
+
}
|
|
334
452
|
/**
|
|
335
453
|
* Create and wire up an MCP Server with all shim handlers.
|
|
336
454
|
* Caller connects their chosen transport (stdio or HTTP).
|
|
@@ -384,11 +502,32 @@ export async function createShimServer(options = {}) {
|
|
|
384
502
|
}
|
|
385
503
|
await ensureSession();
|
|
386
504
|
const nameSet = new Set(names);
|
|
505
|
+
// Always query live BM25 — no caching. Generate multiple search
|
|
506
|
+
// queries per tool name for broader coverage:
|
|
507
|
+
// 1. Raw name as-is (exact match in BM25 — most targeted)
|
|
508
|
+
// 2. Full name with separators → spaces (e.g., "bi-platform query")
|
|
509
|
+
// 3. Last __ segment only (e.g., "query") as a broader fallback
|
|
510
|
+
// 4. First __ segment (e.g., "bi-platform") for server/mount prefix matching
|
|
387
511
|
const queries = new Set();
|
|
388
512
|
for (const n of nameSet) {
|
|
389
|
-
|
|
390
|
-
const
|
|
391
|
-
|
|
513
|
+
// Strip optional "server:" prefix for searching
|
|
514
|
+
const withoutServer = n.includes(":") ? n.split(":").slice(1).join(":") : n;
|
|
515
|
+
// Raw name as-is — BM25 often matches exact tool names better than transformed queries
|
|
516
|
+
queries.add(withoutServer);
|
|
517
|
+
// Full name → spaces (primary query, most specific)
|
|
518
|
+
queries.add(withoutServer.replace(/__/g, " ").replace(/[-_]/g, " "));
|
|
519
|
+
// Segment-based queries for compound names
|
|
520
|
+
const parts = withoutServer.split("__");
|
|
521
|
+
if (parts.length > 1) {
|
|
522
|
+
// Last segment: tool action (e.g., "query", "edit_files")
|
|
523
|
+
const toolPart = parts[parts.length - 1] || withoutServer;
|
|
524
|
+
queries.add(toolPart.replace(/[-_]/g, " "));
|
|
525
|
+
// First segment: server/mount prefix (e.g., "looker-da", "hetzner_at_slash")
|
|
526
|
+
const prefixPart = parts[0];
|
|
527
|
+
if (prefixPart && prefixPart !== toolPart) {
|
|
528
|
+
queries.add(prefixPart.replace(/[-_]/g, " ") + " " + toolPart.replace(/[-_]/g, " "));
|
|
529
|
+
}
|
|
530
|
+
}
|
|
392
531
|
}
|
|
393
532
|
const index = new Map();
|
|
394
533
|
for (const query of queries) {
|
|
@@ -398,18 +537,13 @@ export async function createShimServer(options = {}) {
|
|
|
398
537
|
name: "retrieve_tools",
|
|
399
538
|
arguments: { query },
|
|
400
539
|
});
|
|
401
|
-
log("describe_tools: resp exists:", !!resp, "resp.result exists:", !!resp?.result);
|
|
402
540
|
if (resp?.result) {
|
|
403
541
|
const unwrapped = deepUnwrapResult(resp.result);
|
|
404
|
-
log("describe_tools: unwrapped type:", typeof unwrapped, "isArray:", Array.isArray(unwrapped));
|
|
405
|
-
if (unwrapped && typeof unwrapped === "object" && !Array.isArray(unwrapped)) {
|
|
406
|
-
log("describe_tools: unwrapped keys:", Object.keys(unwrapped).join(", "));
|
|
407
|
-
}
|
|
408
542
|
const result = unwrapped;
|
|
409
543
|
const tools = Array.isArray(result)
|
|
410
544
|
? result
|
|
411
545
|
: (result && Array.isArray(result.tools) ? result.tools : []);
|
|
412
|
-
log("describe_tools: found", tools.length, "tools from query");
|
|
546
|
+
log("describe_tools: found", tools.length, "tools from query:", query);
|
|
413
547
|
for (const t of tools) {
|
|
414
548
|
const tool = t;
|
|
415
549
|
if (tool.name && !index.has(tool.name)) {
|
|
@@ -424,16 +558,29 @@ export async function createShimServer(options = {}) {
|
|
|
424
558
|
}
|
|
425
559
|
log("describe_tools: index has", index.size, "tools, looking up:", names.join(", "));
|
|
426
560
|
const results = names.map((n) => {
|
|
427
|
-
const tool =
|
|
428
|
-
if (
|
|
429
|
-
return
|
|
430
|
-
return
|
|
561
|
+
const tool = resolveToolFromIndex(n, index);
|
|
562
|
+
if (tool)
|
|
563
|
+
return transformToolSchema(tool);
|
|
564
|
+
return { name: n, error: "not found" };
|
|
431
565
|
});
|
|
432
566
|
return {
|
|
433
567
|
content: [{ type: "text", text: JSON.stringify(results) }],
|
|
434
568
|
};
|
|
435
569
|
}
|
|
436
|
-
|
|
570
|
+
let forwardArgs;
|
|
571
|
+
try {
|
|
572
|
+
forwardArgs = transformToolCallArgs(name, args || {});
|
|
573
|
+
}
|
|
574
|
+
catch (err) {
|
|
575
|
+
if (err instanceof ArgsValidationError) {
|
|
576
|
+
log("Args validation rejected:", err.message);
|
|
577
|
+
return {
|
|
578
|
+
content: [{ type: "text", text: err.message }],
|
|
579
|
+
isError: true,
|
|
580
|
+
};
|
|
581
|
+
}
|
|
582
|
+
throw err;
|
|
583
|
+
}
|
|
437
584
|
try {
|
|
438
585
|
await ensureSession();
|
|
439
586
|
const resp = await mcpRequest("tools/call", {
|
package/dist/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon.d.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* MCP Proxy Shim — Daemon Mode
|
|
4
|
+
*
|
|
5
|
+
* Multi-server MCP gateway: connects to N upstream MCP servers (stdio or HTTP)
|
|
6
|
+
* and exposes all their tools through a single HTTP Streamable endpoint.
|
|
7
|
+
*
|
|
8
|
+
* Pure passthrough — no schema transformation. Designed for cloud agents that
|
|
9
|
+
* can't spawn MCP servers on the fly.
|
|
10
|
+
*
|
|
11
|
+
* Architecture:
|
|
12
|
+
* Cloud Agent ──HTTP──▶ daemon (:3456) ──┬── stdio ──▶ spawned process
|
|
13
|
+
* ├── HTTP ──▶ remote MCP server
|
|
14
|
+
* └── stdio ──▶ another process
|
|
15
|
+
*
|
|
16
|
+
* Configuration via MCP_SERVERS env var (JSON) or MCP_CONFIG file path:
|
|
17
|
+
*
|
|
18
|
+
* {
|
|
19
|
+
* "github": {
|
|
20
|
+
* "type": "stdio",
|
|
21
|
+
* "command": "npx",
|
|
22
|
+
* "args": ["-y", "@modelcontextprotocol/server-github"],
|
|
23
|
+
* "env": { "GITHUB_TOKEN": "ghp_..." }
|
|
24
|
+
* },
|
|
25
|
+
* "my-api": {
|
|
26
|
+
* "type": "streamableHttp",
|
|
27
|
+
* "url": "https://api.example.com/mcp",
|
|
28
|
+
* "headers": { "Authorization": "Bearer xxx", "X-Custom": "value" }
|
|
29
|
+
* }
|
|
30
|
+
* }
|
|
31
|
+
*
|
|
32
|
+
* Environment variables:
|
|
33
|
+
* MCP_SERVERS JSON string with server configs (inline)
|
|
34
|
+
* MCP_CONFIG Path to JSON config file (alternative to MCP_SERVERS)
|
|
35
|
+
* MCP_PORT Port to listen on (default: 3456)
|
|
36
|
+
* MCP_HOST Host to bind to (default: 0.0.0.0)
|
|
37
|
+
* MCP_APIKEY Require ?apikey=KEY on /mcp requests (optional)
|
|
38
|
+
*
|
|
39
|
+
* Usage:
|
|
40
|
+
* MCP_SERVERS='{"github":{"type":"stdio","command":"npx","args":["-y","@modelcontextprotocol/server-github"]}}' \
|
|
41
|
+
* npx @luutuankiet/mcp-proxy-shim daemon
|
|
42
|
+
*
|
|
43
|
+
* MCP_CONFIG=./mcp-servers.json npx @luutuankiet/mcp-proxy-shim daemon
|
|
44
|
+
*/
|
|
45
|
+
export {};
|