Reference des outils MCP
Reference des 3 outils Distill — auto_optimize, smart_file_read, code_execute
Reference des outils MCP
Distill fournit 3 outils toujours actifs pour optimiser l'utilisation des tokens LLM.
auto_optimize — Compression universelle
Detecte automatiquement le type de contenu et applique la strategie optimale.
| Strategie | Type de contenu | Economies |
|---|---|---|
build | Erreurs compilateur (tsc, rustc, webpack) | 95% |
logs | Logs serveur/tests/build | 80-90% |
errors | Lignes d'erreur repetees | 70-90% |
diff | Git diffs | 60-80% |
stacktrace | Stack traces | 50-80% |
code / semantic | Code source (TF-IDF) | 40-60% |
config | Configs JSON/YAML | 30-60% |
auto | Detection automatique | variable |
Parametres :
content(requis) — Le contenu a compresserstrategy— Strategie explicite ouauto(defaut)aggressive— Mode compression maximalepreservePatterns— Regex des patterns a conserverformat—plainoumarkdown
smart_file_read — Lecture AST
Lit du code avec extraction AST — obtenez fonctions, classes, signatures sans charger le fichier entier.
5 modes :
skeleton— Signatures uniquement (profondeur 1-3)extract— Element specifique par type et nomsearch— Recherche par requetefull— Vue d'ensemble de la structureauto— Detection depuis les parametres
7 langages : TypeScript, JavaScript, Python, Go, Rust, PHP, Swift
Parametres :
filePath(requis) — Chemin du fichiermode— Mode de lecture (autopar defaut)target— Pour le mode extract :{type, name}query— Pour le mode searchdepth— Profondeur skeleton (1-3)
code_execute — SDK TypeScript sandboxe
Execute du TypeScript dans un sandbox securise. Remplace 5-10 appels d'outils en un seul.
SDK ctx.* :
ctx.files.read(path) // Lire un fichier
ctx.files.glob(pattern) // Chercher des fichiers
ctx.files.exists(path) // Verifier existence
ctx.code.parse(content, lang) // Parser en structure
ctx.code.extract(content, lang, {type, name}) // Extraire un element
ctx.code.skeleton(content, lang) // Signatures uniquement
ctx.compress.auto(content, hint?) // Compression auto
ctx.compress.logs(logs) // Resume de logs
ctx.compress.diff(diff) // Compression diff
ctx.compress.semantic(content, ratio?) // Compression TF-IDF
ctx.git.diff(ref?) // Obtenir le diff
ctx.git.log(limit?) // Historique des commits
ctx.git.blame(file, line?) // Blame
ctx.search.grep(pattern, glob?) // Recherche dans les fichiers
ctx.search.symbols(query) // Recherche de symboles
ctx.utils.countTokens(text) // Compter les tokens
ctx.utils.detectType(content) // Detecter le type
ctx.utils.detectLanguage(path) // Detecter le langageParametres :
code(requis) — Code TypeScript a executertimeout— Timeout en ms (1000-30000, defaut 5000)
Securite : Sandbox avec 7 couches de protection, limite memoire 128MB, blocage de eval, require, import(), process.