Inloggen op MCP-servers vanuit je shell
4m leestijd geverifieerd tegen Claude Code 2.1.191

Inloggen op MCP-servers vanuit je shell

Claude Code v2.1.186 voegde claude mcp login toe, een one-liner die de OAuth-flow van een MCP-server direct vanuit je terminal draait. Zo gebruik je het, ook via SSH.

Een klein dingetje dat me meer irriteerde dan redelijk was.

Je voegt een MCP-server toe aan Claude Code. Iets met OAuth, zoals Sentry of Notion. Om daadwerkelijk een token op te slaan moest je een sessie starten, het /mcp-paneel openen, naar de juiste server scrollen, op authenticeren klikken en je door een browserpopup heen worstelen. Op je laptop prima. Op een server die je via SSH benadert, echt vervelend: daar is geen browser die die popup kan tonen.

Sinds v2.1.186, deze week uitgebracht, is dat hele ritueel teruggebracht tot één commando.

bash
claude mcp login sentry

Meer is het niet. Het draait de OAuth-flow van de server direct vanuit je shell, slaat de credentials op, en je hoeft er nooit een sessie voor te openen.

Wat er precies veranderde ​

Twee nieuwe subcommando's: claude mcp login <naam> en claude mcp logout <naam>. De eerste draait de OAuth-handshake voor een server die je al hebt geconfigureerd. De tweede wist de opgeslagen credentials zodra je klaar bent, of wanneer een token verlopen is en je opnieuw wilt inloggen.

Aan de manier waarop je servers toevoegt is niets veranderd. Wat veranderde is dat de authenticatiestap uit de interactieve UI is gehaald en een gewoon CLI-commando is geworden, het soort dat je in een script kunt zetten.

De hele cyclus ​

Stel, je wilt Sentry. Drie commando's, van begin tot eind.

Server toevoegen:

bash
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp

Inloggen:

bash
claude mcp login sentry

Controleren of het gelukt is:

bash
claude mcp list

claude mcp list toont elke geconfigureerde server en de verbindingsstatus, dus je krijgt bevestiging zonder Claude te openen. Wil je het intrekken, dan haalt claude mcp logout sentry het opgeslagen token weg.

Heb je Het beste uit Claude Code gelezen, dan past dit in hetzelfde idee: de terminal is het bedieningspaneel, en hoe minder vaak je in een menu hoeft te duiken om iets gedaan te krijgen, hoe beter.

Het deel dat er echt toe doet: SSH en headless machines ​

Hier deed de oude flow het meeste pijn. Op een machine zonder display server probeerde het /mcp-paneel een browser te openen die er niet is, en zat je vast.

Het login-commando vangt dit op. Sinds v2.1.191 detecteert het wanneer er geen lokale browser is, bij een SSH-sessie of Linux zonder display, en in plaats van te falen toont het de autorisatie-URL. Die URL open je op je eigen machine, je keurt de app goed, en daarna kopieer je de volledige redirect-URL uit de adresbalk van je browser en plak je die terug bij de prompt.

Twee dingen om te weten zodat het niet misgaat:

  • Voor dat plakken heb je een interactieve terminal nodig. Verbind met ssh -t, anders is er geen prompt om in te plakken.
  • Je kunt de URL-flow afdwingen terwijl er wél een browser is met --no-browser. Handig als je lokale standaardbrowser het verkeerde profiel gebruikt, of als je gewoon liever de link kopieert.
bash
ssh -t jij@je-machine 'claude mcp login sentry --no-browser'

Eén valkuil is het noemen waard: standaard kiest Claude Code een willekeurige vrije poort voor de OAuth-callback. Bij de meeste servers maakt dat niet uit. Een enkele vereist een vooraf geregistreerde redirect-URI, en die weigert een willekeurige poort. Strandt een login daarop, kijk dan welke redirect-URI de server verwacht in plaats van aan te nemen dat het commando stuk is.

