ConfigurationMCP

MCP

Bob Shell prend en charge le Model Context Protocol (MCP), qui vous permet d'étendre les capacités de Bob en vous connectant à des services et outils externes.

Qu'est-ce que MCP ?

Un serveur MCP (Model Context Protocol) agit comme un pont entre Bob et des services externes tels que des bases de données, des API ou des scripts personnalisés. Avec MCP, vous pouvez étendre les capacités de Bob au-delà de ses fonctionnalités intégrées.

Les serveurs MCP fournissent à Bob :

  • Découverte d'outils : Accès aux outils disponibles avec leurs descriptions et paramètres
  • Invocation d'outils : La capacité d'invoquer des outils spécifiques avec des arguments et de recevoir des réponses structurées
  • Accès aux ressources : La capacité de lire des données à partir de ressources spécifiques

Avantages de MCP

  • Étendre les fonctionnalités : Ajoutez des capacités personnalisées à Bob qui ne sont pas disponibles par défaut
  • Intégrer avec des services : Connectez Bob à vos bases de données, API et autres systèmes
  • Automatiser les flux de travail : Créez des outils spécialisés pour vos besoins spécifiques
  • Partager les capacités : Distribuez des outils utiles dans votre équipe

Configuration des serveurs MCP

Vous pouvez gérer les configurations de serveur MCP à deux niveaux :

  1. Configuration globale : Les paramètres dans ~/.bob/settings/mcp.json s'appliquent à tous les espaces de travail
  2. Configuration au niveau du projet : Les paramètres dans .bob/mcp.json s'appliquent uniquement au projet actuel

Si un nom de serveur existe à la fois dans les configurations globales et de projet, la configuration au niveau du projet a la priorité.

Modifier les fichiers de paramètres MCP

Utilisez Bob IDE ou un autre éditeur de texte pour modifier vos fichiers de paramètres MCP.

L'exemple suivant montre une configuration de serveur Stdio de base :

{
  "mcpServers": {
    "server1": {
      "command": "python",
      "args": ["/path/to/server.py"],
      "env": {
        "API_KEY": "your_api_key"
      },
      "alwaysAllow": ["tool1", "tool2"],
      "disabled": false
    }
  }
}

Propriétés de configuration

Chaque configuration de serveur nécessite l'une de ces propriétés :

  • command : Chemin vers l'exécutable pour le transport stdio
  • httpURL : URL du point de terminaison HTTP pour le transport HTTP streamable

Les propriétés optionnelles incluent :

  • args : Arguments de ligne de commande pour le transport stdio
  • headers : En-têtes HTTP personnalisés pour le transport HTTP streamable
  • env : Variables d'environnement pour le processus serveur
  • cwd : Répertoire de travail pour le transport stdio
  • timeout : Délai d'expiration de la requête en millisecondes (par défaut : 600 000 ms / 10 minutes)
  • alwaysAllow : Noms d'outils à approuver automatiquement. Bob Shell lit ces entrées depuis mcp.json et les applique au démarrage de chaque tâche, de sorte que les outils listés ne déclenchent pas de demande d'approbation.
  • disabled : Définir sur true pour désactiver le serveur

Types de transport

MCP prend en charge trois façons de communiquer avec les serveurs :

Transport Stdio

Le transport Stdio exécute les serveurs localement sur votre ordinateur :

  • Utilise les flux d'entrée/sortie standard pour la communication
  • Offre une latence plus faible et une meilleure sécurité
  • S'exécute comme un processus enfant sur votre ordinateur

Exemple de configuration :

{
 "mcpServers": {
   "local-server": {
     "command": "node",
     "args": ["server.js"],
     "cwd": "/path/to/project",
     "env": {
       "API_KEY": "your_api_key"
     },
     "alwaysAllow": ["tool1", "tool2"]
   }
 }
}

Transport SSE (supprimé)

Le client MCP de Bob ne prend plus en charge le transport HTTP+SSE autonome. La propriété url n'est pas reconnue. Utilise le transport HTTP streamable ou STDIO à la place. Pour les instructions de migration, consulte Transports de serveur MCP.

Transport HTTP streamable

Le transport HTTP streamable se connecte aux serveurs distants via HTTP :

  • Utilise une connexion HTTP bidirectionnelle
  • Prend en charge les messages de requête/réponse et les messages poussés par le serveur
  • Fonctionne avec des serveurs hébergés sur différentes machines

Exemple de configuration :

{
 "mcpServers": {
   "remote-server": {
     "httpURL": "https://your-server-url.com/mcp"
   }
 }
}

Exemples spécifiques à la plateforme

Configuration Windows

{
  "mcpServers": {
    "puppeteer": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "@modelcontextprotocol/server-puppeteer"
      ]
    }
  }
}

Configuration macOS et Linux

{
  "mcpServers": {
    "puppeteer": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-puppeteer"
      ]
    }
  }
}

Configuration du gestionnaire de versions d'exécution

Lors de l'utilisation de gestionnaires de versions comme asdf ou mise :

{
  "mcpServers": {
    "mcp-batchit": {
      "command": "mise",
      "args": [
        "x",
        "--",
        "node",
        "/Users/myself/workspace/mcp-batchit/build/index.js"
      ],
      "alwaysAllow": [
        "search",
        "batch_execute"
      ]
    }
  }
}

Versions du protocole MCP prises en charge

Bob Shell prend en charge les versions suivantes de la spécification MCP :

Version du protocoleStatut
2025-11-25Prise en charge
2025-06-18Prise en charge
2025-03-26Prise en charge
2024-11-05Prise en charge
2024-10-07Prise en charge

Bob Shell négocie la version la plus élevée mutuellement prise en charge lors de la connexion à un serveur. La version de spécification 2026-07-28 n'est pas encore prise en charge.

Comment trouvez-vous ce sujet ?