smart-thinking-mcp
Version:
Un serveur MCP avancé pour le raisonnement multi-dimensionnel, adaptatif et collaboratif
117 lines (116 loc) • 4.28 kB
TypeScript
import { SuggestedTool } from './types';
interface KnownTool {
name: string;
description: string;
keywords: string[];
useCase: string;
external?: boolean;
}
/**
* Classe qui gère l'intégration avec d'autres outils MCP
*/
export declare class ToolIntegrator {
private static readonly EXTERNAL_TOOL_NAMES;
private knownTools;
private readonly externalToolsEnabled;
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.
* Tente d'utiliser le LLM interne pour une meilleure pertinence, avec repli sur l'heuristique.
*
* @param content Le contenu pour lequel suggérer des outils
* @param options Options de configuration (limite, mode vérification, etc)
* @returns Une promesse résolvant vers un tableau d'outils suggérés
*/
suggestToolsGeneric(content: string, options?: {
limit?: number;
verificationMode?: boolean;
toolFilter?: string[];
previousSuggestions?: SuggestedTool[];
reasoningStage?: 'initial' | 'developing' | 'advanced' | 'final';
}): Promise<SuggestedTool[]>;
/**
* Méthode heuristique originale pour suggérer des outils (utilisée comme repli).
*/
private suggestToolsHeuristic;
/**
* 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 Une promesse résolvant vers un tableau d'outils suggérés
*/
suggestVerificationTools(content: string, limit?: number): Promise<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>;
private executePerplexitySearch;
private executeTavilySearch;
private executeBraveSearch;
private executeTavilyExtract;
private executePythonVerification;
private executeJavaScriptVerification;
/**
* Suggère des outils pertinents pour un contenu donné (méthode publique principale)
*
* @param content Le contenu pour lequel suggérer des outils
* @param limit Le nombre maximum d'outils à suggérer
* @returns Une promesse résolvant vers un tableau d'outils suggérés
*/
suggestTools(content: string, limit?: number): Promise<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 (utilisé par l'heuristique)
*
* @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(): KnownTool[];
}
export {};