Skip to main content
Glama
cli.ts1.3 kB
#!/usr/bin/env node import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { config } from "dotenv"; import { resolve } from "path"; import { getServerConfig } from "./config.js"; import { startHttpServer } from "./server.js"; import { createServer } from "./mcp/index.js"; // Load .env from the current working directory config({ path: resolve(process.cwd(), ".env") }); export async function startServer(): Promise<void> { // Check if we're running in stdio mode (e.g., via CLI) const isStdioMode = process.env.NODE_ENV === "cli" || process.argv.includes("--stdio"); const config = getServerConfig(isStdioMode); const server = createServer(config.auth, { isHTTP: !isStdioMode, outputFormat: config.outputFormat, skipImageDownloads: config.skipImageDownloads, }); if (isStdioMode) { const transport = new StdioServerTransport(); await server.connect(transport); } else { console.log(`Initializing Figma MCP Server in HTTP mode on port ${config.port}...`); await startHttpServer(config.port, server); } } // If we're being executed directly (not imported), start the server if (process.argv[1]) { startServer().catch((error) => { console.error("Failed to start server:", 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/nhn-commerce-fe/figma-mcp-ncds'

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