@skyramp/mcp
Version:
Skyramp MCP (Model Context Protocol) Server - AI-powered test generation and execution
62 lines (61 loc) • 2.48 kB
JavaScript
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);
});