MCP sans le cloud
L'article décrit une utilisation alternative de MCP (Model Context Protocol) pour fournir à un modèle l'accès à une grande archive de documents locaux. Au lieu du RAG classique, une structure d'index (index.md et subindex.md) est proposée, permettant au modèle de récupérer uniquement les fragments nécessaires, réduisant ainsi le contexte et les tokens, et évitant le cloud. L'auteur présente sa propre implémentation – l'outil DocShelf, qui convertit les PDF en Markdown, les divise en sections, construit un index, le stocke dans Git, et se connecte via MCP, avec un exemple de tout le pipeline.
L'auteur soutient que MCP n'est pas réservé aux agents, mais peut être utilisé à d'autres fins, comme la mise en œuvre d'une récupération à partir d'une grande collection de documents locaux. La méthode classique de RAG a été envisagée, mais elle nécessite une infrastructure importante (modèles d'embedding, bases de données vectorielles, réindexation planifiée) et ne fournit pas de transparence pour auditer pourquoi le modèle a choisi un fragment particulier. Au lieu de cela, il est proposé d'utiliser un fichier d'index (idée llms.txt) qui sert de table des matières : le modèle lit d'abord l'index, puis le sous-index, et seulement ensuite récupère la section spécifique d'un document. L'auteur a créé l'outil DocShelf, un serveur MCP qui convertit le PDF en Markdown, le nettoie, le divise en sections, crée index.md et subindex.md, stocke le tout dans Git, et le connecte au modèle. Le pipeline est le suivant : PDF vers Markdown, puis division en sections, puis construction de l'index, puis sauvegarde dans Git, puis via le serveur MCP au LLM. Le modèle ne consomme qu'une infime fraction de l'archive totale : dans l'exemple avec une étagère de 85 Mo, environ 16,5 Ko de contexte ont été utilisés. L'article met également en évidence les pièges courants : problèmes d'analyse PDF, corruption du cyrillique, mauvaise structure Markdown, et fournit un tableau de dépannage. Deux convertisseurs sont disponibles : pymupdf4llm (rapide, sans GPU) et marker-pdf (pour les cas complexes, mais lourd). DocShelf prend en charge Git comme stockage, versionnage et revue, et peut fonctionner dans des réseaux fermés. L'auteur conclut que cette approche est une alternative viable à la méthode classique de RAG dans les scénarios où des audits sont nécessaires et où le corpus est local.
Source: Habr — хаб ИИ —
original
