Skip to main content
Glama
stdio-transport.ts1.22 kB
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; import { UmbrellaMcpServer } from '../server.js'; import { ConfigLoader } from '../config/config-loader.js'; export class StdioTransport { private mcpServer: UmbrellaMcpServer; private config = ConfigLoader.getInstance(); private transport: StdioServerTransport; constructor(mcpServer: UmbrellaMcpServer) { this.mcpServer = mcpServer; this.transport = new StdioServerTransport(); } async start(): Promise<void> { const server = this.mcpServer.getServer(); console.error('[STDIO] Starting MCP server in stdio mode...'); console.error('[STDIO] Server name:', this.config.getConfig().mcp.serverName); console.error('[STDIO] Server version:', this.config.getConfig().mcp.serverVersion); // Connect the server to stdio transport await server.connect(this.transport); console.error('[STDIO] MCP server connected and ready'); console.error('[STDIO] Waiting for MCP protocol messages on stdin...'); } async stop(): Promise<void> { try { await this.transport.close(); } catch (error) { console.error('[STDIO] Error closing transport:', error); } } }

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/daviddraiumbrella/invoice-monitoring'

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