Skip to main content
Glama
mcp-stdio-bridge.js1.4 kB
#!/usr/bin/env node // MCP stdio bridge for LM Studio connection // Converts between LM Studio's stdio transport and WebSocket MCP server import { WebSocket } from 'ws'; const WEBSOCKET_URL = 'ws://localhost:3000/mcp'; async function startBridge() { const ws = new WebSocket(WEBSOCKET_URL); let connectionReady = false; ws.on('open', () => { connectionReady = true; // Handle stdin messages from LM Studio process.stdin.on('data', (data) => { const message = data.toString().trim(); if (message && connectionReady) { ws.send(message); } }); // Forward WebSocket responses to LM Studio via stdout ws.on('message', (data) => { const message = data.toString().trim(); if (message) { // Send response to LM Studio process.stdout.write(message + '\n'); } }); }); ws.on('error', (error) => { process.exit(1); }); ws.on('close', () => { process.exit(0); }); // Clean shutdown on termination signals process.on('SIGINT', () => ws.close()); process.on('SIGTERM', () => ws.close()); process.on('exit', () => ws.close()); } startBridge().catch(error => { console.error('Bridge error:', error); process.exit(1); });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bermingham85/mcp-puppet-pipeline'

If you have feedback or need assistance with the MCP directory API, please join our Discord server