Un graphe de code MCP construit avec le compilateur TS réduit par 10 les tokens de Claude Code
(dev.to)- Quand un agent de code doit répondre à des questions de structure comme « Comment ça fonctionne ? », il brûle généralement des tokens en répétant des dizaines de fois grep → ouverture de fichier → suivi des imports
- @ttsc/graph transmet à l’agent via MCP le graphe de code déjà résolu par le compilateur TypeScript (qui appelle quoi, ce qui dépend de quoi), pour qu’il réponde directement à partir du graphe au lieu de fouiller les fichiers
- Deux points clés dans la conception
- Retourner uniquement l’index – ne jamais fournir le contenu source, seulement les noms, arêtes, signatures et spans
file:line→ la taille de la réponse ne dépend pas de la taille du dépôt, donc les tokens n’explosent pas - Chain-of-Thought imposée – l’entrée de l’outil unique est un schéma de types, donc l’agent ne peut faire une requête qu’après avoir rempli question → draft → review. typia compile le schéma + validateur et rejette à la frontière d’appel les tentatives de « sauter le raisonnement »
- Retourner uniquement l’index – ne jamais fournir le contenu source, seulement les noms, arêtes, signatures et spans
- Résultat : environ 10 fois moins de tokens sur les open questions, avec une qualité de réponse équivalente (8 dépôts × 4 modèles, médiane conservatrice)
- Pourquoi le compilateur : les parseurs heuristiques comme tree-sitter ne savent pas résoudre les alias de chemins tsconfig, les références croisées dans un monorepo, les symlinks ou les chaînes de re-export. Seul un compilateur ayant réellement terminé la résolution des modules peut être exact → fiable → l’agent peut avoir confiance et s’arrêter
- Par rapport aux précurseurs : codegraph / codebase-memory-mcp / serena ont eu la même idée plus tôt, mais sur les open questions ils ne réduisent pas les tokens ou en consomment même davantage que la baseline (bench de l’auteur, sur base zod : pour les trois outils, +22 à +27 %)
- Limites : réservé à TypeScript (la profondeur plutôt que la largeur), nécessite TypeScript v7 (runtime Go, actuellement en RC). Installation en 4 lignes
Aucun commentaire pour le moment.