Dropstone CLI

Serveurs MCP

Ajoutez des outils MCP locaux et distants.

Vous pouvez ajouter des outils externes à Dropstone en utilisant le Model Context Protocol, ou MCP. Dropstone prend en charge les serveurs locaux et distants.

Une fois ajoutés, les outils MCP sont automatiquement disponibles pour le LLM en plus des outils intégrés.


Mises en garde

Lorsque vous utilisez un serveur MCP, cela ajoute au contexte. Cela peut rapidement s'accumuler si vous avez beaucoup d'outils. Nous vous recommandons donc d'être prudent quant aux serveurs MCP que vous utilisez.

Tip

Les serveurs MCP ajoutent à votre contexte, soyez donc prudent quant à ceux que vous activez.

Certains serveurs MCP, comme le serveur MCP GitHub, ont tendance à ajouter beaucoup de jetons et peuvent facilement dépasser la limite de contexte.


Activation

Vous pouvez définir des serveurs MCP dans votre configuration Dropstone sous mcp. Ajoutez chaque MCP avec un nom unique. Vous pouvez vous référer à ce MCP par son nom lorsque vous invitez le LLM.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "nom-du-serveur-mcp": {
      // ...
      "enabled": true,
    },
    "nom-de-l-autre-serveur-mcp": {
      // ...
    },
  },
}

Vous pouvez également désactiver un serveur en définissant enabled sur false. Cela est utile si vous souhaitez désactiver temporairement un serveur sans le supprimer de votre configuration.


Remplacement des valeurs par défaut distantes

Les organisations peuvent fournir des serveurs MCP par défaut via leur point de terminaison .well-known/dropstone. Ces serveurs peuvent être désactivés par défaut, permettant aux utilisateurs de choisir ceux dont ils ont besoin.

Pour activer un serveur spécifique à partir de la configuration distante de votre organisation, ajoutez-le à votre configuration locale avec enabled: true :

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "jira": {
      "type": "remote",
      "url": "https://jira.example.com/mcp",
      "enabled": true
    }
  }
}

Les valeurs de votre configuration locale remplacent les valeurs par défaut distantes. Voir précédence de configuration pour plus de détails.


Local

Ajoutez des serveurs MCP locaux en définissant type sur "local" dans l'objet MCP.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "mon-serveur-mcp-local": {
      "type": "local",
      // Ou ["bun", "x", "ma-commande-mcp"]
      "command": ["npx", "-y", "ma-commande-mcp"],
      "enabled": true,
      "environment": {
        "MA_VARIABLE_ENV": "ma_valeur_variable_env",
      },
    },
  },
}

La commande est la façon dont le serveur MCP local est démarré. Vous pouvez également passer une liste de variables d'environnement.

Par exemple, voici comment ajouter le serveur MCP de test @modelcontextprotocol/server-everything.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "mcp_everything": {
      "type": "local",
      "command": ["npx", "-y", "@modelcontextprotocol/server-everything"],
    },
  },
}

Et pour l'utiliser, je peux ajouter utilise l'outil mcp_everything à mes invites.

utilise l'outil mcp_everything pour additionner les nombres 3 et 4

Options

Voici toutes les options pour configurer un serveur MCP local.

OptionTypeRequisDescription
typeStringOType de connexion au serveur MCP, doit être "local".
commandArrayOCommande et arguments pour exécuter le serveur MCP.
environmentObjectVariables d'environnement à définir lors de l'exécution du serveur.
enabledBooleanActive ou désactive le serveur MCP au démarrage.
timeoutNumberDélai d'attente en ms pour récupérer les outils du serveur MCP. Par défaut : 5000 (5 secondes).

Distant

Ajoutez des serveurs MCP distants en définissant type sur "remote".

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "mon-mcp-distant": {
      "type": "remote",
      "url": "https://mon-serveur-mcp.com",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer MA_CLE_API"
      }
    }
  }
}

L'url est l'URL du serveur MCP distant et avec l'option headers, vous pouvez passer une liste d'en-têtes.


Options

