Instalar y comprobar
Instalar el servidor desde un paquete para Debian, Ubuntu, Fedora, openSUSE Leap o Arch Linux, o desde un clon del repositorio, y ejecutar después las pruebas que no necesitan navegador y la prueba de humo.
Antes que nada
El servidor no funciona sin un directorio cifrado. El navegador al que se conecta
guarda sus sesiones iniciadas en su perfil, y no deben quedar en claro en el disco.
Tras la instalación, el primer comando es mcp-server-diwall-browser-setup (desde
un clon, .venv/bin/python -m mcp_server_diwall_browser.setup), que usted ejecuta
en una terminal: lee su máquina y termina con el siguiente comando que debe teclear.
Hay dos maneras de seguir. Una prueba, mcp-server-diwall-browser-setup create --temporary,
crea un volumen en memoria: cerrarlo, apagar la máquina o terminar su sesión lo
destruye, y con él las sesiones de los sitios que usted abrió, el diario de
auditoría y las capturas. Un volumen duradero, mcp-server-diwall-browser-setup create,
las conserva. En ambos casos usted teclea la contraseña cuando gocryptfs se la
pide, e inicia usted mismo sesión en sus sitios en el navegador que el asistente
lanza. Tras añadir el servidor a su cliente MCP, reinicie el cliente: una sesión ya
abierta no ve el servidor nuevo. Los pasos están en
el directorio cifrado.
Lo que necesita
- Linux. La guía del operador está escrita para Debian 13, donde se ejecutaron las pruebas del proyecto.
- Python 3.12 o posterior.
- Google Chrome, Chromium o Brave.
fuse3ygocryptfspara el directorio cifrado,kdialogozenitypara la ventana de confirmación,gityss(paqueteiproute2).
En Debian 13 y Ubuntu 24.04, los paquetes del sistema (comando repetido en un contenedor limpio de cada sistema):
sudo apt install python3-venv fuse3 gocryptfs kdialog iproute2 git
Con el paquete, python3-venv, fuse3, gocryptfs y kdialog vienen con él : esta línea sirve sobre todo para la vía del clon.
Fuera de KDE, zenity puede ocupar el lugar de kdialog.
El navegador se instala aparte. En Debian 13 es el paquete chromium
(155.0.8059.79):
sudo apt install chromium
En Ubuntu 24.04 no existe el paquete chromium (chromium-browser solo
instala un lanzador Snap): instale Google Chrome desde su archivo .deb.
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install ./google-chrome-stable_current_amd64.deb
Instalar
Un equipo ARM de 64 bits toma el mismo .deb. En una Raspberry Pi 4 Model B con Raspberry Pi OS (Debian 13, aarch64) y Chromium 155, la instalación, el primer arranque, la prueba de humo y la batería completa (2694 pruebas superadas, 1 omitida) se ejecutaron; la guía del operador, secciones 1 y 12, dice qué difiere de un PC.
Desde un paquete
Descargue el paquete de su sistema e instálelo desde la carpeta que lo contiene.
La suma de cada archivo está en SHA256SUMS:
sha256sum -c --ignore-missing SHA256SUMS.
- Debian 13, Ubuntu 24.04 y 26.04:
mcp-server-diwall-browser_0.0.1-1_all.deb, luegosudo apt install ./mcp-server-diwall-browser_0.0.1-1_all.deb - Fedora 44:
mcp-server-diwall-browser-0.0.1-1.fc44.noarch.rpm, luegosudo dnf install ./mcp-server-diwall-browser-0.0.1-1.fc44.noarch.rpm - openSUSE Leap 16.0:
mcp-server-diwall-browser-0.0.1-1.leap160.noarch.rpm, luegosudo zypper install --allow-unsigned-rpm ./mcp-server-diwall-browser-0.0.1-1.leap160.noarch.rpm - Arch Linux:
mcp-server-diwall-browser-0.0.1-1-any.pkg.tar.zst, luegosudo pacman -U ./mcp-server-diwall-browser-0.0.1-1-any.pkg.tar.zst
El paquete trae por sí mismo Python, fuse3, gocryptfs y kdialog o zenity,
e instala las dependencias del servidor en un entorno virtual propio, lo que
necesita una conexión de red. El navegador lo instala usted. La instalación, el
arranque del servidor por una cuenta ordinaria y la desinstalación están validados
en contenedores en estos sistemas. Un contenedor no muestra ni la ventana de
confirmación, ni el montaje del directorio cifrado, ni un navegador. Debian 12 y
Ubuntu 22.04 no son compatibles: su Python es anterior a 3.12. El paquete añade los
comandos mcp-server-diwall-browser, mcp-server-diwall-browser-credential-import
y mcp-server-diwall-browser-setup, y la página de manual
man mcp-server-diwall-browser. Termina mostrando el primer comando que debe
teclear, mcp-server-diwall-browser-setup.
Desde un clon del repositorio
Un clon del repositorio instala el servidor con sus herramientas de prueba. ~ es
su directorio personal.
git clone https://github.com/RonanDavalan/mcp-server-diwall-browser.git \
~/mcp-server-diwall-browser
cd ~/mcp-server-diwall-browser
python3 -m venv .venv
.venv/bin/python -m pip install -e ".[dev]"
python3 --version debe imprimir 3.12 o posterior; de lo contrario, nombre el
intérprete, python3.12 o python3.13, en el tercer comando. Las versiones que
el proyecto probó están fijadas en requirements.lock.
Comprobar
Dos comandos, desde el clon. El paquete no incluye las pruebas ni scripts/smoke_test.py;
con el paquete, la comprobación es mcp-server-diwall-browser-setup, sin argumento, que lee la
máquina y no cambia nada. Ninguno de los dos comandos de abajo toca su navegador, su directorio
cifrado ni su perfil de operador.
.venv/bin/python -m pytest -q -m "not browser"
.venv/bin/python scripts/smoke_test.py
El primero ejecuta todas las pruebas que no necesitan navegador. Sobre el código de la versión 0.0.1, con Python 3.12.11:
2100 passed, 1 skipped, 589 deselected, 1 warning in 105.36s (0:01:45)
La prueba omitida cambia el propietario de un archivo, lo que exige ser root. La segunda inicia el servidor frente a un navegador propio, sobre un perfil temporal en blanco, y observa la página de demostración del repositorio. El mismo día, con Google Chrome:
browser executable: google-chrome (Chrome/155.0.8059.84)
server 0.0.1, configured: True
browser Chrome/155.0.8059.84, attached: True
encrypted directory closed_or_absent (encrypted_dir_undetermined), action expected: operator_opens_directory
tab origin http://127.0.0.1:38565
marks 4
image yes
tree lines 10
redacted_fields 1
password value in the result absent
elements 1 textbox "User name", 2 textbox "Password", 3 button "Sign in", 4 link "Help"
result: conforming
El puerto de tab origin cambia en cada ejecución. El directorio cifrado indica
closed_or_absent a propósito: la prueba de humo entrega al servidor un
directorio que no está montado. El comando devuelve 0 cuando el resultado es el
esperado, 1 cuando una línea difiere (termina entonces con <- not as expected)
y 3 cuando no encuentra ningún navegador en su PATH.
--save-image ~/observe.png escribe la imagen que recibió el modelo.
Con un navegador en su PATH, .venv/bin/python -m pytest -q ejecuta también
las 589 pruebas con navegador, cada una sobre un perfil temporal en blanco.
A continuación: iniciar el navegador sobre su propio perfil, paso 2. Todas las opciones de este paso están en la sección 2 de la guía del operador.