userCreateTool.ts•1.29 kB
import { z } from "zod";
import { createUser } from "../services/userService.js";
/**
* Definición del esquema de entrada para la herramienta de crear usuario
*/
export const createUserInputSchema = {
nombre: z.string().min(2, "El nombre debe tener al menos 2 caracteres"),
apellido: z.string().min(2, "El apellido debe tener al menos 2 caracteres"),
dni: z.string().min(8, "El DNI debe tener al menos 8 caracteres")
};
/**
* Manejador para la herramienta de crear usuario
* @param params Parámetros de la herramienta
* @returns Resultado formateado
*/
export async function createUserToolHandler(params: any) {
const { nombre, apellido, dni } = params;
try {
// Utilizamos el servicio de usuarios
const userData = await createUser(nombre, apellido, dni);
// Devolvemos el resultado formateado para MCP
return {
content: [
{
type: "text" as const,
text: `✅ Usuario creado correctamente:
- Nombre: ${userData.nombre}
- Apellido: ${userData.apellido}
- DNI: ${userData.dni}
- ID: ${userData.id}`
}
]
};
} catch (error) {
return {
content: [
{
type: "text" as const,
text: `❌ Error al crear usuario: ${error.message}`
}
]
};
}
}