Conectar un cliente MCP
El comando para Claude Code, el bloque para cualquier otro cliente MCP y lo que cada configuración de OpenCode entrega al modelo: las catorce herramientas y, quizá, una shell a su lado.
Claude Code, o cualquier otro cliente
El servidor habla MCP por la entrada y la salida estándar: el cliente lo inicia como proceso hijo. Con 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
Con un paquete instalado, el comando es mcp-server-diwall-browser y el perfil
se lee en su sitio habitual:
claude mcp add --scope user diwall-browser -- mcp-server-diwall-browser
Para un clon, vale el comando anterior.
Para otro cliente, el bloque mcpServers habitual. El cliente no expande ~:
este comando imprime el bloque con su directorio personal en las rutas, listo
para pegar en su configuración:
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
Adapte ~/mcp-server-diwall-browser a su clon y la ruta del perfil a
la suya. La variable puede omitirse cuando el perfil está en su lugar estándar,
~/.config/mcp-server-diwall-browser/profile.json. El operador ejecutó el
comando de Claude Code en Debian, y claude mcp list mostró el servidor
conectado.
Qué modelo recibe las herramientas, y qué más tiene
El servidor entrega catorce herramientas al modelo de la sesión que lo inicia. El cliente decide cuál es ese modelo y qué tiene a su lado: una shell, el derecho de escribir archivos. Un modelo con una shell bajo su cuenta puede editar el perfil del operador y añadirle un sitio (Límites). Con OpenCode, versión 2.0.29 medida:
| Configuración | Lo que recibe el modelo |
|---|---|
Un agente primario propio, navigateur (recomendado) | las herramientas solo en ese agente; su shell y sus escrituras de archivos piden su respuesta. Cualquier otro agente, en cualquier proyecto, no tiene ninguna herramienta del servidor |
El servidor declarado en el opencode.jsonc de un proyecto | las herramientas para todos los agentes que se ejecutan en ese directorio, con los permisos que ya tienen, shell incluida si el archivo global la permite |
| El servidor declarado en el archivo global | las herramientas en todas las sesiones de todos los proyectos y de todos los modelos, incluido uno que lee un repositorio que no es suyo |
Medido con la primera configuración y un modelo que no es Claude: el agente
navigateur llamó a status y el diario recibió una línea con client igual a
opencode; el agente predeterminado, al que se pidió la misma herramienta,
respondió que no tenía ninguna, y el diario no recibió ninguna línea; un comando
de shell en un agente cuyo bash está en ask no se ejecutó en el modo no
interactivo de OpenCode. Los tres bloques de configuración están en
la sección 2.1 de la guía del operador.
Comprobación: status
Pida al modelo que llame a status. No cambia nada en el navegador, funciona
incluso cuando no hay nada configurado y entonces dice qué falta y las dos
maneras de proporcionarlo. Lea:
configured: true, o la ruta donde se espera el perfil;- el navegador
attached, obrowser_unreachablecuando ningún navegador responde en el puerto del perfil; - el directorio cifrado
mounted, oclosed_or_absent; confirmation_channel:nativesignifica que puede abrirse una ventana en su pantalla. Connone, se rechaza toda acción que necesite su confirmación; añada su pantalla al bloqueenvde la conexión, por ejemplo"DISPLAY": ":0"(echo $DISPLAYen su sesión de escritorio da el valor).
Claude Code iniciado desde un terminal de escritorio pasó la pantalla al
servidor (status indicó native); el servicio de OpenCode también. El propio
cliente del SDK de MCP inicia un servidor solo con HOME, LOGNAME, PATH,
SHELL, TERM y USER. Para conocer la versión del servidor, lea
server_version en status: la versión que se anuncia al abrir una sesión es la
del SDK de MCP.