Serveurs MCP

Un serveur MCP est une dépendance qui parle à votre modèle

Il tourne sur votre machine avec vos droits, comme n'importe quel paquet. Contrairement à un paquet, ses descriptions d'outils atterrissent dans le contexte du modèle, où elles se lisent comme des instructions. La sécurité d'un serveur MCP doit couvrir les deux moitiés.

les descriptions sont du prompt, pas de la docles serveurs stdio héritent de votre environnementun schéma peut changer après votre approbation
Risques

Les risques de sécurité des serveurs MCP, concrètement

Aucun n'est exotique. Ils découlent du fonctionnement du protocole et de l'endroit où les gens rangent leurs identifiants.

tool poisoning

La description fait partie du prompt

Le nom, la description et le schéma de paramètres d'un outil arrivent au modèle sous forme de texte. Un serveur peut écrire une description qui dit au modèle de lire un fichier et d'en passer le contenu en argument, et le modèle n'a aucun moyen de distinguer cela d'une instruction légitime.

voie du prompt

remise d'identifiants

Un serveur local garde ce que vous lui donnez

Les serveurs MCP locaux tournent sur stdio comme processus enfants. Ils reçoivent l'environnement que vous leur donnez, ce qui veut généralement dire un jeton à longue durée dans une variable. À partir de là, l'identifiant vous échappe.

clé exposée

dérive de schéma

Vous avez approuvé une version, pas un comportement

Les descriptions et les schémas d'outils peuvent changer à la prochaine mise à jour. Le serveur que vous avez examiné en mars n'est pas forcément celui qui tourne en juin, et rien dans le protocole ne rend ce changement bruyant.

changement silencieux

portée du jeton

Un jeton émis pour une chose, dépensé pour une autre

Les serveurs distants détiennent des jetons d'accès en votre nom. Un serveur qui accepte ou relaie un jeton émis pour une autre ressource devient un intermédiaire commode pour atteindre des choses que vous n'avez jamais autorisées.

portée qui déborde

aucune trace

On n'audite pas ce qu'on n'a pas journalisé

La plupart des installations ne gardent aucune trace de quel outil MCP a tourné, avec quels arguments, contre quel hôte. L'ennui remonte au calendrier de quelqu'un d'autre, en général dans une facture ou une notification de fuite.

angle mort

Le fil conducteur : c'est le modèle qui lit les descriptions d'outils, et l'identifiant se trouve quelque part où le serveur peut le lire. Réglez la seconde moitié et la première cesse de pouvoir rapporter quoi que ce soit.

Authentification

Authentification MCP et OAuth 2.1

Les serveurs MCP locaux et distants s'authentifient de manières complètement différentes, et cet écart compte davantage que ne le laissent croire la plupart des guides d'installation.

En local, via stdio

Il n'y a aucune étape d'authentification. Le serveur est un processus enfant que vous avez lancé, et il est aussi digne de confiance que l'environnement avec lequel vous l'avez démarré. Le jeton que vous avez exporté est désormais aussi celui du serveur.

confiance = votre environnement

À distance, via HTTP

Le profil d'autorisation MCP s'appuie sur OAuth 2.1 : le client découvre le serveur d'autorisation, vous consentez dans un navigateur, et le client détient un jeton d'accès à courte durée avec un jeton de rafraîchissement derrière.

confiance = la portée du jeton

01 · Courte durée l'emporte sur longue durée
Un jeton OAuth révocable depuis le tableau de bord du fournisseur est une meilleure position qu'un personal access token collé dans un fichier de configuration il y a deux mois.
02 · Les jetons devraient nommer leur destinataire
Le profil MCP attend un jeton lié à la ressource pour laquelle il a été émis. Un serveur prêt à accepter un jeton émis ailleurs est une conception à refuser.
03 · C'est au rafraîchissement que les jetons fuient
Les jetons de rafraîchissement vivent plus longtemps que tout le reste du flux et finissent le plus souvent en clair dans un fichier du répertoire personnel. Sallyport les scelle dans le coffre et effectue le rafraîchissement dans l'application.
Bonnes pratiques

Huit vérifications avant d'installer un serveur MCP

