Serveur MCP
Repomix prend en charge le Model Context Protocol (MCP), permettant aux assistants IA d'interagir directement avec votre base de code. Lorsqu'il est exécuté en tant que serveur MCP, Repomix fournit des outils permettant aux assistants IA de packager des dépôts locaux ou distants pour analyse sans nécessiter de préparation manuelle des fichiers.
NOTE
Il s'agit d'une fonctionnalité expérimentale que nous améliorerons activement en fonction des retours utilisateurs et de l'usage réel
Exécuter Repomix comme serveur MCP
Pour exécuter Repomix en tant que serveur MCP, utilisez l'option --mcp
:
repomix --mcp
Cela démarre Repomix en mode serveur MCP, le rendant disponible pour les assistants IA qui prennent en charge le Model Context Protocol.
Outils MCP disponibles
En mode serveur MCP, Repomix fournit les outils suivants:
pack_codebase
Cet outil package un répertoire de code local dans un fichier consolidé pour l'analyse par IA.
Paramètres:
directory
: (Requis) Chemin absolu vers le répertoire à packagercompress
: (Optionnel, par défaut: true) Effectuer ou non l'extraction intelligente de code pour réduire le nombre de tokensincludePatterns
: (Optionnel) Liste de motifs d'inclusion séparés par des virgulesignorePatterns
: (Optionnel) Liste de motifs d'exclusion séparés par des virgules
Exemple:
{
"directory": "/path/to/your/project",
"compress": true,
"includePatterns": "src/**/*.ts,**/*.md",
"ignorePatterns": "**/*.log,tmp/"
}
pack_remote_repository
Cet outil récupère, clone et package un dépôt GitHub dans un fichier consolidé pour l'analyse par IA.
Paramètres:
remote
: (Requis) URL du dépôt GitHub ou format utilisateur/dépôt (par exemple, yamadashy/repomix)compress
: (Optionnel, par défaut: true) Effectuer ou non l'extraction intelligente de code pour réduire le nombre de tokensincludePatterns
: (Optionnel) Liste de motifs d'inclusion séparés par des virgulesignorePatterns
: (Optionnel) Liste de motifs d'exclusion séparés par des virgules
Exemple:
{
"remote": "yamadashy/repomix",
"compress": true,
"includePatterns": "src/**/*.ts,**/*.md",
"ignorePatterns": "**/*.log,tmp/"
}
file_system_read_file et file_system_read_directory
Le serveur MCP de Repomix fournit deux outils système de fichiers qui permettent aux assistants IA d'interagir en toute sécurité avec le système de fichiers local:
file_system_read_file
- Lit le contenu des fichiers en utilisant des chemins absolus
- Implémente la validation de sécurité avec Secretlint
- Empêche l'accès aux fichiers contenant des informations sensibles
- Renvoie du contenu formaté avec des messages d'erreur clairs pour les chemins invalides ou les problèmes de sécurité
file_system_read_directory
- Liste le contenu des répertoires en utilisant des chemins absolus
- Affiche les fichiers et répertoires avec des indicateurs clairs (
[FILE]
ou[DIR]
) - Fournit une traversée sécurisée des répertoires avec une gestion appropriée des erreurs
- Valide les chemins et s'assure qu'ils sont absolus
Les deux outils intègrent des mesures de sécurité robustes:
- Validation des chemins absolus pour prévenir les attaques par traversée de répertoire
- Vérifications des permissions pour assurer des droits d'accès appropriés
- Intégration avec Secretlint pour la détection d'informations sensibles
- Messages d'erreur clairs pour un meilleur débogage et une meilleure sensibilisation à la sécurité
Exemple:
// Lecture d'un fichier
const fileContent = await tools.file_system_read_file({
path: '/absolute/path/to/file.txt'
});
// Liste du contenu d'un répertoire
const dirContent = await tools.file_system_read_directory({
path: '/absolute/path/to/directory'
});
Ces outils sont particulièrement utiles lorsque les assistants IA doivent:
- Analyser des fichiers spécifiques dans la base de code
- Naviguer dans les structures de répertoires
- Vérifier l'existence et l'accessibilité des fichiers
- Assurer des opérations sécurisées sur le système de fichiers
Configuration des serveurs MCP
Pour utiliser Repomix comme serveur MCP avec des assistants IA comme Claude, vous devez configurer les paramètres MCP:
Pour Cline (extension VS Code)
Modifiez le fichier cline_mcp_settings.json
:
{
"mcpServers": {
"repomix": {
"command": "npx",
"args": [
"-y",
"repomix",
"--mcp"
]
}
}
}
Pour Claude Desktop
Modifiez le fichier claude_desktop_config.json
avec une configuration similaire à celle de Cline.
Avantages de l'utilisation de Repomix comme serveur MCP
L'utilisation de Repomix comme serveur MCP offre plusieurs avantages:
- Intégration directe: Les assistants IA peuvent analyser directement votre base de code sans préparation manuelle des fichiers.
- Flux de travail efficace: Simplifie le processus d'analyse du code en éliminant le besoin de générer et de télécharger manuellement des fichiers.
- Sortie cohérente: Garantit que l'assistant IA reçoit la base de code dans un format cohérent et optimisé.
- Fonctionnalités avancées: Exploite toutes les fonctionnalités de Repomix comme la compression de code, le comptage de tokens et les vérifications de sécurité.
Une fois configuré, votre assistant IA peut utiliser directement les capacités de Repomix pour analyser les bases de code, rendant les flux de travail d'analyse de code plus efficaces.