Je développe des logiciels pour d’autres et je fais tourner quelques trucs pour moi: un Postgres avec dix ans de projets perso dedans, un miroir Gitea et une machine Ollama sous mon bureau qui fait les résumés ennuyeux, pour que je ne paie pas au jeton. J’utilise Claude pour écrire et réfléchir, Cursor pour le code, et ChatGPT parce que des clients m’y envoient des choses. Trois agents, un seul moi.
Je ne voulais pas de zero trust. Je ne voulais pas de plateforme. Je voulais une seule URL à coller dans les trois, pour qu’ils aient les mêmes outils avec les mêmes règles, et je voulais arrêter de coller des jetons dans des fichiers de config à deux heures du matin.
À quoi ça ressemblait
avant
- Six serveurs MCP en local, chacun avec son propre jeton vers GitHub, Linear ou Notion. Trois copies de chacun, une par agent.
- Une redirection de port sur mon routeur pour que Cursor puisse atteindre le Postgres depuis un café. Port 5432, ouvert au monde entier, avec un mot de passe choisi en 2019.
- Ollama accessible de la même façon, parce que je voulais que Claude puisse lui confier de longs documents.
- Aucune idée de ce qu’un agent avait réellement fait la semaine précédente. Si Cursor supprimait une table, je l’aurais découvert quand quelque chose aurait cassé.
après
- Une seule URL MCP. Claude, Cursor et ChatGPT s’y connectent tous via OAuth, en tant que moi.
- GitHub, Linear et Notion ajoutés une seule fois, sur l’endpoint. Les jetons vivent là, pas dans mes dotfiles.
- La machine sous le bureau fait tourner le connecteur. Elle appelle vers l’extérieur. Les ports 5432 et 11434 sont fermés. Postgres et Ollama sont des outils sur la même URL.
- Un journal. Chaque appel d’outil, chaque agent, une seule page.
postgres.queryest en lecture seule pour les agents. Les écritures, c’est moi, dans psql, comme un adulte.
Toute l’intégration
Voici toute la configuration côté client. Le même bloc dans Claude, Cursor et ChatGPT.
{
"mcpServers": {
"flowplane": { "url": "https://mcp.flowplane.eu/victor" }
}
}Le premier appel ouvre un onglet dans le navigateur, je l’approuve avec une clé d’accès (passkey), et l’agent reçoit un jeton qui dit qu’il est le Claude de Victor, valable pour les outils de Victor, jusqu’à ce que j’en décide autrement. Il n’y a pas de clé à renouveler, parce qu’il n’y a pas de clé à coller.
La partie que je n’avais pas prévue
Le tunnel. Je le voyais comme ce qui permet à l’endpoint de voir mon Postgres, et c’est bien ça. Mais grâce au connecteur, la machine sous mon bureau n’a plus aucun port ouvert, pour la première fois depuis que je l’ai achetée. Ollama est accessible depuis Claude, à travers la porte, comme un outil nommé local.summarise, et de nulle part ailleurs. J’ai supprimé deux règles de pare-feu qui me tracassaient depuis des années, et je n’ai ressenti que du soulagement.
J’ai acheté une URL. J’ai récupéré mon routeur.
Ce que montre le journal
Voici l’enregistrement de la première fois où Cursor a voulu se rendre utile avec une migration.
Je n’utilise pas les coffres de mémoire et je n’ai pas activé le Watchtower. Je suis une personne avec trois agents et une machine; le journal me suffit comme surveillance. Si ça change, c’est un interrupteur, pas un projet.
Mise en place, du début à la fin: une soirée, passée surtout à supprimer de vieux jetons.