Einen MCP-Client anbinden
Der Befehl für Claude Code, der Block für jeden anderen MCP-Client und was jede OpenCode-Konfiguration dem Modell mitgibt: die vierzehn Werkzeuge und möglicherweise eine Shell daneben.
Claude Code oder ein anderer Client
Der Server spricht MCP über Standardeingabe und Standardausgabe: Der Client startet ihn als Kindprozess. Mit 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
Mit installiertem Paket lautet der Befehl mcp-server-diwall-browser, und das
Profil wird an seinem üblichen Platz gelesen:
claude mcp add --scope user diwall-browser -- mcp-server-diwall-browser
Für einen Klon gilt der obige Befehl.
Für einen anderen Client der übliche mcpServers-Block. Der Client löst ~
nicht auf: Dieser Befehl gibt den Block mit Ihrem Home-Verzeichnis in den Pfaden
aus, bereit zum Einfügen in dessen Konfiguration:
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
Passen Sie ~/mcp-server-diwall-browser an Ihren Klon und den
Profilpfad an Ihren an. Die Variable kann entfallen, wenn das Profil an seinem
Standardort liegt, ~/.config/mcp-server-diwall-browser/profile.json. Der
Bediener hat den Claude-Code-Befehl auf Debian ausgeführt, und
claude mcp list zeigte den Server als verbunden.
Welches Modell die Werkzeuge erhält und was sonst noch
Der Server gibt vierzehn Werkzeuge an das Modell der Sitzung, die ihn startet. Der Client entscheidet, welches Modell das ist und was es daneben hat: eine Shell, das Recht, Dateien zu schreiben. Ein Modell mit einer Shell unter Ihrem Konto kann das Bedienerprofil bearbeiten und eine Website hinzufügen (Grenzen). Mit OpenCode, gemessen in Version 2.0.29:
| Konfiguration | Was das Modell erhält |
|---|---|
Ein eigener primärer Agent, navigateur (empfohlen) | die Werkzeuge nur in diesem Agenten; seine Shell und seine Dateischreibzugriffe fragen nach Ihrer Antwort. Jeder andere Agent hat in jedem Projekt kein Werkzeug des Servers |
Der Server, in der opencode.jsonc eines Projekts deklariert | die Werkzeuge für jeden Agenten, der in diesem Verzeichnis läuft, mit den Berechtigungen, die er bereits hat, einschließlich einer Shell, wenn die globale Datei sie erlaubt |
| Der Server, in der globalen Datei deklariert | die Werkzeuge in jeder Sitzung jedes Projekts und jedes Modells, auch in einer, die ein Repository liest, das nicht Ihres ist |
Gemessen mit der ersten Konfiguration und einem Modell, das nicht Claude ist:
Der Agent navigateur rief status auf, und das Journal erhielt eine Zeile mit
client auf opencode; der Standardagent, nach demselben Werkzeug gefragt,
antwortete, er habe keines, und das Journal erhielt keine Zeile; ein
Shell-Befehl in einem Agenten, dessen bash auf ask steht, wurde im
nichtinteraktiven Modus von OpenCode nicht ausgeführt. Die drei
Konfigurationsblöcke stehen in
Abschnitt 2.1 des Bedienerhandbuchs.
Prüfung: status
Bitten Sie das Modell, status aufzurufen. Es ändert nichts im Browser,
funktioniert auch, wenn nichts konfiguriert ist, und sagt dann, was fehlt und
auf welchen zwei Wegen es bereitgestellt werden kann. Lesen Sie:
configured: trueoder den Pfad, an dem das Profil erwartet wird;- den Browser
attachedoderbrowser_unreachable, wenn kein Browser auf dem Port des Profils antwortet; - das verschlüsselte Verzeichnis
mountedoderclosed_or_absent; confirmation_channel:nativebedeutet, dass sich ein Fenster auf Ihrem Bildschirm öffnen kann. Beinonewird jede Aktion abgelehnt, die Ihre Bestätigung braucht; fügen Sie Ihr Display demenv-Block der Verbindung hinzu, zum Beispiel"DISPLAY": ":0"(echo $DISPLAYin Ihrer Desktop-Sitzung liefert den Wert).
Claude Code, aus einem Desktop-Terminal gestartet, gab das Display an den Server
weiter (status zeigte native); der Dienst von OpenCode ebenso. Der eigene
Client des MCP-SDK startet einen Server nur mit HOME, LOGNAME, PATH,
SHELL, TERM und USER. Um die Version des Servers zu erfahren, lesen Sie
server_version in status: Die Version, die beim Öffnen einer Sitzung
angekündigt wird, ist die des MCP-SDK.