Configuration MCP
Le Protocole de Contexte de Modèle (MCP - Model Context Protocol) permet à Sidian de se connecter à des outils et services externes, étendant les capacités de l'IA au-delà de l'édition de code. Ce guide explique comment configurer et gérer les serveurs MCP.
Qu'est-ce que le MCP ?
Le MCP est un protocole standardisé qui permet aux assistants IA de se connecter en toute sécurité à des outils et des sources de données externes :
Capacités
- Opérations sur le système de fichiers
- Gestion des dépôts Git
- Requêtes de base de données
- Intégrations d'API
- Stockage de la mémoire et du contexte
Avantages
- Exécution sécurisée en bac à sable (sandboxed)
- Protocole standardisé
- Architecture extensible
- Serveurs développés par la communauté
- Configuration facile
Emplacement de la Configuration
Sidian lit la configuration MCP à partir de l'emplacement suivant :
Fichier de Configuration
- Windows :
C:\Users\{VotreNomDUtilisateur}\.sidian\mcp.json
- macOS :
~/.sidian/mcp.json
- Linux :
~/.sidian/mcp.json
Configuration de Base
Le fichier de configuration MCP utilise le format JSON avec la structure suivante :
Serveurs MCP Populaires
Voici quelques serveurs MCP couramment utilisés et leurs configurations :
Serveur de Système de Fichiers
Fournit un accès au système de fichiers pour lire, écrire et gérer des fichiers :
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/chemin/vers/votre/espace/de/travail"],
"env": {}
}
}
}
Serveur Git
Permet les opérations Git et la gestion des dépôts :
{
"mcpServers": {
"git": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-git", "--repository", "/chemin/vers/votre/depot/git"],
"env": {}
}
}
}
Memory Server
Provides persistent memory for AI conversations:
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"],
"env": {}
}
}
}
Serveur de Base de Données
Se connecte à des bases de données pour des requêtes et des opérations :
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "votre-cle-api-brave-ici"
}
}
}
}
Configuration Avancée
Variables d'Environnement
Définir des variables d'environnement pour les serveurs MCP :
{
"mcpServers": {
"custom-server": {
"command": "node",
"args": ["/chemin/vers/serveur-personnalise.js"],
"env": {
"API_KEY": "votre-cle-api",
"DEBUG": "true",
"TIMEOUT": "30000"
}
}
}
}
Options du Serveur
Configurer des options spécifiques au serveur :
{
"mcpServers": {
"web-server": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-web"],
"options": {
"timeout": 30000,
"retries": 3,
"logLevel": "info"
}
}
}
}```
### Configuration Conditionnelle
Utiliser différentes configurations en fonction de l'environnement :
```json
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
" "${SIDIAN_PROJECT_ROOT:-/chemin/par/defaut}""
]
}
}
}
Considérations de Sécurité
Sandboxing (Bac à sable)
- Les serveurs MCP s'exécutent dans des processus isolés
- Accès limité aux ressources système
- Limites de permission configurables
- Journalisation d'audit pour toutes les opérations
Contrôle d'Accès
- Mettre sur liste blanche les répertoires et fichiers autorisés
- Restreindre l'accès réseau
- Limiter l'exécution de commandes
- Surveiller l'utilisation des ressources
Bonnes Pratiques
- Utilisez les permissions minimales requises
- Mettez régulièrement à jour les paquets des serveurs MCP
- Surveillez les journaux du serveur pour toute activité suspecte
- Utilisez des variables d'environnement pour les données sensibles
Dépannage
Le Serveur ne Démarre Pas
- Vérifiez si Node.js est installé et accessible
- Vérifiez que le paquet du serveur est installé :
npm list -g
- Vérifiez la syntaxe du fichier de configuration MCP
- Consultez les journaux du serveur pour des messages d'erreur spécifiques
- Essayez d'exécuter manuellement la commande du serveur dans le terminal
Erreurs de Permission
- Assurez-vous que Sidian a les droits de lecture/écriture sur les répertoires configurés
- Vérifiez les permissions du système de fichiers sur les dossiers du projet
- Exécutez Sidian en tant qu'administrateur si nécessaire (Windows)
- Vérifiez que le fichier de configuration MCP est lisible
Le Serveur Tombe en Panne Constamment
- Mettez à jour le paquet du serveur MCP à la dernière version
- Vérifiez les conflits de versions de Node.js
- Augmentez les valeurs de timeout dans la configuration
- Surveillez les ressources système (CPU, mémoire)
- Vérifiez les journaux du serveur pour des schémas d'erreur
Problèmes de Performance
- Réduisez le nombre de serveurs MCP actifs
- Optimisez les configurations des serveurs
- Utilisez des serveurs locaux au lieu de serveurs distants
- Surveillez la latence du réseau pour les serveurs distants
- Envisagez des stratégies de mise en cache
Serveurs MCP Personnalisés
Création de Serveurs Personnalisés
Vous pouvez créer des serveurs MCP personnalisés pour des besoins spécifiques :
// serveur-personnalise.js
const { Server } = require('@modelcontextprotocol/sdk/server/index.js');
const { StdioServerTransport } = require('@modelcontextprotocol/sdk/server/stdio.js');
const server = new Server({
name: 'serveur-personnalise',
version: '1.0.0'
});
// Ajoutez ici vos outils et ressources personnalisés
server.setRequestHandler('tools/list', async () => {
return {
tools: [
{
name: 'outil-personnalise',
description: 'Un outil personnalisé pour des opérations spécifiques',
inputSchema: {
type: 'object',
properties: {
input: { type: 'string' }
}
}
}
]
};
});
const transport = new StdioServerTransport();
server.connect(transport);
Configuration pour un Serveur Personnalisé
{
"mcpServers": {
"custom": {
"command": "node",
"args": ["/chemin/vers/serveur-personnalise.js"]
}
}
}
Surveillance et Journalisation
Statut du Serveur
Surveillez le statut du serveur MCP dans Sidian :
- Vérifiez le statut de connexion du serveur dans les paramètres
- Visualisez les journaux du serveur dans le panneau de sortie
- Surveillez l'utilisation des ressources
- Suivez les taux d'erreur et les performances
Débogage
Activez la journalisation de débogage pour le dépannage :
{
"mcpServers": {
"debug-server": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/chemin"],
"env": {
"DEBUG": "*",
"LOG_LEVEL": "debug"
}
}
}
}
La configuration MCP vous permet d'étendre considérablement les capacités d'IA de Sidian. Commencez avec des serveurs de base et ajoutez progressivement des configurations plus complexes selon vos besoins.