@aiwerk/mcp-bridge 2.8.32 → 2.8.33
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-bridge.js +35 -0
- package/package.json +1 -1
package/dist/bin/mcp-bridge.js
CHANGED
|
@@ -593,6 +593,41 @@ async function cmdInstall(serverName, args, logger) {
|
|
|
593
593
|
}
|
|
594
594
|
else {
|
|
595
595
|
process.stdout.write(`All required environment variables are set. Ready to use.\n`);
|
|
596
|
+
// Pre-discover tools and cache them (so direct mode has tools on first start)
|
|
597
|
+
process.stdout.write(`\nDiscovering tools...\n`);
|
|
598
|
+
try {
|
|
599
|
+
const { StdioTransport } = await import("../src/transport-stdio.js");
|
|
600
|
+
const { SseTransport } = await import("../src/transport-sse.js");
|
|
601
|
+
const { StreamableHttpTransport } = await import("../src/transport-streamable-http.js");
|
|
602
|
+
const { fetchToolsList, initializeProtocol, PACKAGE_VERSION } = await import("../src/protocol.js");
|
|
603
|
+
let transport;
|
|
604
|
+
if (serverConfig.transport === "stdio") {
|
|
605
|
+
transport = new StdioTransport(serverConfig, { servers: {} }, logger, async () => { });
|
|
606
|
+
}
|
|
607
|
+
else if (serverConfig.transport === "sse") {
|
|
608
|
+
transport = new SseTransport(serverConfig, { servers: {} }, logger, async () => { });
|
|
609
|
+
}
|
|
610
|
+
else if (serverConfig.transport === "streamable-http") {
|
|
611
|
+
transport = new StreamableHttpTransport(serverConfig, { servers: {} }, logger, async () => { });
|
|
612
|
+
}
|
|
613
|
+
if (transport) {
|
|
614
|
+
await transport.connect();
|
|
615
|
+
await initializeProtocol(transport, PACKAGE_VERSION);
|
|
616
|
+
const tools = await fetchToolsList(transport);
|
|
617
|
+
// Save to cache
|
|
618
|
+
const cacheToolDir = join(configDir, "cache");
|
|
619
|
+
mkdirSync(cacheToolDir, { recursive: true });
|
|
620
|
+
writeFileSync(join(cacheToolDir, `${serverName}-tools.json`), JSON.stringify(tools, null, 2), "utf-8");
|
|
621
|
+
process.stdout.write(`✓ Cached ${tools.length} tools from "${serverName}"\n`);
|
|
622
|
+
// Disconnect
|
|
623
|
+
await transport.disconnect().catch(() => { });
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
catch (discErr) {
|
|
627
|
+
// Non-fatal: tool discovery is a nice-to-have, server still installed
|
|
628
|
+
logger.info(`Tool discovery skipped: ${discErr instanceof Error ? discErr.message : String(discErr)}`);
|
|
629
|
+
process.stdout.write(`Tool discovery skipped (server will discover tools on first use).\n`);
|
|
630
|
+
}
|
|
596
631
|
}
|
|
597
632
|
}
|
|
598
633
|
async function cmdUpdate(logger, checkOnly) {
|