Semaine 1 : Installer et maîtriser le socle › Semaine 1 : Partie 2 (Installer le socle) › Connecter ces outils

Connecter 1Password

Stocker une clé API dans 1Password et la transmettre à un MCP sans l’écrire dans OpenCode.

Pourquoi 1Password ?

Une clé API est un accès. Elle peut lire des données, consommer un budget ou agir au nom de ton entreprise.

1Password conserve cette clé dans un coffre chiffré. Son Environment la transmet uniquement au processus qui en a besoin. La configuration OpenCode contient la commande et l’identifiant de l’Environment, jamais la valeur de la clé.

Les trois types de connexion

Mot de passe

Tu te connectes toi-même avec ton email et ton mot de passe.

Dans ta tête ou dans 1Password.

OAuth

Tu autorises une application, dans ton navigateur, à accéder à un service comme Google ou Slack.

Dans le Keychain de ton ordinateur.

Clé API

Un MCP, un script ou un provider appelle un service automatiquement.

Dans un Environment 1Password.

Le Keychain est le coffre sécurisé intégré à macOS. Après ton autorisation, Google ou Slack donne à l’application un token limité aux droits acceptés. L’application ne reçoit jamais ton mot de passe.

Le mot de passe te connecte toi. OAuth autorise une application à agir pour toi. Une clé API permet à un logiciel d’appeler un service automatiquement.

Sans 1Password

OpenCode

Démarre le MCP

Configuration locale

Clé API enregistrée ici

MCP Firecrawl

Utilise la clé

Firecrawl

Lit ou recherche sur le web

Avec 1Password

OpenCode

Démarre le MCP

Configuration OpenCode

Environment ID seulement

1Password

Clé API chiffrée

op run

Injection au démarrage

MCP Firecrawl

Utilise la clé temporairement

Firecrawl

Lit ou recherche sur le web

Dans les deux scénarios, le MCP utilise la clé. Avec 1Password, elle n'est pas écrite dans OpenCode ni dans sa configuration.

1Password Environment
    -> op run démarre le MCP
    -> le MCP utilise la clé API
    -> OpenCode reçoit le résultat, pas la clé

Regarde la vidéo

La vidéo montre l’installation de 1Password, la création d’un Environment et le premier test avec Firecrawl.

Avant de commencer

  • Tu as un compte 1Password et une clé API de test avec des droits limités.
  • Tu ne copies jamais la clé dans OpenCode, une note, Git, Slack ou un email.
  • Tu utilises Firecrawl pour le premier test. Il lit une page publique et ne modifie aucune donnée métier.

Étape 1 : installer 1Password et la CLI

  1. Télécharge 1Password et connecte-toi à ton compte.
  2. Active la double authentification sur ton compte.
  3. Dans l’application, ouvre Developer et active l’intégration avec la CLI.
  4. Dans Terminal, vérifie la commande :
op --version

Si op ne répond pas, termine l’installation de la CLI avant de connecter un outil. Ne contourne pas le problème en copiant la clé dans OpenCode.

Étape 2 : créer un Environment de test

  1. Dans 1Password, ouvre Developer, puis Environments.
  2. Crée un Environment nommé v0-ceo-test.
  3. Ajoute la variable FIRECRAWL_API_KEY.
  4. Colle directement ta clé de test dans 1Password.
  5. Copie l’Environment ID depuis Manage Environment.

L’Environment ID identifie ton Environment. Ce n’est pas la clé API. Tu peux le donner à Connect Tool pour configurer le MCP.

Étape 3 : connecter Firecrawl sans clé en clair

Dans OpenCode, lance Connect Tool avec cette demande. Remplace <ENVIRONMENT_ID> par ton identifiant.

Connecte Firecrawl à mon OpenCode sous le nom firecrawl.

La clé API est dans mon Environment 1Password <ENVIRONMENT_ID>.
N'écris aucune clé dans un fichier ou dans la configuration MCP.
Lance le MCP avec op run et vérifie la connexion avec une requête de lecture seule.
Ne révèle aucun credential.

La configuration finale suit cette logique :

op run --environment <ENVIRONMENT_ID> -- npx -y firecrawl-mcp

Tu ne modifies pas manuellement les fichiers de configuration. Connect Tool vérifie la commande actuelle du MCP avant d’écrire la configuration nécessaire.

Tester la connexion

Ouvre une nouvelle session OpenCode et demande :

Avec le MCP Firecrawl uniquement, scrape https://example.com.
Donne-moi le titre de la page.
Ne modifie aucun fichier et ne révèle aucun credential.

Le test est réussi si OpenCode retourne le titre de la page. Une clé correctement gérée ne doit jamais apparaître dans le résultat, la conversation ou la configuration.

Où vit chaque accès ?

ÉlémentEmplacement
Mot de passe utilisé par une personneEntrée classique 1Password
Clé API ou token techniqueEnvironment 1Password
Token OAuth Google, Slack ou service équivalentKeychain ou trousseau du système
Environment ID et commande de lancementConfiguration OpenCode

Un Environment sert aussi à un script, un provider ou une automatisation locale. Il n’est pas réservé aux MCP. Pour une connexion OAuth, utilise le mécanisme natif du service plutôt que de déplacer son token dans 1Password.

Si une clé est exposée

Révoque-la immédiatement chez le provider, puis crée une nouvelle clé avec les droits minimums. Supprimer le message ou le fichier ne suffit pas.

Alternative gratuite

Bitwarden Secrets Manager applique le même principe avec bws run. Bitwarden Password Manager reste adapté aux mots de passe humains, mais n’est pas le mécanisme recommandé pour injecter une clé API à un MCP.

Checklist

  • J’ai activé la double authentification sur 1Password.
  • La commande op --version fonctionne.
  • J’ai créé un Environment de test dédié.
  • Ma clé API n’apparaît ni dans mon vault, ni dans OpenCode, ni dans Git.
  • Mon MCP utilise op run pour démarrer.
  • J’ai réussi une requête de lecture seule.
  • Je sais où révoquer la clé de test.

Ressources