Dropstone Docs

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 aux côtés des outils intégrés.


Mises en garde

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

Conseil:

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

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


Activer

Vous pouvez définir les serveurs MCP dans votre configuration Dropstone sous mcp. Ajoutez chaque MCP avec un nom unique. Vous pouvez faire référence à ce MCP par son nom lors de l'invite du LLM.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "name-of-mcp-server": {
      // ...
      "enabled": true,
    },
    "name-of-other-mcp-server": {
      // ...
    },
  },
}

Vous pouvez également désactiver un serveur en définissant enabled sur false. C'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
    }
  }
}

Vos valeurs de configuration locale remplacent les valeurs par défaut distantes. Consultez l'ordre de précédence de la configuration pour plus de détails.


Local

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

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "my-local-mcp-server": {
      "type": "local",
      // Or ["bun", "x", "my-mcp-command"]
      "command": ["npx", "-y", "my-mcp-command"],
      "enabled": true,
      "environment": {
        "MY_ENV_VAR": "my_env_var_value",
      },
    },
  },
}

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

Par exemple, voici comment vous pouvez 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 use the mcp_everything tool à mes invites.

use the mcp_everything tool to add the number 3 and 4

Options

Voici toutes les options pour configurer un serveur MCP local.

OptionTypeRequisDescription
typeStringOType de connexion du 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.
enabledBooleanActiver ou désactiver le serveur MCP au démarrage.
timeoutNumberDélai d'expiration 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": {
    "my-remote-mcp": {
      "type": "remote",
      "url": "https://my-mcp-server.com",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer MY_API_KEY"
      }
    }
  }
}

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


Options

OptionTypeRequisDescription
typeStringOType de connexion du serveur MCP, doit être "remote".
urlStringOURL du serveur MCP distant.
enabledBooleanActiver ou désactiver le serveur MCP au démarrage.
headersObjectEn-têtes à envoyer avec la requête.
oauthObjectConfiguration d'authentification OAuth. Consultez la section OAuth ci-dessous.
timeoutNumberDélai d'expiration 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 Dynamic Client Registration (RFC 7591) si pris en charge par le serveur
  3. Stocke les tokens 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": {
    "my-oauth-server": {
      "type": "remote",
      "url": "https://mcp.example.com/mcp"
    }
  }
}

Si le serveur nécessite une authentification, Dropstone vous invitera à vous authentifier lorsque vous essayerez de l'utiliser pour la première fois. Sinon, vous pouvez déclencher manuellement le flux avec dropstone mcp auth <server-name>.


Pré-enregistré

Si vous avez des identifiants client du fournisseur du serveur MCP, vous pouvez les configurer :

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "my-oauth-server": {
      "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 identifiants.

Authentifiez-vous auprès d'un serveur MCP spécifique :

dropstone mcp auth my-oauth-server

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

dropstone mcp list

Supprimez les identifiants stockés :

dropstone mcp logout my-oauth-server

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


Désactivation d'OAuth

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

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "my-api-key-server": {
      "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. Si non 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 ne parvient pas à 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 my-oauth-server

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


Gérer

Vos MCP sont disponibles en tant qu'outils dans Dropstone, aux côtés 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": {
    "my-mcp-foo": {
      "type": "local",
      "command": ["bun", "x", "my-mcp-command-foo"]
    },
    "my-mcp-bar": {
      "type": "local",
      "command": ["bun", "x", "my-mcp-command-bar"]
    }
  },
  "tools": {
    "my-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": {
    "my-mcp-foo": {
      "type": "local",
      "command": ["bun", "x", "my-mcp-command-foo"]
    },
    "my-mcp-bar": {
      "type": "local",
      "command": ["bun", "x", "my-mcp-command-bar"]
    }
  },
  "tools": {
    "my-mcp*": false
  }
}

Ici, nous utilisons le motif glob my-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 en tant qu'outil globalement.
  2. Dans votre configuration d'agent, activez le serveur MCP en tant qu'outil.
{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "my-mcp": {
      "type": "local",
      "command": ["bun", "x", "my-mcp-command"],
      "enabled": true
    }
  },
  "tools": {
    "my-mcp*": false
  },
  "agent": {
    "my-agent": {
      "tools": {
        "my-mcp*": true
      }
    }
  }
}

Motifs glob

Le motif glob utilise des motifs de globbing regex simples :

  • * correspond à zéro ou plusieurs caractères quelconques (par exemple, "my-mcp*" correspond à my-mcp_search, my-mcp_list, 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, donc pour désactiver tous les outils d'un serveur, utilisez :

"mymcpservername_*": false

Exemples

Ci-dessous se trouvent des exemples de certains serveurs MCP courants. Contactez-nous si vous souhaitez qu'un autre soit documenté.


Sentry

Ajoutez le serveur Sentry MCP 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 auprès de 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.

Show me the latest unresolved issues in my project. use sentry

Context7

Ajoutez le serveur Context7 MCP pour rechercher dans les documents.

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

Si vous vous êtes inscrit pour un compte gratuit, vous pouvez utiliser votre clé API et obtenir des 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 a Cloudflare Worker script to cache JSON API responses for five minutes. use context7

Vous pouvez également ajouter quelque chose comme ceci à votre AGENTS.md.

When you need to search docs, use `context7` tools.

Grep by Vercel

Ajoutez le serveur MCP Grep by 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"
    }
  }
}

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

What's the right way to set a custom domain in an SST Astro component? use the gh_grep tool

Vous pouvez également ajouter quelque chose comme ceci à votre AGENTS.md.

If you are unsure how to do something, use `gh_grep` to search code examples from GitHub.
Ctrl+I