Guide de Configuration MCP : Mise en Place et Configuration YAML
Qu'est-ce que MCP ?
La Plateforme Modulaire de Copilote (MCP) est un cadre pour le déploiement et la gestion d'assistants IA dotés de capacités modulaires. Elle vous permet de créer des flux de travail IA personnalisés avec des outils et des intégrations spécialisés.
Configuration YAML de Base
Configuration Minimale
# mcp-config.yml
version: "1.0"
server:
host: "0.0.0.0"
port: 5000
models:
- name: "default"
provider: "ollama"
model: "mistral:7b"
temperature: 0.7
tools:
- filesystem
- web_searchDétail de la Configuration
Paramètres du Serveur :
server:
host: "0.0.0.0" # Écoute sur toutes les interfaces
port: 5000 # Port de l'API
workers: 4 # Nombre de processus worker
timeout: 120 # Délai d'attente de la requête (secondes)Configuration des Modèles :
models:
- name: "code-assistant"
provider: "ollama" # Options: ollama, openai, anthropic
model: "codellama:7b"
temperature: 0.3 # Inférieur = plus déterministe
max_tokens: 2048
context_window: 4096Outils et Capacités :
tools:
- name: "filesystem"
enabled: true
config:
allowed_paths:
- "/home/user/documents"
- "/home/user/projects"
- name: "web_search"
enabled: true
api_key: "${SEARCH_API_KEY}"
- name: "code_execution"
enabled: false # Désactivé pour la sécurité
Déploiement Docker
docker-compose.yml
version: '3.8'
services:
mcp:
image: modularcopilot/mcp:latest
container_name: mcp-server
restart: unless-stopped
ports:
- "5000:5000"
volumes:
- ./config:/app/config
- ./data:/app/data
environment:
- MCP_CONFIG_PATH=/app/config/mcp-config.yml
- OLLAMA_HOST=http://ollama:11434
depends_on:
- ollama
ollama:
image: ollama/ollama:latest
container_name: ollama
restart: unless-stopped
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
volumes:
ollama_data:Commandes de Déploiement
# Démarrer les services
docker-compose up -d
# Voir les logs
docker-compose logs -f mcp
# Tester l'API
curl http://localhost:5000/health
# Télécharger le modèle
docker exec ollama ollama pull mistral:7bConfiguration Avancée
Configuration Multi-Modèles
models:
- name: "general"
provider: "ollama"
model: "mistral:7b"
use_case: "general_queries"
- name: "coding"
provider: "ollama"
model: "codellama:13b"
use_case: "code_generation"
- name: "creative"
provider: "openai"
model: "gpt-4"
api_key: "${OPENAI_API_KEY}"
use_case: "creative_writing"Configuration d'Outils Personnalisés
tools:
- name: "obsidian_integration"
type: "custom"
script: "/app/tools/obsidian_tool.py"
config:
vault_path: "/data/obsidian"
api_endpoint: "http://localhost:27124"
- name: "n8n_workflows"
type: "webhook"
url: "http://n8n:5678/webhook/mcp"
headers:
Authorization: "Bearer ${N8N_TOKEN}"Variables d'Environnement
# Fichier .env
MCP_LOG_LEVEL=INFO
OLLAMA_HOST=http://localhost:11434
OPENAI_API_KEY=sk-...
SEARCH_API_KEY=...
N8N_TOKEN=...Exemples d'Intégration
Avec n8n
// Nœud de Requête HTTP n8n
{
"method": "POST",
"url": "http://mcp:5000/api/chat",
"body": {
"model": "general",
"messages": [
{
"role": "user",
"content": "Résumer mes notes Obsidian"
}
]
}
}Avec Obsidian
// Intégration du plugin Obsidian
async function queryMCP(prompt: string) {
const response = await fetch('http://localhost:5000/api/chat', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
model: 'general',
messages: [{ role: 'user', content: prompt }]
})
});
return await response.json();
}Meilleures Pratiques de Sécurité
1. Authentification
server:
auth:
enabled: true
type: "bearer"
tokens:
- "${MCP_API_TOKEN}"2. Limitation du Taux de Requêtes
server:
rate_limit:
enabled: true
requests_per_minute: 60
burst: 103. Restrictions des Outils
tools:
- name: "filesystem"
enabled: true
security:
read_only: true
allowed_extensions: [".md", ".txt"]
max_file_size: "10MB"Dépannage
Problèmes Courants
MCP ne démarre pas :
# Vérifier les logs
docker logs mcp-server
# Valider la configuration
docker exec mcp-server python -c "import yaml; yaml.safe_load(open('/app/config/mcp-config.yml'))"Le modèle ne se charge pas :
# Télécharger le modèle manuellement
docker exec ollama ollama pull mistral:7b
# Vérifier les modèles disponibles
docker exec ollama ollama listConnexion refusée :
# Vérifier si les services sont en cours d'exécution
docker ps
# Tester la connectivité
curl http://localhost:5000/health
curl http://localhost:11434/api/versionConclusion
MCP fournit un cadre flexible pour l'intégration de l'IA. Une configuration YAML appropriée est essentielle pour un déploiement fiable. Commencez par la configuration de base, puis ajoutez progressivement les outils et les modèles selon vos besoins.
Points Clés : - Utilisez des variables d'environnement pour les secrets - Commencez par une configuration minimale - Testez chaque outil avant de l'activer - Surveillez l'utilisation des ressources - Maintenez les configurations sous contrôle de version
Pour plus d'informations : MCP GitHub