Aller au contenu principal

Configurer des serveurs MCP dans Vibe

Qu’est-ce que MCP ?

Le Model Context Protocol (MCP) est un standard ouvert qui permet aux agents IA de communiquer avec des serveurs d’outils externes. Au lieu de coder chaque intégration en dur, MCP fournit un protocole unifié : le serveur expose des outils, l’agent les découvre et les utilise automatiquement.

Vibe intègre nativement le support MCP, ce qui signifie que vous pouvez étendre ses capacités bien au-delà des outils de base.

Les deux types de transport

MCP supporte deux modes de communication avec les serveurs d’outils :

Transport HTTP

Le serveur MCP tourne comme un service web classique. Vibe envoie des requêtes HTTP pour découvrir et appeler les outils :

[[mcp_servers]]
name = "mon_serveur_http"
transport = "http"
url = "http://localhost:8000"
headers = { "Authorization" = "Bearer mon_token_ici" }

Ce mode est adapté quand le serveur MCP tourne en continu (par exemple un service de base de données, une API interne, ou un outil web).

Transport STDIO

Le serveur MCP est un programme local que Vibe lance et avec lequel il communique via stdin/stdout :

[[mcp_servers]]
name = "fetch_server"
transport = "stdio"
command = "uvx"
args = ["mcp-server-fetch"]

Ce mode est plus simple à configurer — Vibe gère le cycle de vie du serveur. Il le lance au début de la session et l’arrête à la fin.

Transport Streamable HTTP

Une variante du transport HTTP pour les connexions longue durée avec streaming :

[[mcp_servers]]
name = "mon_serveur_stream"
transport = "streamable-http"
url = "http://localhost:9000/mcp"

Exemple concret : ajouter la récupération web

L’un des serveurs MCP les plus utiles est mcp-server-fetch, qui permet à Vibe de lire le contenu de pages web :

# ~/.vibe/config.toml

[[mcp_servers]]
name = "fetch"
transport = "stdio"
command = "uvx"
args = ["mcp-server-fetch"]

Une fois configuré, vous pouvez demander à Vibe :

Lis la documentation de FastAPI sur fastapi.tiangolo.com et résume-moi les endpoints de sécurité

L’agent appellera automatiquement l’outil fetch du serveur MCP pour récupérer la page, puis analysera son contenu.

Filtrage des outils MCP

Quand vous avez plusieurs serveurs MCP, le nombre d’outils disponibles peut devenir important. Utilisez le filtrage pour ne garder que ce qui est pertinent :

# Activer uniquement les outils d'un serveur spécifique
enabled_tools = ["fetch_*"]

# Désactiver tous les outils MCP sauf ceux explicitement activés
disabled_tools = ["mcp_*"]

Le filtrage par wildcards vous permet de contrôler précisément quels outils l’agent peut utiliser, ce qui est important pour la sécurité et pour éviter de surcharger le contexte du modèle.

Configuration avancée avec authentification

Pour les serveurs MCP qui nécessitent une authentification :

[[mcp_servers]]
name = "api_interne"
transport = "http"
url = "https://mcp.votre-entreprise.com"
headers = { "Authorization" = "Bearer ${MCP_API_TOKEN}" }

Vous pouvez référencer des variables d’environnement dans les headers avec la syntaxe ${VARIABLE}, ce qui évite de mettre des secrets en dur dans la configuration.

Serveurs MCP populaires

Voici quelques serveurs MCP que vous pouvez ajouter à Vibe :

  • mcp-server-fetch — Récupération de pages web et APIs
  • mcp-server-filesystem — Opérations fichier étendues
  • mcp-server-git — Intégration Git avancée (diff, blame, log)
  • mcp-server-sqlite — Interrogation de bases SQLite
  • mcp-server-postgres — Connexion à PostgreSQL

Chacun s’installe et se configure de la même manière dans config.toml.

Vérifier les serveurs MCP actifs

En cours de session, vous pouvez vérifier quels serveurs MCP sont connectés et quels outils sont disponibles. L’agent vous indique les outils qu’il utilise dans ses réponses.

Sécurité des serveurs MCP

Quelques précautions importantes :

  • N’ajoutez que des serveurs de confiance — un serveur MCP malveillant pourrait exposer des données
  • Limitez les permissions — utilisez enabled_tools pour restreindre les outils accessibles
  • Vérifiez les headers — ne mettez pas de tokens sensibles en clair dans config.toml, utilisez des variables d’environnement
  • Serveurs locaux — préférez les transports STDIO pour les outils locaux, plus sûrs que HTTP exposé

Points clés à retenir

  • MCP permet d’ajouter des outils externes à Vibe via un protocole standardisé
  • Deux transports principaux : HTTP (serveur permanent) et STDIO (processus local)
  • Le filtrage d’outils (enabled_tools, disabled_tools) contrôle ce que l’agent peut utiliser
  • Les variables d’environnement dans les headers protègent les secrets
  • N’ajoutez que des serveurs MCP de confiance et limitez les permissions