Rien ici n'exige un produit. C'est l'examen que vous feriez de n'importe quelle dépendance, plus les deux questions propres à MCP.

  1. 01

    Épinglez la version

    Installez une version précise plutôt que ce vers quoi latest pointe aujourd'hui. Un serveur qui se met à jour tout seul peut changer ses descriptions d'outils après que vous les avez approuvées.

  2. 02

    Lisez les descriptions d'outils, pas le README

    Le README est écrit pour vous. Les descriptions sont écrites pour le modèle. Lisez celles que le modèle recevra réellement.

  3. 03

    Partez du principe qu'un serveur local garde tout

    Un serveur stdio est un processus enfant avec vos droits. Donnez-lui l'identifiant le plus étroit qui fasse encore le travail, jamais un jeton root qui traînait à côté.

  4. 04

    Préférez OAuth à une clé collée

    Un jeton révocable et à courte durée vaut mieux qu'un personal access token dans une variable d'environnement, même si la configuration prend cinq minutes de plus.

  5. 05

    Vérifiez la portée du jeton

    Une ressource, un destinataire. Un serveur qui réclame un jeton à large portée, ou qui en accepte un émis pour autre chose, vous annonce déjà comment il va se comporter.

  6. 06

    Un serveur, une mission

    Regrouper cinq services derrière un seul serveur MCP concentre tous les identifiants dans un même processus. Séparez-les et le pire cas rétrécit.

  7. 07

    Gardez une trace des appels

    Si vous ne pouvez pas dire ce qu'un serveur a fait mardi dernier, vous lui faites confiance au lieu de le vérifier. Les journaux sont ce qui transforme un incident en incident borné.

  8. 08

    Réexaminez à chaque mise à jour

    Traitez un changement de schéma d'outil comme une montée de dépendance : regardez le diff. C'est la vérification que presque personne ne fait, et c'est exactement pour cela qu'elle marche comme attaque.

Par la porte

Faites transiter vos serveurs MCP plutôt que de leur faire confiance

Sallyport se place devant les serveurs MCP auxquels votre agent parle. Leurs appels gravissent la même échelle que tout le reste et atterrissent dans le même journal.

  1. 01

    Une seule connexion pour l'agent

    Claude Code, Cursor ou n'importe quel client MCP se connecte à Sallyport. Sallyport lui présente http.request, ssh.exec et les serveurs en amont que vous avez configurés.

  2. 02

    Les serveurs en amont restent derrière

    Les serveurs stdio locaux et les serveurs OAuth 2.1 distants transitent tous les deux. Sallyport scelle leurs jetons dans le coffre et les rafraîchit dans l'application.

  3. 03

    Chaque appel gravit l'échelle

    Un coffre verrouillé refuse l'appel. Une clé marquée pour approbation à chaque appel fait apparaître une carte. Sinon, l'approbation de session déjà donnée couvre l'exécution.

  4. 04

    Le journal l'enregistre

    Chiffré et chaîné par hachage au moment où cela se produit, pour que la réponse à "qu'a fait ce serveur mardi dernier" existe avant que vous en ayez besoin.

Une limite honnête : un serveur MCP local en stdio que vous configurez reçoit bien l'identifiant que vous lui associez. Le transit vous donne une approbation et une trace pour ses appels ; il ne reprend pas la clé à un processus que vous avez choisi de lancer.

FAQ

Questions sur la sécurité des serveurs MCP

Qu'est-ce qu'une attaque par tool poisoning ?
Un serveur MCP écrit des instructions dans le texte que le modèle lit comme métadonnées d'outil : la description, le nom d'un paramètre, un message d'erreur. Le modèle le prend pour une consigne et agit. La détection ne mène pas loin, parce qu'une instruction glissée ressemble exactement à une instruction légitime. Ce qui marche, c'est de faire en sorte que la suivre ne puisse atteindre rien de précieux.
Comment savoir si un serveur MCP est malveillant ?
Souvent, on ne peut pas, et c'est la réponse honnête. Vous pouvez lire les descriptions d'outils que recevra le modèle, épingler une version, lui donner l'identifiant le plus étroit qui fonctionne, et garder une trace de ses appels. Ces quatre gestes transforment une inconnue en inconnue bornée.
MCP intègre-t-il une authentification ?
Pour les serveurs distants, le profil d'autorisation s'appuie sur OAuth 2.1 avec consentement dans le navigateur et jetons d'accès à portée limitée. Pour les serveurs locaux en stdio, il n'y a aucune étape d'authentification : le serveur est un processus enfant tournant avec vos droits.
Où vivent mes jetons OAuth MCP ?
Par défaut, en clair dans un fichier du répertoire personnel, c'est-à-dire exactement là où les logiciels de collecte d'identifiants regardent en premier. Sallyport les garde dans le coffre chiffré et effectue le rafraîchissement dans l'application.
Sallyport peut-il mettre un serveur MCP en bac à sable ?
Non, et nous ne prétendrons pas le contraire. Sallyport contrôle et enregistre ce que font, à travers lui, les appels d'un serveur en amont. Il ne met pas le processus du serveur en bac à sable, n'inspecte pas le contenu des requêtes et ne met pas de pare-feu sur l'hôte.

Placez une porte devant vos serveurs MCP

Téléchargement gratuit. Apple Silicon, macOS 14 ou plus récent. Aucun compte, jamais.

$brew install --cask olegsotnikov/tap/sallyport

macOS 14+ · Apple Silicon

Sallyport

Sallyport exécute les appels d'API et les commandes SSH à la place de votre agent IA. Les clés restent dans un coffre-fort local sur votre Mac ; vous approuvez chaque exécution et chaque action est consignée dans un journal scellé.

© 2026 Sallyport · Open source sous Apache-2.0 · Oleg Sotnikov