Protocolo MCP (Model Context Protocol)

Usa herramientas de tu equipo y servicios MCP externos desde ZeroChat, con el servidor local y controles de autorización integrados.

Las herramientas locales usan su nombre canónico directo (por ejemplo, read_file o execute_command) y las externas mcp_<servicio>_<herramienta>, por ejemplo mcp_browser_service_browser_navigate. Los permisos se guardan por este nombre completo: autorizar una herramienta no autoriza su homónima en otro servicio. No se admiten alias antiguos. Los caracteres especiales se codifican para evitar colisiones.

1. ¿Qué es MCP?

El Model Context Protocol (MCP) es un estándar abierto promovido por Anthropic para conectar modelos de inteligencia artificial con fuentes de datos y herramientas del mundo real de manera uniforme.

En ZeroChat, el servidor local inicia en 127.0.0.1 y abre GitHub Pages con un token de sesión. Puedes instalarlo desde PyPI o ejecutar zerochat.py directamente: ambos métodos usan el mismo origen web y no requieren configurar una URL MCP remota.

2. Conexión y Estado en la Interfaz

Abre Ajustes → MCP para consultar el estado del servidor local y las herramientas detectadas:

No hay botón ni formulario de conexión manual. Ejecuta el comando siguiente y abre la aplicación desde el enlace que inicia el script. El token de sesión protege las peticiones al servidor local: no compartas esa URL ni el token.

3. Servidor Local: PyPI o zerochat.py

La opción recomendada es instalar el ejecutable oficial desde PyPI. No incluye una copia de la interfaz: abre la misma aplicación de GitHub Pages que el script descargado.

Como alternativa, descarga zerochat.py y ejecútalo con Python. Ambas opciones arrancan el servidor SSE, abren GitHub Pages y conservan el token de sesión en el mismo origen web. También crean ~/zerochat/: ahí se guardan configuración, token y servicios; los MCP Python usan exclusivamente ~/zerochat/.venv/, sin instalar paquetes en tu Python global.

Herramientas Locales Esenciales:

Seguridad por Token: Todas las peticiones desde GitHub Pages requieren el token efímero generado al arrancar. Sin este token, el servidor local rechaza cualquier conexión externa.

# Recomendado: instalar desde PyPI
pip install zerochat && zerochat

# Alternativa: descargar y ejecutar el script directamente
curl -sL https://albalday.github.io/zerochat/zerochat.py -o zerochat.py && python3 zerochat.py

4. Control de Permisos y Autorización por Herramienta

Dado que las herramientas locales pueden ejecutar acciones sensibles en tu máquina (como modificar archivos o ejecutar comandos), ZeroChat incorpora un panel de control granular para cada herramienta:

Abre Ajustes → Permisos para elegir la política global, revisar las decisiones recordadas y restablecerlas cuando sea necesario. Desde el panel MCP también puedes elegir Preguntar, Permitir o Denegar para cada herramienta.

La lista Directorios permitidos centraliza el acceso de las herramientas locales de archivos. Añade una regla por línea con R: para lectura, W: para modificación o RW: para ambos; por ejemplo, R:./proyecto/** o W:./proyecto/src/**. Usa * para un segmento y ** para incluir subdirectorios. Las rutas que no coincidan con una regla solicitan autorización.

Para execute_command, ZeroChat examina únicamente comandos simples y las rutas explícitas que contienen. Una ruta de lectura necesita R: y una de modificación W:. Pipes, redirecciones, expansiones, comodines y otras construcciones de shell ambiguas siempre solicitan autorización puntual.

Seguridad en red local: Asegúrate de que tu servidor MCP escuche únicamente en la interfaz local 127.0.0.1 y no en 0.0.0.0 si estás conectado a una red pública no confiable.

5. Servicios MCP Externos y Activación Individual

El servidor local gestiona los servicios MCP externos en ~/zerochat/services/. No necesitas ejecutar un daemon externo global: cada servicio se inicia y se detiene desde ZeroChat. Borrar ~/zerochat/ elimina el estado local y todos los MCP instalados.

En Ajustes → MCP, "Servidores MCP Disponibles" permite iniciar o detener cada servicio y configurar sus opciones. Al iniciarlo, ZeroChat instala las dependencias necesarias cuando corresponda, descubre sus herramientas y las añade al panel. Los servicios basados en Node.js requieren Node.js 18 o posterior y npm.

El servidor local incluye definiciones listas para usar en services/:

Los parches de interfaz 7.4.x se reciben desde GitHub Pages sin actualizar el ejecutable. Solo un cambio de major.minor, por ejemplo de 7.4 a 7.5, requiere actualizar zerochat.py o el paquete PyPI.