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.
| Option | Type | Requis | Description |
|---|---|---|---|
type | String | O | Type de connexion au serveur MCP, doit être "local". |
command | Array | O | Commande et arguments pour exécuter le serveur MCP. |
environment | Object | Variables d'environnement à définir lors de l'exécution du serveur. | |
enabled | Boolean | Active ou désactive le serveur MCP au démarrage. | |
timeout | Number | Dé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
| Option | Type | Requis | Description |
|---|---|---|---|
type | String | O | Type de connexion au serveur MCP, doit être "remote". |
url | String | O | URL du serveur MCP distant. |
enabled | Boolean | Active ou désactive le serveur MCP au démarrage. | |
headers | Object | En-têtes à envoyer avec la requête. | |
oauth | Object | Configuration d'authentification OAuth. Voir la section OAuth ci-dessous. | |
timeout | Number | Dé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 :
- Détecte la réponse 401 et initie le flux OAuth
- Utilise l'enregistrement dynamique du client (RFC 7591) si le serveur le prend en charge
- 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
| Option | Type | Description |
|---|---|---|
oauth | Object | false | Objet de configuration OAuth, ou false pour désactiver la détection automatique OAuth. |
clientId | String | ID client OAuth. S'il n'est pas fourni, l'enregistrement dynamique du client sera tenté. |
clientSecret | String | Secret client OAuth, si requis par le serveur d'autorisation. |
scope | String | Porté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 :
- Désactivez-le comme outil globalement.
- 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.