DistillDistill

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.

StrategieType de contenuEconomies
buildErreurs compilateur (tsc, rustc, webpack)95%
logsLogs serveur/tests/build80-90%
errorsLignes d'erreur repetees70-90%
diffGit diffs60-80%
stacktraceStack traces50-80%
code / semanticCode source (TF-IDF)40-60%
configConfigs JSON/YAML30-60%
autoDetection automatiquevariable

Parametres :

  • content (requis) — Le contenu a compresser
  • strategy — Strategie explicite ou auto (defaut)
  • aggressive — Mode compression maximale
  • preservePatterns — Regex des patterns a conserver
  • formatplain ou markdown

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 nom
  • search — Recherche par requete
  • full — Vue d'ensemble de la structure
  • auto — Detection depuis les parametres

7 langages : TypeScript, JavaScript, Python, Go, Rust, PHP, Swift

Parametres :

  • filePath (requis) — Chemin du fichier
  • mode — Mode de lecture (auto par defaut)
  • target — Pour le mode extract : {type, name}
  • query — Pour le mode search
  • depth — 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 langage

Parametres :

  • code (requis) — Code TypeScript a executer
  • timeout — Timeout en ms (1000-30000, defaut 5000)

Securite : Sandbox avec 7 couches de protection, limite memoire 128MB, blocage de eval, require, import(), process.

On this page