Vimonto Deploy intègre un serveur MCP : des assistants IA comme Claude Code, Claude Desktop, Cursor et VS Code peuvent travailler avec vos organisations. Ils listent les serveurs et les sites, déploient un site et suivent le déploiement, lisent la sortie d'une tâche en échec, créent une base de données, et lancent des sauvegardes et des recettes. MCP, le Model Context Protocol, est le standard ouvert que ces assistants utilisent pour appeler des outils dans d'autres applications.
Le serveur MCP est l'API sous une autre forme. Il se connecte avec un jeton d'API personnel, et l'assistant peut faire exactement ce que ce jeton et votre rôle autorisent, sur les serveurs auxquels vous avez accès. Rien ne peut être supprimé par ce biais.
Comment connecter un assistant ?
- Ouvrez le menu du compte en haut à droite et choisissez Paramètres du compte → Jetons d’API.
- Cliquez sur Nouveau jeton, donnez-lui un Nom comme « Claude Code », et choisissez ses Portées (voir les portées). Pour un assistant qui doit seulement regarder, Lecture suffit.
- Cliquez sur Créer le jeton.
- La fenêtre Votre nouveau jeton affiche le jeton et, sous Connecter un assistant IA, un Prompt avec votre jeton et votre adresse déjà renseignés. Cliquez sur Copier et collez-le dans Claude Code, Cursor, VS Code ou Claude Desktop : l'assistant ajoute la connexion à sa propre configuration, conserve les serveurs que vous avez déjà, vous dit s'il faut le redémarrer et vérifie que la connexion fonctionne.
Vous préférez le configurer vous-même ? Les onglets Claude Code, Claude Desktop, Cursor et VS Code à côté de Prompt affichent la commande ou la configuration de chacun, eux aussi avec votre jeton et votre adresse déjà renseignés, comme décrit ci-dessous.
Le jeton n'est affiché qu'une fois. Quand vous fermez la fenêtre, la configuration avec le jeton disparaît aussi ; créez un nouveau jeton si vous en avez de nouveau besoin. La section Assistants IA de la même page affiche à tout moment l'adresse du serveur MCP.
L'adresse du serveur est /mcp sur l'adresse où vous utilisez Vimonto Deploy, par exemple https://deploy.example.com/mcp. Il parle le transport Streamable HTTP et attend le jeton comme bearer token dans l'en-tête Authorization. Dans les exemples ci-dessous, remplacez deploy.example.com par votre propre adresse et YOUR_TOKEN par le jeton.
Claude Code
Exécutez ceci dans votre terminal :
claude mcp add --transport http vimonto-deploy https://deploy.example.com/mcp \
--header "Authorization: Bearer YOUR_TOKEN"
Ajoutez --scope user pour l'utiliser dans tous les projets, pas seulement le projet courant. Vérifiez avec claude mcp list, ou /mcp dans Claude Code.
Cursor
Ajoutez ceci à ~/.cursor/mcp.json (tous les projets) ou à .cursor/mcp.json dans un projet :
{
"mcpServers": {
"vimonto-deploy": {
"url": "https://deploy.example.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
VS Code
Ajoutez ceci à .vscode/mcp.json dans un projet, ou exécutez MCP: Open User Configuration depuis la palette de commandes pour tous les projets :
{
"servers": {
"vimonto-deploy": {
"type": "http",
"url": "https://deploy.example.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
Claude Desktop et autres assistants qui ne démarrent que des serveurs locaux
Le fichier de configuration de Claude Desktop ne démarre que des serveurs MCP locaux. mcp-remote relie un tel assistant à un serveur distant ; il nécessite Node.js. Dans Claude Desktop, ouvrez Settings → Developer → Edit Config, ajoutez ceci à claude_desktop_config.json et redémarrez Claude :
{
"mcpServers": {
"vimonto-deploy": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://deploy.example.com/mcp", "--header", "Authorization:${AUTH_HEADER}"],
"env": {
"AUTH_HEADER": "Bearer YOUR_TOKEN"
}
}
}
}
Le jeton est dans env plutôt que dans args parce que certains systèmes découpent les arguments aux espaces. La même configuration fonctionne dans tout assistant qui ne sait que lancer une commande.
Que peut faire l'assistant ?
Les portées du jeton déterminent quels outils l'assistant voit. Un outil pour lequel le jeton n'a pas de portée n'est pas listé et ne peut pas être appelé.
| Portée | Outils |
|---|---|
| Lecture | Tout ce qui lit : organisations, serveurs, sites, déploiements, tâches, bases de données, sauvegardes et recettes. |
| Déployer | list_organizations, list_sites (un site, par domaine ou ID), list_deployments, get_deployment, deploy_site et get_task. |
| Écriture | Tout ce que permet Lecture, plus deploy_site, create_database, run_backup et run_recipe. |
Votre rôle est vérifié en plus, exactement comme dans l'app et l'API : déployer demande un rôle qui peut gérer les sites, créer une base de données un rôle qui peut gérer les serveurs, et ainsi de suite. Le jeton d'un lecteur peut lire, mais toute modification est refusée. Avec l'accès par équipe, les serveurs hors de vos équipes et leurs sites n'existent pas pour l'assistant.
Les outils
| Outil | Portées | Ce qu'il fait |
|---|---|---|
list_organizations |
toutes | À qui appartient le jeton, ses portées, et vos organisations avec votre rôle dans chacune. |
list_servers |
lecture, écriture | Les serveurs de l'organisation auxquels vous avez accès. |
get_server |
lecture, écriture | Un serveur : type, statut, fournisseur, adresses IP, version de PHP, base de données. |
list_sites |
lecture, déployer, écriture | Les sites de vos serveurs, filtrés par domaine, ID de site ou serveur. Avec Déployer seul, un domaine ou un ID de site est obligatoire. |
get_site |
lecture, écriture | Un site, par ID ou domaine. |
list_deployments |
lecture, déployer, écriture | Les déploiements d'un site, du plus récent au plus ancien, 25 par page. |
get_deployment |
lecture, déployer, écriture | Un déploiement avec son commit et sa tâche. |
deploy_site |
déployer, écriture | Déploie la branche du site, comme Déployer maintenant. |
get_task |
lecture, déployer, écriture | Le statut d'une tâche, son étape, sa progression, son erreur et les dernières lignes de sa sortie. |
list_databases |
lecture, écriture | Les bases de données d'un serveur. |
create_database |
écriture | Crée une base de données vide sur un serveur. |
list_backups |
lecture, écriture | Les configurations de sauvegarde d'un serveur avec leurs dernières sauvegardes. |
run_backup |
écriture | Lance une configuration de sauvegarde maintenant. |
list_recipes |
lecture, écriture | Les recettes de l'organisation avec leurs scripts. |
run_recipe |
écriture | Exécute une recette sur un ou plusieurs serveurs. |
Chaque outil accepte une organization (son slug) ; l'assistant peut l'omettre quand vous n'appartenez qu'à une seule organisation. Les sites peuvent être désignés par leur domaine : vous pouvez donc simplement demander « Déploie shop.example.com et dis-moi quand c'est en ligne. »
Les déploiements, bases de données, sauvegardes et recettes s'exécutent comme tâches d'arrière-plan. L'outil répond tout de suite avec un ID de tâche, et l'assistant suit la tâche avec get_task jusqu'à ce qu'elle réussisse ou échoue. Quand un déploiement échoue, il lit l'erreur et la fin de la sortie, ce qui suffit en général pour vous dire pourquoi.
Ce qui n'est pas possible
Aucun outil ne supprime quoi que ce soit : pas de suppression de bases de données, de sites ou de serveurs. La création de serveurs et de sites, la modification des fichiers d'environnement et la gestion des domaines ne sont pas disponibles non plus ; utilisez l'app pour cela.
Est-ce sécurisé ?
- Jetons uniquement. Être connecté à l'app dans votre navigateur n'ouvre pas le serveur MCP ; chaque requête demande un jeton d'API valide et non expiré. Révoquer le jeton sous Jetons d’API déconnecte l'assistant immédiatement.
- Jamais plus que vous. L'assistant agit en votre nom, limité aux portées du jeton, à votre rôle actuel et à votre accès aux serveurs. Quand votre rôle change, la portée de l'assistant change avec lui.
- Aucun secret. Mots de passe, clés SSH, fichiers
.env, URL de déploiement et jetons ne font jamais partie d'une réponse. La sortie des tâches et les scripts de recettes sont affichés tels qu'ils sont dans l'app : n'affichez donc pas de secrets dans les scripts de déploiement. - Tout est journalisé. Les modifications faites par un assistant apparaissent dans le journal d'audit sous votre nom, avec le nom du jeton (« API token Claude Code »).
- Débit limité. Chaque jeton peut faire 120 requêtes par minute, partagées avec l'API.
- Votre assistant demande d'abord. Les outils qui modifient quelque chose sont signalés comme tels, si bien que les assistants demandent votre accord avant de déployer ou d'exécuter une recette. Déployer et exécuter des recettes sont signalés comme destructifs, car ils changent ce qui tourne sur vos serveurs.
Foire aux questions
Quels assistants fonctionnent ?
Tout assistant qui prend en charge les serveurs MCP distants en Streamable HTTP avec un en-tête personnalisé, comme Claude Code, Cursor et VS Code. Les assistants qui ne démarrent que des serveurs locaux, comme Claude Desktop via son fichier de configuration, se connectent par mcp-remote.
Pourquoi l'assistant dit-il qu'un serveur ou un site n'existe pas ?
Il n'existe pas dans cette organisation, ou vous n'y avez pas accès : votre accès par équipe masque les serveurs hors de vos équipes. Vérifiez aussi que l'assistant utilise la bonne organisation ; list_organizations les liste.
Pourquoi l'assistant ne voit-il pas un outil ?
Le jeton n'a pas la portée nécessaire. Un jeton Lecture ne peut pas déployer, par exemple. Créez un nouveau jeton avec la portée dont vous avez besoin et remplacez le jeton dans la configuration de l'assistant.
Puis-je utiliser le même jeton pour l'API, la CLI et un assistant ?
Oui, mais des jetons distincts sont plus sûrs : vous pouvez en révoquer un sans casser les autres, et le journal d'audit montre lequel a fait une modification.