UNPKG

@skyramp/mcp

Version:

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

62 lines (61 loc) 2.48 kB
#!/usr/bin/env node import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { registerStartTraceCollectionPrompt } from "./prompts/startTraceCollectionPrompts.js"; import { registerTraceTool } from "./tools/startTraceCollectionTool.js"; import { registerTraceStopTool } from "./tools/stopTraceCollectionTool.js"; import { registerExecuteSkyrampTestTool } from "./tools/executeSkyrampTestTool.js"; import { registerTestGenerationPrompt } from "./prompts/testGenerationPrompt.js"; import { logger } from "./utils/logger.js"; import { registerUITestTool } from "./tools/generateUIRestTool.js"; import { registerSmokeTestTool } from "./tools/generateSmokeRestTool.js"; import { registerFuzzTestTool } from "./tools/generateFuzzRestTool.js"; import { registerContractTestTool } from "./tools/generateContractRestTool.js"; import { registerLoadTestTool } from "./tools/generateLoadRestTool.js"; import { registerIntegrationTestTool } from "./tools/generateIntegrationRestTool.js"; import { registerE2ETestTool } from "./tools/generateE2ERestTool.js"; import { registerLoginTool } from "./tools/loginTool.js"; import { registerLogoutTool } from "./tools/logoutTool.js"; const server = new McpServer({ name: "Skyramp MCP Server", version: "1.0.0", capabilities: { resources: {}, tools: {}, prompts: {}, sampling: {}, elicitation: {}, }, }); // Register prompts logger.info("Starting prompt registration process"); registerTestGenerationPrompt(server); registerStartTraceCollectionPrompt(server); logger.info("All prompts registered successfully"); // Register test generation tools registerSmokeTestTool(server); registerFuzzTestTool(server); registerContractTestTool(server); registerLoadTestTool(server); registerIntegrationTestTool(server); registerE2ETestTool(server); registerUITestTool(server); // Register other Skyramp tools registerLoginTool(server); registerLogoutTool(server); registerExecuteSkyrampTestTool(server); registerTraceTool(server); registerTraceStopTool(server); // Start MCP server async function main() { const transport = new StdioServerTransport(); await server.connect(transport); logger.info("MCP Server started successfully"); } main().catch((error) => { logger.critical("Fatal error in main()", { error: error.message, stack: error.stack, }); process.exit(1); });