Skip to main content
Glama

eRegulations MCP Server

by unctad-ai
log-server.ts1.6 kB
#!/usr/bin/env node import net from "node:net"; const defaultPort = 8099; const envPort = process.env.MCPS_LOGGER_PORT; const port = envPort ? Number(envPort) : defaultPort; const server = net.createServer((socket) => { socket.on("data", (data) => { const messages = data.toString().split("\n").filter(Boolean); for (const msgStr of messages) { try { const { level, message } = JSON.parse(msgStr); switch (level) { case "error": console.error(message); break; case "warn": console.warn(message); break; case "debug": console.log(message); break; default: console.log(message); } } catch (error) { const err = error instanceof Error ? error : new Error("Unknown error"); console.error("Error parsing message:", err.message); } } }); socket.on("error", (err) => { console.error("\x1b[31m%s\x1b[0m", "Debug socket error:", err.message); }); }); server.listen(port, () => { console.log( "\x1b[36m%s\x1b[0m", `Receiving logs${port !== defaultPort ? ` on port ${port}` : ""}` ); }); server.on("error", (err: Error & { code?: string }) => { if (err.code === "EADDRINUSE") { console.error("\x1b[31m%s\x1b[0m", `Port ${port} is already in use`); } else { console.error("\x1b[31m%s\x1b[0m", "Debug server error:", err.message); } }); process.on("SIGINT", () => { server.close(); process.exit(0); }); process.on("SIGTERM", () => { server.close(); process.exit(0); });

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/unctad-ai/eregulations-mcp-server'

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