UNPKG

@codervisor/devlog-mcp

Version:

MCP server for managing development logs and working notes

72 lines (71 loc) 1.94 kB
/** * MCP Tool validation utilities * * This module provides utilities for validating MCP tool arguments * using Zod schemas and generating proper error responses. */ /** * Validate tool arguments and return validated data or error result */ export function validateToolArgs(schema, args, toolName) { const result = schema.safeParse(args); if (result.success) { return { success: true, data: result.data }; } const errors = result.error.errors.map(err => `${err.path.join('.')}: ${err.message}`); return { success: false, result: { content: [ { type: 'text', text: `Invalid arguments for ${toolName}:\n${errors.join('\n')}`, }, ], isError: true, }, }; } /** * Create a standardized error response for tool validation failures */ export function createValidationErrorResponse(toolName, errors) { return { content: [ { type: 'text', text: `❌ Validation failed for ${toolName}:\n\n${errors.map(err => `• ${err}`).join('\n')}\n\nPlease check your arguments and try again.`, }, ], isError: true, }; } /** * Create a standardized success response */ export function createSuccessResponse(message) { return { content: [ { type: 'text', text: message, }, ], }; } /** * Create a standardized error response */ export function createErrorResponse(message, error) { const errorMessage = error instanceof Error ? error.message : String(error); const fullMessage = error ? `${message}: ${errorMessage}` : message; return { content: [ { type: 'text', text: `❌ ${fullMessage}`, }, ], isError: true, }; }