Waarom dit een stille winst is ​

Het opvallende is het gemak. De echte winst is dat authenticatie nu scriptbaar is.

Een verse dev-machine of een CI-runner opzetten betekende vroeger dat een mens in een interactieve sessie voor elke gekoppelde dienst door OAuth-popups klikte. Nu is diezelfde setup gewoon een rijtje add- en login-regels in een provisioning-script. Het laat zich combineren. Het hoort thuis in hetzelfde setupbestand als je npm install en je dotfiles.

Dat is het verschil tussen een feature die je aanklikt en een feature waar je bovenop kunt bouwen.

Het ene punt om in de gaten te houden ​

login slaat een credential op de machine waar je het draait. Dat is precies de bedoeling, en het is ook iets om bewust mee om te gaan.

Log alleen in op servers die je echt vertrouwt, en alleen op machines die je beheert. Een MCP-server waarop je inlogt kan alles lezen en doen waar dat token toegang toe geeft. Wil je de langere versie van waarom een gekoppelde MCP-server dezelfde kritische blik verdient als elke andere integratie met rechten, dan maakt een open MCP-server is erger dan een open database dat punt volledig. Het gemak van inloggen in één regel verandert de vertrouwensvraag niet. Het neemt alleen het excuus weg dat auth te vervelend was om goed te doen.

Zulke kleine commando's halen zelden de kop van een release. Maar de OAuth-dans was een dagelijkse irritatie, en nu is het één regel die je in een script zet. Dat soort onopvallende verbetering telt stilletjes op.

(12 van 36)
01Mijn Claude Code-setup: status line, plugins en terminal02Superpowers: hoe je Claude Code leert eerst te denken03Claude Code-hooks: deterministische controle over AI-workflows04Het CLAUDE.md-bestand: geef je AI permanent geheugen05Stop met vriendelijk vragen aan je agent06Wat er nieuw is in Claude Code: notities van het Londen-event07Het beste cijfer in Opus 4.8 is geen benchmark08Verouderd geheugen is erger dan geen geheugen09De agent is gewoon een loop10Bouw een MCP-server, en vraag je dan af of die moet bestaan11Skill, subagent, hook of slash command? Kies de juiste12Inloggen op MCP-servers vanuit je shell13Claude veilig toegang geven tot je SQL-database14De dag dat 'default' ineens 'Manual' heette15Claude Code-skills: zo schrijf je er een die werkt16Een goede Claude Code-subagent schrijven17Claude Code permissions instellen: de gids die ik miste18Claude Code sandboxen: toestemming is geen muur19Prompt injection voorkomen: verdediging voor wie agents bouwt20Het beste Claude-model voor code: welk model voor welke taak21Legacy code refactoren met AI: begin met characterization tests22Je MCP-server beveiligen: authenticatie, scopes en rate limits23Opus 5 is er, en je effort-instellingen kloppen niet meer24Incident response voor AI-agents: wat je doet als je coding agent de fout in gaat25Claude Code /doctor: wat hij controleert en wat er nieuw is26Context beheren in Claude Code: wanneer /clear en wanneer /compact27Git worktrees uitgelegd: parallel werken met AI-agents zonder botsingen28Claude Code plan mode: beslissen voordat de agent schrijft29Debuggen met een coding agent: geef hem het zoekwerk, de hypothese houd je zelf30Claude Code checkpoints en /rewind: wijzigingen van je agent terugdraaien31Claude Code cross-session messaging: sessies die elkaar berichten sturen32Audit logging voor AI-agents: wat Claude Code vastlegt en wanneer je iemand wakker belt33Claude Code-config delen met je team: wat de repo wel en niet afdwingt34Je Claude Code-sessie heeft geen klok35Claude Code in een grote codebase: de agent afbakenen tot wat ertoe doet36Een Claude Code-sessie terughalen die de resume-picker niet laat zien