mcp-proxy 2.8.0 → 2.8.2
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/dist/bin/mcp-proxy.js
CHANGED
|
@@ -12,13 +12,6 @@ import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
|
12
12
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
13
13
|
import { EventSource } from "eventsource";
|
|
14
14
|
import { setTimeout } from "node:timers/promises";
|
|
15
|
-
|
|
16
|
-
// src/utilities/prefixLines.ts
|
|
17
|
-
var prefixLines = (inputString, prefix) => {
|
|
18
|
-
return inputString.replaceAll(/^/gmu, prefix);
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
// src/bin/mcp-proxy.ts
|
|
22
15
|
if (!("EventSource" in global)) {
|
|
23
16
|
global.EventSource = EventSource;
|
|
24
17
|
}
|
|
@@ -72,7 +65,15 @@ try {
|
|
|
72
65
|
await connectionPromise;
|
|
73
66
|
console.info("connected to the MCP server");
|
|
74
67
|
} catch (error) {
|
|
75
|
-
console.error(
|
|
68
|
+
console.error(`
|
|
69
|
+
could not connect to the MCP server
|
|
70
|
+
|
|
71
|
+
--- error ---
|
|
72
|
+
${String(error)}
|
|
73
|
+
|
|
74
|
+
--- stderr output ---
|
|
75
|
+
${stderrOutput}
|
|
76
|
+
`);
|
|
76
77
|
await setTimeout(1e3);
|
|
77
78
|
process.exit(1);
|
|
78
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/bin/mcp-proxy.ts"
|
|
1
|
+
{"version":3,"sources":["../../src/bin/mcp-proxy.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\nimport { StdioClientTransport } from \"@modelcontextprotocol/sdk/client/stdio.js\";\nimport { Client } from \"@modelcontextprotocol/sdk/client/index.js\";\nimport { Server } from \"@modelcontextprotocol/sdk/server/index.js\";\nimport { proxyServer, startSSEServer } from \"../MCPProxy.js\";\nimport { EventSource } from \"eventsource\";\nimport { setTimeout } from \"node:timers/promises\";\n\nif (!(\"EventSource\" in global)) {\n // @ts-expect-error - figure out how to use --experimental-eventsource with vitest\n global.EventSource = EventSource;\n}\n\nconst argv = await yargs(hideBin(process.argv))\n .scriptName(\"mcp-proxy\")\n .command(\"$0 <command> [args...]\", \"Run a command with MCP arguments\")\n .positional(\"command\", {\n type: \"string\",\n describe: \"The command to run\",\n demandOption: true,\n })\n .positional(\"args\", {\n type: \"string\",\n array: true,\n describe: \"The arguments to pass to the command\",\n })\n .options({\n debug: {\n type: \"boolean\",\n describe: \"Enable debug logging\",\n default: false,\n },\n endpoint: {\n type: \"string\",\n describe: \"The endpoint to listen on for SSE\",\n default: \"/sse\",\n },\n port: {\n type: \"number\",\n describe: \"The port to listen on for SSE\",\n default: 8080,\n },\n })\n .help()\n .parseAsync();\n\nconst transport = new StdioClientTransport({\n command: argv.command,\n args: argv.args,\n env: process.env as Record<string, string>,\n stderr: 'pipe',\n});\n\nconst client = new Client(\n {\n name: \"mcp-proxy\",\n version: \"1.0.0\",\n },\n {\n capabilities: {},\n },\n);\n\n\nlet stderrOutput = '';\n\ntry {\n console.info('connecting to the MCP server...');\n\n const connectionPromise = client.connect(transport);\n\n transport?.stderr?.on('data', (chunk) => {\n stderrOutput += chunk.toString();\n });\n\n await connectionPromise;\n\n console.info('connected to the MCP server');\n} catch (error) {\n console.error(`\ncould not connect to the MCP server\n\n--- error ---\n${String(error)}\n\n--- stderr output ---\n${stderrOutput}\n`);\n\n await setTimeout(1000);\n\n process.exit(1);\n}\n\nconst serverVersion = client.getServerVersion() as {\n name: string;\n version: string;\n};\n\nconst serverCapabilities = client.getServerCapabilities() as {};\n\ntry {\n console.info('starting the SSE server on port %d', argv.port);\n\n await startSSEServer({\n createServer: async () => {\n const server = new Server(serverVersion, {\n capabilities: serverCapabilities,\n });\n \n proxyServer({\n server,\n client,\n serverCapabilities,\n });\n \n return server;\n },\n port: argv.port,\n endpoint: argv.endpoint as `/${string}`,\n });\n} catch (error) {\n console.error('could not start the SSE server', error);\n\n await setTimeout(1000);\n\n process.exit(1);\n}\n"],"mappings":";;;;;;;AAEA,OAAO,WAAW;AAClB,SAAS,eAAe;AACxB,SAAS,4BAA4B;AACrC,SAAS,cAAc;AACvB,SAAS,cAAc;AAEvB,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAE3B,IAAI,EAAE,iBAAiB,SAAS;AAE9B,SAAO,cAAc;AACvB;AAEA,IAAM,OAAO,MAAM,MAAM,QAAQ,QAAQ,IAAI,CAAC,EAC3C,WAAW,WAAW,EACtB,QAAQ,0BAA0B,kCAAkC,EACpE,WAAW,WAAW;AAAA,EACrB,MAAM;AAAA,EACN,UAAU;AAAA,EACV,cAAc;AAChB,CAAC,EACA,WAAW,QAAQ;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AACZ,CAAC,EACA,QAAQ;AAAA,EACP,OAAO;AAAA,IACL,MAAM;AAAA,IACN,UAAU;AAAA,IACV,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,UAAU;AAAA,IACV,SAAS;AAAA,EACX;AAAA,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,UAAU;AAAA,IACV,SAAS;AAAA,EACX;AACF,CAAC,EACA,KAAK,EACL,WAAW;AAEd,IAAM,YAAY,IAAI,qBAAqB;AAAA,EACzC,SAAS,KAAK;AAAA,EACd,MAAM,KAAK;AAAA,EACX,KAAK,QAAQ;AAAA,EACb,QAAQ;AACV,CAAC;AAED,IAAM,SAAS,IAAI;AAAA,EACjB;AAAA,IACE,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA;AAAA,IACE,cAAc,CAAC;AAAA,EACjB;AACF;AAGA,IAAI,eAAe;AAEnB,IAAI;AACF,UAAQ,KAAK,iCAAiC;AAE9C,QAAM,oBAAoB,OAAO,QAAQ,SAAS;AAElD,aAAW,QAAQ,GAAG,QAAQ,CAAC,UAAU;AACvC,oBAAgB,MAAM,SAAS;AAAA,EACjC,CAAC;AAED,QAAM;AAEN,UAAQ,KAAK,6BAA6B;AAC5C,SAAS,OAAO;AACd,UAAQ,MAAM;AAAA;AAAA;AAAA;AAAA,EAId,OAAO,KAAK,CAAC;AAAA;AAAA;AAAA,EAGb,YAAY;AAAA,CACb;AAEC,QAAM,WAAW,GAAI;AAErB,UAAQ,KAAK,CAAC;AAChB;AAEA,IAAM,gBAAgB,OAAO,iBAAiB;AAK9C,IAAM,qBAAqB,OAAO,sBAAsB;AAExD,IAAI;AACF,UAAQ,KAAK,sCAAsC,KAAK,IAAI;AAE5D,QAAM,eAAe;AAAA,IACnB,cAAc,YAAY;AACxB,YAAM,SAAS,IAAI,OAAO,eAAe;AAAA,QACvC,cAAc;AAAA,MAChB,CAAC;AAED,kBAAY;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAED,aAAO;AAAA,IACT;AAAA,IACA,MAAM,KAAK;AAAA,IACX,UAAU,KAAK;AAAA,EACjB,CAAC;AACH,SAAS,OAAO;AACd,UAAQ,MAAM,kCAAkC,KAAK;AAErD,QAAM,WAAW,GAAI;AAErB,UAAQ,KAAK,CAAC;AAChB;","names":[]}
|
package/package.json
CHANGED
package/src/bin/mcp-proxy.ts
CHANGED
|
@@ -8,7 +8,6 @@ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
|
8
8
|
import { proxyServer, startSSEServer } from "../MCPProxy.js";
|
|
9
9
|
import { EventSource } from "eventsource";
|
|
10
10
|
import { setTimeout } from "node:timers/promises";
|
|
11
|
-
import { prefixLines } from "../utilities/prefixLines.js";
|
|
12
11
|
|
|
13
12
|
if (!("EventSource" in global)) {
|
|
14
13
|
// @ts-expect-error - figure out how to use --experimental-eventsource with vitest
|
|
@@ -81,7 +80,15 @@ try {
|
|
|
81
80
|
|
|
82
81
|
console.info('connected to the MCP server');
|
|
83
82
|
} catch (error) {
|
|
84
|
-
console.error(
|
|
83
|
+
console.error(`
|
|
84
|
+
could not connect to the MCP server
|
|
85
|
+
|
|
86
|
+
--- error ---
|
|
87
|
+
${String(error)}
|
|
88
|
+
|
|
89
|
+
--- stderr output ---
|
|
90
|
+
${stderrOutput}
|
|
91
|
+
`);
|
|
85
92
|
|
|
86
93
|
await setTimeout(1000);
|
|
87
94
|
|