Skip to main content
Glama
auth-mcpx.ts1.49 kB
import { Request, Response, Router } from "express"; import { Logger } from "winston"; import { HubService } from "../services/hub.js"; import { loggableError } from "@mcpx/toolkit-core/logging"; import { env } from "../env.js"; export function buildAuthMcpxRouter( hubService: HubService, logger: Logger, ): Router { const router = Router(); router.get("/auth/mcpx", (_req: Request, res: Response) => { logger.debug("Getting auth status"); const status = hubService.status; res.status(200).json(status); }); router.post("/auth/mcpx", async (_req: Request, res: Response) => { try { logger.info("Connecting to Hub with provided token"); const hubAuthStatus = await hubService.connect({ setupOwnerId: env.INSTANCE_KEY, label: env.INSTANCE_NAME, }); res.json(hubAuthStatus); } catch (e) { const error = loggableError(e); logger.error("Authentication failed", { error }); res.status(401).json({ error: "Authentication failed", message: error, }); } }); router.delete("/auth/mcpx", async (_req: Request, res: Response) => { try { logger.info("Disconnecting from Hub"); await hubService.disconnect(); res.status(204).send(); } catch (e) { const error = loggableError(e); logger.error("Disconnection failed", { error }); res.status(500).json({ error: "Disconnection failed", message: error }); } }); return router; }

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/TheLunarCompany/lunar'

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