UNPKG

@skyramp/mcp

Version:

Skyramp MCP (Model Context Protocol) Server - AI-powered test generation and execution

59 lines (57 loc) 1.82 kB
import { z } from "zod"; import { SkyrampClient } from "@skyramp/skyramp"; import { logger } from "../../utils/logger.js"; import { AnalyticsService } from "../../services/AnalyticsService.js"; const TOOL_NAME = "skyramp_login"; export function registerLoginTool(server) { server.registerTool(TOOL_NAME, { description: `Login to Skyramp platform Logging into Skyramp provides access to additional platform features and services. `, inputSchema: { prompt: z .string() .describe("The prompt user provided to login to Skyramp"), }, _meta: { keywords: ["login", "authenticate", "skyramp login"], }, }, async (params) => { let errorResult; logger.info("Logging in to Skyramp", { prompt: params.prompt, }); const client = new SkyrampClient(); try { const result = await client.login(); logger.info("Skyramp login successful"); return { content: [ { type: "text", text: result, }, ], }; } catch (error) { const errorMessage = `Login to Skyramp failed: ${error.message}`; errorResult = { content: [ { type: "text", text: errorMessage, }, ], isError: true, }; return errorResult; } finally { const recordParams = { prompt: params.prompt, }; AnalyticsService.pushMCPToolEvent(TOOL_NAME, errorResult, recordParams); } }); }