mcp-quiz-server
Version:
🧠AI-Powered Quiz Management via Model Context Protocol (MCP) - Create, manage, and take quizzes directly from VS Code, Claude, and other AI agents.
77 lines (76 loc) • 2.09 kB
JavaScript
;
/**
* @fileoverview MCP Response Builder - Clean Response Construction
* @version 1.0.0
* @since 2025-08-03
* @module ResponseBuilder
* @description Utility for building consistent MCP responses and errors
* @contributors Claude Code Agent
* @requirements REQ_MCP_001 (JSON-RPC 2.0)
* @testCoverage Unit tests for response format validation
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ResponseBuilder = void 0;
const mcp_types_1 = require("../../types/mcp-types");
/**
* Builder for creating consistent MCP responses
*/
class ResponseBuilder {
/**
* Create a successful response
*/
static createSuccess(id, result) {
return {
jsonrpc: '2.0',
id,
result,
};
}
/**
* Create an error response
*/
static createError(id, error) {
return {
jsonrpc: '2.0',
id,
error,
};
}
/**
* Create a method not found error
*/
static createMethodNotFound(id, method) {
return this.createError(id, {
code: mcp_types_1.MCPErrorCode.METHOD_NOT_FOUND,
message: `Method '${method}' not found`,
});
}
/**
* Create an invalid params error
*/
static createInvalidParams(id, message) {
return this.createError(id, {
code: mcp_types_1.MCPErrorCode.INVALID_PARAMS,
message: message || 'Invalid parameters',
});
}
/**
* Create an internal error response
*/
static createInternalError(id, message) {
return this.createError(id, {
code: mcp_types_1.MCPErrorCode.INTERNAL_ERROR,
message: message || 'Internal error',
});
}
/**
* Create an invalid request error
*/
static createInvalidRequest(id, message) {
return this.createError(id, {
code: mcp_types_1.MCPErrorCode.INVALID_REQUEST,
message: message || 'Invalid request',
});
}
}
exports.ResponseBuilder = ResponseBuilder;