Clients MCP et serveurs distants
Connectez Claude Code, Cursor, Codex, Claude, ChatGPT et d’autres clients MCP à Sallyport, et donnez à vos agents des serveurs MCP distants.
Sur cette page
- L’adresse
- Connexion par ouverture de session
- L’écran de consentement
- Ce que fait « Autoriser »
- Apps connectées
- Plateformes avec un agent par machine
- Obtenez un jeton d’agent
- Claude Code avec un jeton
- Cursor et le .mcp.json d’un projet
- Codex CLI, Gemini CLI et VS Code avec un jeton
- Ce que voit l’agent
- Connectez un serveur MCP distant
- Connectez-vous à un serveur avec OAuth 2.1
L’adresse
Tout client MCP se connecte à https://mcp.sallyport.cloud/mcp en Streamable HTTP. Les clients de la révision 2026-07-28 de MCP et ceux des révisions antérieures fonctionnent.
La plupart des clients se connectent par une ouverture de session : vous ajoutez l’adresse, vous vous connectez à Sallyport dans le navigateur et cliquez sur « Autoriser ». Aucun jeton à copier, rien à préparer d’abord dans la console. Les scripts et les clients sans ouverture de session envoient plutôt un jeton d’agent dans l’en-tête Authorization: Bearer.
Connexion par ouverture de session
Claude, Claude Code, ChatGPT, Codex, Cursor, VS Code, Gemini CLI et MCP Inspector se connectent ainsi. La page de chaque client, dans Intégrations, montre où mettre l’adresse.
- Ajoutez
https://mcp.sallyport.cloud/mcpcomme serveur MCP dans votre client. - Le client s’enregistre lui-même auprès de Sallyport et l’ouvre dans votre navigateur.
- Connectez-vous, ou créez un compte. La connexion vous attend 30 minutes, de quoi confirmer votre e-mail.
- Lisez l’écran de consentement, « Autoriser … à connecter un agent », et cliquez sur « Autoriser ». Le navigateur revient au client, et le client est connecté.
L’écran de consentement
« Qui demande » nomme le client. Un client reconnu par son propre site affiche « Domaine vérifié » avec ce domaine, et « Publié par Anthropic » pour claude.ai ou « Publié par OpenAI » pour chatgpt.com. Un client qui s’est enregistré lui-même affiche « Non vérifié » et « Ce client s’est enregistré lui-même. Sallyport n’a pas pu vérifier son nom. »
« Où vous allez ensuite » dit où arrive votre navigateur après « Autoriser » : un site, une app, ou « Après votre autorisation, vous revenez dans une app de cet ordinateur ». Ce dernier cas s’accompagne d’un avertissement : « N’autorisez que si vous venez de lancer cette connexion depuis une app de cet ordinateur. » Un lien envoyé par quelqu’un d’autre est une raison de cliquer sur « Refuser ».
« Ce que l’agent peut utiliser » liste chaque service avec « S’exécute directement » ou « Vous demande d’abord ». Pour le nouvel agent d’un membre, l’écran affiche « Rien pour l’instant. Un administrateur donne des services à cet agent dans la console. »
« Détails » contient le Client ID, l’adresse de redirection et, avec plusieurs espaces de travail, celui que rejoint l’agent.
Ce que fait « Autoriser »
Sallyport crée un agent au nom du client. L’agent d’un propriétaire ou d’un administrateur reçoit tous les services de l’espace de travail. Celui d’un membre commence sans aucun, jusqu’à ce qu’un administrateur les ajoute sous « Accès » sur la page de l’agent.
La première fois qu’une personne connecte un client, chaque propriétaire reçoit une notification avec un lien qui le déconnecte. Le journal enregistre chaque consentement.
Un client se reconnecte depuis une nouvelle session, un nouveau port ou quand il renouvelle son accès. Tant que l’agent est actif, vous voyez un écran court « Reconnecter Claude Code » avec un seul bouton « Reconnecter ». Rien ne part vers le client avant que vous cliquiez dessus. Les propriétaires ne sont pas prévenus une deuxième fois. Si l’agent a été mis en pause, l’écran de consentement complet redemande. S’il a été supprimé, se reconnecter crée une nouvelle connexion et chaque propriétaire est prévenu.
Apps connectées
Paramètres, Apps connectées liste chaque client IA qui s’est connecté. Les membres voient et déconnectent les leurs. Les propriétaires et les administrateurs voient et déconnectent ceux de tout le monde.
« Déconnecter » coupe l’accès du client : « Ses appels s’arrêtent aussitôt, sur chaque ordinateur depuis lequel il s’est connecté. Pour l’utiliser à nouveau, connectez-vous depuis l’app et autorisez-le. »
Plateformes avec un agent par machine
Une plateforme qui fait tourner des agents sur ses propres machines, comme detachbox, se connecte une fois. Son écran de consentement est une carte courte : qui demande, où vous revenez, et trois lignes. detachbox pourra créer un agent pour chacune de ses machines, voir vos agents et les mettre dans des chats. Il ne pourra renommer, mettre en pause ou supprimer que les agents qu’il a créés. Chaque nouvel agent démarre sans accès, et c’est vous qui choisissez ce que chacun peut utiliser. La connexion elle-même n’est pas un agent et n’utilise aucun service : la carte n’en liste donc aucun.
Chaque machine a son propre agent, pour que l’Activité et les approbations montrent quelle machine a appelé. L’agent d’une nouvelle machine ne peut rien utiliser. detachbox vous envoie sur sa page, vous choisissez ses services ou copiez l’accès d’un autre agent, et « Terminé » vous ramène. Applications connectées montre combien d’agents l’app gère, chacun avec sa machine. Mettre un agent en pause arrête une machine. « Déconnecter » les arrête toutes, et elles reviennent avec leur accès à la reconnexion. Toutes les machines d’une connexion comptent pour un agent, sur chaque formule.
Obtenez un jeton d’agent
Un jeton convient à un script, à un fichier de projet partagé dans git ou à un client sans ouverture de session. Ouvrez l’agent dans Agents. « Connecter cet agent » copie une configuration prête pour Claude Code, Cursor ou un fichier .mcp.json de projet. Elle porte le jeton que vous venez de créer avec « Nouveau jeton », ou un nouveau.
Pour un autre client, cliquez sur « Nouveau jeton » sous « Jetons » et copiez-le : il ne s’affiche qu’une fois. Le jeton désigne l’agent et son accès. Il ne contient aucune clé de service.
Le bouton corbeille à côté d’un jeton le révoque. « Adresses IP autorisées (facultatif) », sous « Limites », restreint les endroits d’où les jetons de l’agent fonctionnent.
Claude Code avec un jeton
Cliquez sur « Copier pour Claude Code » et lancez la commande dans un terminal. --scope user ajoute Sallyport à tous les projets. Vérifiez avec claude mcp list, puis redémarrez Claude Code.
export SP_AGENT_TOKEN='<agent-token>'
claude mcp add --transport http --scope user sallyport https://mcp.sallyport.cloud/mcp --header "Authorization: Bearer $SP_AGENT_TOKEN"« Coller dans Claude » donne un message à la place. Cliquez sur « Copier le message pour Claude », collez-le dans un chat Claude Code, et Claude lance la commande lui-même.
« Identifier chaque session Claude Code » est facultatif. Cliquez sur « Copier le hook de session pour Claude » et collez-le dans Claude Code. Chaque appel montre alors la session et le dossier d’où il vient.
Cursor et le .mcp.json d’un projet
« Copier pour Cursor » donne ceci pour ~/.cursor/mcp.json, jeton compris :
{
"mcpServers": {
"sallyport": {
"url": "https://mcp.sallyport.cloud/mcp",
"headers": {
"Authorization": "Bearer <agent-token>"
}
}
}
}« Copier .mcp.json » donne la même chose avec "type": "http", pour le .mcp.json d’un projet dans Claude Code. Ce fichier contient le jeton : gardez-le hors de git.
Codex CLI, Gemini CLI et VS Code avec un jeton
Ces clients se configurent à la main avec la même adresse et le même jeton.
[mcp_servers.sallyport]
url = "https://mcp.sallyport.cloud/mcp"
bearer_token_env_var = "SP_AGENT_TOKEN"
tool_timeout_sec = 300Codex lit le jeton dans SP_AGENT_TOKEN, dans l’environnement qui le lance. Sallyport garde ouvert un appel qui attend une approbation 240 secondes au plus. Avec tool_timeout_sec = 300, Codex attend ce temps ; par défaut, il attend 60 secondes.
{
"mcpServers": {
"sallyport": {
"httpUrl": "https://mcp.sallyport.cloud/mcp",
"headers": {
"Authorization": "Bearer <agent-token>"
}
}
}
}{
"servers": {
"sallyport": {
"type": "http",
"url": "https://mcp.sallyport.cloud/mcp",
"headers": {
"Authorization": "Bearer <agent-token>"
}
}
}
}Gemini CLI prend l’adresse dans httpUrl. VS Code ouvre son fichier avec « MCP: Open User Configuration ». Remplacez <agent-token> et gardez ces fichiers hors des dépôts.
Ce que voit l’agent
Chaque service arrive sous forme d’outils à son nom. Un service HTTP en a deux : github_read n’accepte que les lectures, et github_write accepte tous les appels. Les deux prennent method et le chemin complet path de la documentation de l’API du service :
{
"method": "GET",
"path": "/user"
}Une base de données reçoit les outils _query et _execute, et un hôte SSH reçoit _exec pour les commandes, plus _sftp_read et _sftp_write pour ses fichiers. Une boîte aux lettres reçoit _read, _send et _change. Les outils d’un serveur MCP distant gardent leur nom après celui de la connexion. Chaque agent a aussi les outils intégrés :
| Outil | Ce qu’il fait |
|---|---|
list_access | Tous les services que l’agent peut joindre : ses outils, ce qui passe directement, ce qui attend une personne et si sa clé fonctionne. |
http_request | Appelle toute URL HTTPS publique. Un hôte sans clé devient une demande d’accès avec un lien pour vous. |
request_access | Demande un service par hôte ou par nom, avec un purpose pour la personne qui accorde l’accès. |
get_call | L’état d’un appel, y compris d’un appel qui attend une approbation. |
list_requests | Les demandes d’accès de l’agent : ouvertes, accordées ou refusées avec un motif. |
cancel_request | Retire une demande d’accès, ou un appel de l’agent lui-même qui attend une personne. |
ssh_exec | Lance une commande sur un hôte SSH par son nom d’hôte. Apparaît quand l’agent a un hôte SSH ; un hôte hors de sa liste devient une demande d’accès avec un lien pour vous. |
fetch_body | La suite d’une longue réponse. |
feedback | Un mot à l’équipe Sallyport sur ce qui a gêné l’agent. |
search_tools, call | Apparaissent quand la liste dépasse 40 outils : trouvent un outil d’un serveur MCP distant, puis le lancent. |
Un appel qui attend une personne le dit tout de suite au client, si le client a envoyé un progressToken. Cette notification de progression, et chacune des suivantes de l’appel, porte _meta avec sallyport.cloud/call_id et sallyport.cloud/approve_url. Le lien d’approbation figure aussi dans le texte du message, pour que tout client puisse l’afficher.
Connectez un serveur MCP distant
Ouvrez MCP distant. Saisissez l’« URL du serveur MCP » : l’adresse HTTPS complète, avec le port s’il n’est pas standard et le chemin, par exemple https://mcp.example.com/mcp.
Choisissez l’« Authentification » : « Sans authentification », « Jeton Bearer », « Basic », « Clé API » dans un en-tête ou un paramètre d’URL, ou « OAuth 2.1 ». Cliquez sur « Enregistrer la clé et connecter ».
Tous les agents de l’espace de travail reçoivent les outils du serveur. Sallyport se connecte au serveur, ajoute sa clé et renvoie les résultats. L’agent reste connecté uniquement à https://mcp.sallyport.cloud/mcp.
Connectez-vous à un serveur avec OAuth 2.1
Avec « OAuth 2.1 », l’enregistrement ouvre la page de connexion du serveur, puis vous ramène à la connexion. Sallyport garde les jetons et les renouvelle.
Sallyport s’inscrit seul auprès des serveurs qui le permettent. Pour les autres, enregistrez une application avec l’URI de redirection https://mcp.sallyport.cloud/callback/upstream. Saisissez son ID dans « Client ID de l’application (facultatif) », et son secret s’il en a un.
Quand l’accès expire, cliquez sur « Reconnecter avec OAuth » sur la page de la connexion.