Diwall MCP

Français
Télécharger v0.0.1

Brancher un client MCP

La commande pour Claude Code, le bloc pour tout autre client MCP, et ce que chaque configuration d'OpenCode remet au modèle : les quatorze outils, et éventuellement un shell à côté.

Claude Code, ou tout autre client

Le serveur parle MCP par l’entrée et la sortie standard : le client le lance comme processus enfant. Avec Claude Code :

claude mcp add --scope user diwall-browser \
  -e MCP_DIWALL_BROWSER_PROFILE="$HOME/.config/mcp-server-diwall-browser/profile.json" \
  -- "$HOME/mcp-server-diwall-browser/.venv/bin/python" -m mcp_server_diwall_browser

Avec un paquet installé, la commande est mcp-server-diwall-browser et le profil est lu à sa place habituelle :

claude mcp add --scope user diwall-browser -- mcp-server-diwall-browser

Pour un clone, la commande ci-dessus s’applique.

Pour un autre client, le bloc mcpServers habituel. Le client ne développe pas ~ : cette commande affiche le bloc avec votre répertoire personnel dans les chemins, prêt à coller dans sa configuration :

cat <<EOF
{
  "mcpServers": {
    "diwall-browser": {
      "command": "$HOME/mcp-server-diwall-browser/.venv/bin/python",
      "args": ["-m", "mcp_server_diwall_browser"],
      "env": {
        "MCP_DIWALL_BROWSER_PROFILE": "$HOME/.config/mcp-server-diwall-browser/profile.json"
      }
    }
  }
}
EOF

Adaptez ~/mcp-server-diwall-browser à votre clone et le chemin du profil au vôtre. La variable peut disparaître quand le profil est à son endroit habituel, ~/.config/mcp-server-diwall-browser/profile.json. L’opérateur a lancé la commande de Claude Code sur Debian, et claude mcp list a montré le serveur connecté.

Quel modèle reçoit les outils, et quoi d’autre

Le serveur donne quatorze outils au modèle de la session qui le lance. Le client décide de quel modèle il s’agit, et de ce qu’il a à côté des outils : un shell, le droit d’écrire des fichiers. Un modèle qui a un shell sous votre compte peut modifier le profil de l’opérateur et y ajouter un site (Limites). Avec OpenCode, version 2.0.29 mesurée :

ConfigurationCe que reçoit le modèle
Un agent principal dédié, navigateur (recommandé)les outils dans cet agent seulement ; son shell et ses écritures de fichiers attendent votre réponse. Tout autre agent, dans tout projet, n’a aucun outil du serveur
Le serveur déclaré dans le opencode.jsonc d’un seul projetles outils pour tout agent lancé dans ce répertoire, avec les permissions qu’il a déjà, shell compris si le fichier global l’autorise
Le serveur déclaré dans le fichier globalles outils dans chaque session de chaque projet et de chaque modèle, y compris un modèle qui lit un dépôt qui n’est pas le vôtre

Mesuré avec la première configuration et un modèle qui n’est pas Claude : l’agent navigateur a appelé status et le journal a reçu une ligne dont client valait opencode ; l’agent par défaut, à qui l’on demandait le même outil, a répondu qu’il n’en avait aucun, et le journal n’a reçu aucune ligne ; une commande de shell dans un agent dont bash est réglé sur ask n’a pas été exécutée dans le mode non interactif d’OpenCode. Les trois blocs de configuration sont dans la section 2.1 du guide de l’opérateur.

Vérification : status

Demandez au modèle d’appeler status. Il ne change rien dans le navigateur, fonctionne même quand rien n’est configuré, et dit alors ce qui manque et les deux façons de le fournir. Lisez :

  • configured: true, ou le chemin où le profil est attendu ;
  • le navigateur attached, ou browser_unreachable quand aucun navigateur ne répond sur le port du profil ;
  • le répertoire chiffré mounted, ou closed_or_absent ;
  • confirmation_channel : native veut dire qu’une fenêtre peut s’ouvrir sur votre écran. Avec none, toute action qui demande votre confirmation est refusée ; ajoutez votre affichage au bloc env de la connexion, par exemple "DISPLAY": ":0" (echo $DISPLAY dans votre session de bureau donne la valeur).

Claude Code lancé depuis un terminal de bureau a transmis l’affichage au serveur (status indiquait native) ; le service d’OpenCode aussi. Le client propre au SDK MCP lance un serveur avec HOME, LOGNAME, PATH, SHELL, TERM et USER seulement. Pour connaître la version du serveur, lisez server_version dans status : la version annoncée à l’ouverture d’une session est celle du SDK MCP.