Skip to main content
Glama

Lightdash MCP Server

by syucream
index.ts1.46 kB
#!/usr/bin/env node import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js'; import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; import crypto from 'crypto'; import { startHttpServer } from './server.js'; import { server } from './mcp.js'; let httpPort: number | null = null; const args = process.argv.slice(2); const portIndex = args.indexOf('-port'); if (portIndex !== -1 && args.length > portIndex + 1) { const portValue = args[portIndex + 1]; const parsedPort = parseInt(portValue, 10); if (isNaN(parsedPort)) { console.error( `Invalid port number provided for -port: "${portValue}". Must be a valid number. Exiting.` ); process.exit(1); } else { httpPort = parsedPort; } } else if (portIndex !== -1 && args.length <= portIndex + 1) { console.error( 'Error: -port option requires a subsequent port number. Exiting.' ); process.exit(1); } if (httpPort !== null) { const httpTransport = new StreamableHTTPServerTransport({ sessionIdGenerator: () => crypto.randomUUID(), enableJsonResponse: true, }); server.connect(httpTransport); startHttpServer(httpTransport, httpPort); console.log( `[INFO] MCP Server is listening on http://localhost:${httpPort}/mcp` ); await new Promise<void>(() => {}); // Keep process alive } else { const stdioTransport = new StdioServerTransport(); server.connect(stdioTransport); }

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/syucream/lightdash-mcp-server'

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