Saltar al contenido principal

Acceso Externo (CLI y Clientes de IA)

Acceso Externo permite que programas de línea de comandos locales y clientes de IA compatibles con MCP gestionen scripts en ScriptCat a través de sctl.

AI client ── stdio MCP ──▶ sctl mcp ── local control API ──▶ sctl serve ── WebSocket ──▶ ScriptCat
CLI ────────────────────────────────────────────────────────▲

sctl serve es un daemon local separado que debe iniciarse explícitamente. sctl mcp y los comandos solicitantes nunca lo inician automáticamente.

El escuchador es local por defecto

sctl escucha en 127.0.0.1 por defecto. Solo escucha en otra interfaz cuando se pasa --listen-address explícitamente. ws:// no encripta el tráfico, use una dirección no predeterminada solo en una red de confianza.

1. Instalar sctl

curl -fsSL https://raw.githubusercontent.com/scriptscat/sctl/main/scripts/install.sh | sh

o Windows PowerShell:

irm https://raw.githubusercontent.com/scriptscat/sctl/main/scripts/install.ps1 | iex
sctl version

2. Iniciar el daemon y registrarse

2.1 Elegir un directorio de datos

export SCTL_DATA_DIR=/absolute/path/to/sctl-data
sctl serve
sctl status
sctl mcp

2.2 Iniciar el daemon

sctl serve

2.3 Habilitar y emparejar en ScriptCat

  1. Abre Ajustes → Herramientas → Acceso Externo en ScriptCat y activa el interruptor.

  2. Confirma que la dirección sctl coincide con el daemon.

  3. Ejecuta en otra terminal:

    sctl connect
  4. Ingresa el código de terminal de 8 caracteres.

  5. Verifica la conexión:

    sctl status
El código de emparejar es solo de terminal

El código se ve como A1B2-C3D4, expira después de 2 minutos y funciona una vez. Nunca lo pegues en un chat de IA, issue, registro o configuración MCP.

3. Permisos y confirmación

CapacidadComportamiento predeterminado
Listar scripts y leer metadatosDevolver directamente
Leer o buscar fuente de scriptSeguir la política de lectura de fuente
Instalar, editar, habilitar, deshabilitar o eliminar un scriptSeguir la política de escritura

4. Uso de línea de comandos

sctl get # Listar scripts
sctl get <uuid> # Leer metadatos
sctl get <uuid> -o source # Imprimir fuente completa
sctl get <uuid> -o source --lines 20-80
sctl grep <uuid> "fetch(" # Búsqueda literal de fuente
sctl grep <uuid> "pattern" -E # Expresión regular
sctl install <url|file>
sctl edit <uuid> --replace OLD --with NEW
sctl enable <uuid>
sctl disable <uuid>
sctl delete <uuid>
sctl status

5. Conectar un cliente de IA (MCP)

{
"mcpServers": {
"scriptcat": {
"command": "/absolute/path/to/sctl",
"env": {
"SCTL_DATA_DIR": "/absolute/path/to/sctl-data"
},
"args": ["mcp", "--name", "my-ai-client"]
}
}
}

Herramientas actuales:

HerramientaPropósitoPolítica de confirmación
scripts_listResúmenes de scriptsNinguna
scripts_metadata_getMetadatos de un scriptNinguna
scripts_source_getLeer fuente por UUIDPolítica de lectura de fuente
scripts_source_grepBuscar en fuentePolítica de lectura de fuente
scripts_install_requestSolicitar instalaciónPolítica de escritura
scripts_edit_requestSolicitar ediciónPolítica de escritura
scripts_toggle_requestSolicitar habilitar/deshabilitarPolítica de escritura
scripts_delete_requestSolicitar eliminaciónPolítica de escritura

6. Auditoría y revocación

  • sctl status muestra versión del daemon, conectividad y eventos de seguridad recientes.
  • "Detener Acceso Externo" desconecta, elimina el estado de emparejamiento y borra las permisiones de sesión.

7. Solución de problemas

El daemon no es accesible — Ejecuta sctl serve primero.

Autenticación del canal de control fallida — Confirma que serve, comandos CLI y el proceso MCP resuelven al mismo directorio de datos absoluto.

El estado dice "Conexión fallida" — Confirma que el daemon está ejecutándose y la dirección coincide.

Un comando no regresa — Verifica el navegador para una página de confirmación de escritura o divulgación de fuente.

Encontrar registros — Los registros están en <data-dir>/logs/.

PlataformaDirectorio de registros
macOS~/Library/Application Support/sctl/logs/
Windows%LOCALAPPDATA%\sctl\logs\
Linux~/.config/sctl/logs/