OptionTypeRequisDescription
typeStringOType de connexion au serveur MCP, doit être "remote".
urlStringOURL du serveur MCP distant.
enabledBooleanActive ou désactive le serveur MCP au démarrage.
headersObjectEn-têtes à envoyer avec la requête.
oauthObjectConfiguration d'authentification OAuth. Voir la section OAuth ci-dessous.
timeoutNumberDélai d'attente en ms pour récupérer les outils du serveur MCP. Par défaut : 5000 (5 secondes).

OAuth

Dropstone gère automatiquement l'authentification OAuth pour les serveurs MCP distants. Lorsqu'un serveur nécessite une authentification, Dropstone :

  1. Détecte la réponse 401 et initie le flux OAuth
  2. Utilise l'enregistrement dynamique du client (RFC 7591) si le serveur le prend en charge
  3. Stocke les jetons de manière sécurisée pour les requêtes futures

Automatique

Pour la plupart des serveurs MCP compatibles OAuth, aucune configuration spéciale n'est nécessaire. Configurez simplement le serveur distant :

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "mon-serveur-oauth": {
      "type": "remote",
      "url": "https://mcp.example.com/mcp"
    }
  }
}

Si le serveur nécessite une authentification, Dropstone vous invitera à vous authentifier lors de la première utilisation. Sinon, vous pouvez déclencher manuellement le flux avec dropstone mcp auth <nom-du-serveur>.


Pré-enregistré

Si vous disposez d'informations d'identification client auprès du fournisseur du serveur MCP, vous pouvez les configurer :

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "mon-serveur-oauth": {
      "type": "remote",
      "url": "https://mcp.example.com/mcp",
      "oauth": {
        "clientId": "{env:MY_MCP_CLIENT_ID}",
        "clientSecret": "{env:MY_MCP_CLIENT_SECRET}",
        "scope": "tools:read tools:execute"
      }
    }
  }
}

Authentification

Vous pouvez déclencher manuellement l'authentification ou gérer les informations d'identification.

Authentifiez-vous avec un serveur MCP spécifique :

dropstone mcp auth mon-serveur-oauth

Listez tous les serveurs MCP et leur statut d'authentification :

dropstone mcp list

Supprimez les informations d'identification stockées :

dropstone mcp logout mon-serveur-oauth

La commande mcp auth ouvrira votre navigateur pour l'autorisation. Après autorisation, Dropstone stockera les jetons de manière sécurisée dans ~/.local/share/dropstone/mcp-auth.json.


Désactivation d'OAuth

Si vous souhaitez désactiver l'OAuth automatique pour un serveur (par exemple, pour les serveurs qui utilisent des clés API), définissez oauth sur false :

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "mon-serveur-cle-api": {
      "type": "remote",
      "url": "https://mcp.example.com/mcp",
      "oauth": false,
      "headers": {
        "Authorization": "Bearer {env:MY_API_KEY}"
      }
    }
  }
}

Options OAuth

OptionTypeDescription
oauthObject | falseObjet de configuration OAuth, ou false pour désactiver la détection automatique OAuth.
clientIdStringID client OAuth. S'il n'est pas fourni, l'enregistrement dynamique du client sera tenté.
clientSecretStringSecret client OAuth, si requis par le serveur d'autorisation.
scopeStringPortées OAuth à demander lors de l'autorisation.

Débogage

Si un serveur MCP distant échoue à s'authentifier, vous pouvez diagnostiquer les problèmes avec :

# Afficher le statut d'authentification pour tous les serveurs compatibles OAuth
dropstone mcp auth list

# Déboguer la connexion et le flux OAuth pour un serveur spécifique
dropstone mcp debug mon-serveur-oauth

La commande mcp debug affiche le statut d'authentification actuel, teste la connectivité HTTP et tente le flux de découverte OAuth.


Gestion

Vos MCP sont disponibles comme outils dans Dropstone, en plus des outils intégrés. Vous pouvez donc les gérer via la configuration Dropstone comme n'importe quel autre outil.


Global

Cela signifie que vous pouvez les activer ou les désactiver globalement.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "mon-mcp-foo": {
      "type": "local",
      "command": ["bun", "x", "ma-commande-mcp-foo"]
    },
    "mon-mcp-bar": {
      "type": "local",
      "command": ["bun", "x", "ma-commande-mcp-bar"]
    }
  },
  "tools": {
    "mon-mcp-foo": false
  }
}

