smart-thinking-mcp
Version:
Un serveur MCP avancé pour le raisonnement multi-dimensionnel, adaptatif et collaboratif
139 lines (138 loc) • 4.81 kB
TypeScript
import { SuggestedTool } from './types';
/**
* Classe qui gère l'intégration avec d'autres outils MCP
*/
export declare class ToolIntegrator {
private knownTools;
constructor();
/**
* Initialise le registre avec des outils MCP courants
*/
private initializeKnownTools;
/**
* Suggère des outils pertinents pour un contenu donné avec option pour la vérification
* AMÉLIORÉ: Scores plus dynamiques et adaptés au raisonnement
*
* @param content Le contenu pour lequel suggérer des outils
* @param options Options de configuration (limite, mode vérification, etc)
* @returns Un tableau d'outils suggérés
*/
suggestToolsGeneric(content: string, options?: {
limit?: number;
verificationMode?: boolean;
toolFilter?: string[];
previousSuggestions?: SuggestedTool[];
reasoningStage?: 'initial' | 'developing' | 'advanced' | 'final';
}): SuggestedTool[];
/**
* Suggère des outils de vérification pertinents pour un contenu donné
* @param content Le contenu pour lequel suggérer des outils
* @param limit Le nombre maximum d'outils à suggérer
* @returns Un tableau d'outils suggérés
*/
suggestVerificationTools(content: string, limit?: number): SuggestedTool[];
/**
* Génère une raison spécifique pour la vérification avec un outil
*
* @param tool L'outil suggéré
* @param content Le contenu à vérifier
* @returns Une raison explicative pour la vérification
*/
private generateVerificationReason;
/**
* Exécute un outil de vérification sur un contenu donné
*
* @param toolName Le nom de l'outil à exécuter
* @param content Le contenu à vérifier
* @returns Le résultat de la vérification
*/
executeVerificationTool(toolName: string, content: string): Promise<any>;
/**
* Exécute une recherche Perplexity pour vérifier des informations
*
* @param content Le contenu à vérifier
* @returns Le résultat de la vérification
*/
private executePerplexitySearch;
/**
* Exécute une recherche Tavily pour vérifier des informations
*
* @param content Le contenu à vérifier
* @returns Le résultat de la vérification
*/
private executeTavilySearch;
/**
* Exécute une recherche Brave pour vérifier des informations
*
* @param content Le contenu à vérifier
* @returns Le résultat de la vérification
*/
private executeBraveSearch;
/**
* Exécute une extraction Tavily pour vérifier des informations
*
* @param content Le contenu à vérifier
* @returns Le résultat de la vérification
*/
private executeTavilyExtract;
/**
* Vérifie des informations via exécution de code Python
*
* @param content Le contenu à vérifier
* @returns Le résultat de la vérification
*/
private executePythonVerification;
/**
* Vérifie des informations via exécution de code JavaScript
*
* @param content Le contenu à vérifier
* @returns Le résultat de la vérification
*/
private executeJavaScriptVerification;
/**
* Suggère des outils pertinents pour un contenu donné
*
* @param content Le contenu pour lequel suggérer des outils
* @param limit Le nombre maximum d'outils à suggérer
* @returns Un tableau d'outils suggérés
*/
suggestTools(content: string, limit?: number): SuggestedTool[];
/**
* Vérifie si un texte contient l'un des termes donnés
*
* @param text Le texte à vérifier
* @param terms Les termes à rechercher
* @returns true si le texte contient au moins un des termes, false sinon
*/
private containsAny;
/**
* Génère une raison explicative pour la suggestion d'un outil
*
* @param tool L'outil suggéré
* @param content Le contenu pour lequel l'outil est suggéré
* @returns Une raison explicative
*/
private generateReason;
/**
* Ajoute un nouvel outil au registre
*
* @param name Le nom de l'outil
* @param description La description de l'outil
* @param keywords Les mots-clés associés
* @param useCase Le cas d'usage de l'outil
*/
addTool(name: string, description: string, keywords: string[], useCase: string): void;
/**
* Supprime un outil du registre
*
* @param name Le nom de l'outil à supprimer
* @returns true si l'outil a été supprimé, false sinon
*/
removeTool(name: string): boolean;
/**
* Récupère tous les outils du registre
*
* @returns Un tableau de tous les outils
*/
getAllTools(): any[];
}