/**
* Interface de base pour tous les outils du serveur MCP
* Compatible avec MCPTool du framework MCP
*/
export class Tool {
/**
* Nom de l'outil
*/
name = '';
/**
* Description de l'outil
*/
description = '';
/**
* Schéma de validation des entrées de l'outil
*/
schema = {};
/**
* Méthode de compatibilité pour l'ancienne interface
* @returns {string} Nom de l'outil
*/
getName() {
return this.name;
}
/**
* Méthode de compatibilité pour l'ancienne interface
* @returns {string} Description de l'outil
*/
getDescription() {
return this.description;
}
/**
* Exécute l'outil avec les options fournies
* @param {any} options Options spécifiques à l'outil
* @returns {Promise<any>} Résultat de l'exécution
*/
async execute(options) {
throw new Error('La méthode execute() doit être implémentée par les classes dérivées');
}
}