Nous pouvons également utiliser un motif glob pour désactiver tous les MCP correspondants.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "mon-mcp-foo": {
      "type": "local",
      "command": ["bun", "x", "ma-commande-mcp-foo"]
    },
    "mon-mcp-bar": {
      "type": "local",
      "command": ["bun", "x", "ma-commande-mcp-bar"]
    }
  },
  "tools": {
    "mon-mcp*": false
  }
}

Ici, nous utilisons le motif glob mon-mcp* pour désactiver tous les MCP.


Par agent

Si vous avez un grand nombre de serveurs MCP, vous pouvez souhaiter les activer uniquement par agent et les désactiver globalement. Pour ce faire :

  1. Désactivez-le comme outil globalement.
  2. Dans votre configuration d'agent, activez le serveur MCP comme outil.
{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "mon-mcp": {
      "type": "local",
      "command": ["bun", "x", "ma-commande-mcp"],
      "enabled": true
    }
  },
  "tools": {
    "mon-mcp*": false
  },
  "agent": {
    "mon-agent": {
      "tools": {
        "mon-mcp*": true
      }
    }
  }
}

Motifs glob

Le motif glob utilise des motifs de correspondance regex simples :

  • * correspond à zéro ou plusieurs caractères (par exemple, "mon-mcp*" correspond à mon-mcp_recherche, mon-mcp_liste, etc.)
  • ? correspond à exactement un caractère
  • Tous les autres caractères correspondent littéralement

Note

Les outils du serveur MCP sont enregistrés avec le nom du serveur comme préfixe. Pour désactiver tous les outils d'un serveur, utilisez :

"nomduserveurmcp_*": false

Exemples

Voici des exemples de serveurs MCP courants. Contactez-nous si vous souhaitez qu'un autre serveur soit documenté.


Sentry

Ajoutez le serveur MCP Sentry pour interagir avec vos projets et problèmes Sentry.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "sentry": {
      "type": "remote",
      "url": "https://mcp.sentry.dev/mcp",
      "oauth": {}
    }
  }
}

Après avoir ajouté la configuration, authentifiez-vous avec Sentry :

dropstone mcp auth sentry

Cela ouvrira une fenêtre de navigateur pour compléter le flux OAuth et connecter Dropstone à votre compte Sentry.

Une fois authentifié, vous pouvez utiliser les outils Sentry dans vos invites pour interroger les problèmes, les projets et les données d'erreur.

Montre-moi les derniers problèmes non résolus dans mon projet. use sentry

Context7

Ajoutez le serveur MCP Context7 pour rechercher dans la documentation.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "context7": {
      "type": "remote",
      "url": "https://mcp.context7.com/mcp"
    }
  }
}

Si vous avez créé un compte gratuit, vous pouvez utiliser votre clé API et bénéficier de limites de débit plus élevées.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "context7": {
      "type": "remote",
      "url": "https://mcp.context7.com/mcp",
      "headers": {
        "CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
      }
    }
  }
}

Ici, nous supposons que vous avez défini la variable d'environnement CONTEXT7_API_KEY.

Ajoutez use context7 à vos invites pour utiliser le serveur MCP Context7.

Configure un script Cloudflare Worker pour mettre en cache les réponses d'API JSON pendant cinq minutes. use context7

Alternativement, vous pouvez ajouter quelque chose comme ceci à votre AGENTS.md.

Lorsque vous devez rechercher dans la documentation, utilisez les outils `context7`.

Grep par Vercel

Ajoutez le serveur MCP Grep par Vercel pour rechercher des extraits de code sur GitHub.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "gh_grep": {
      "type": "remote",
      "url": "https://mcp.grep.app"
    }
  }
}

Comme nous avons nommé notre serveur MCP gh_grep, vous pouvez ajouter use the gh_grep tool à vos invites pour que l'agent l'utilise.

Quelle est la bonne façon de définir un domaine personnalisé dans un composant SST Astro ? use the gh_grep tool

Alternativement, vous pouvez ajouter quelque chose comme ceci à votre AGENTS.md.

Si vous n'êtes pas sûr de la façon de faire quelque chose, utilisez `gh_grep` pour rechercher des exemples de code sur GitHub.
Ctrl+I