Skip to Content
Nueva versión 12 disponible 🎉
DesktopServidor MCP

Servidor MCP

Babel Desktop puede alojar un servidor local de Model Context Protocol (MCP), de modo que un asistente de IA como Claude Code pueda abrir proyectos, cambiar ajustes, ejecutar la ofuscación, descodificar trazas de pila y trabajar con Babel Licensing.

MCP  es un estándar abierto que los asistentes de IA usan para llamar a herramientas externas. Puede conectarse cualquier cliente MCP compatible con el transporte Streamable HTTP. El asistente trabaja en la aplicación que usted tiene abierta: los proyectos que edita y las ejecuciones que inicia aparecen en el diagrama, y el asistente ve los cambios que usted hace en la ventana.

Algunos ejemplos de peticiones:

Abre ~/Projects/Acme/Acme.babel, activa el proxy dinámico y la generación del archivo map para Acme.exe, ejecuta la ofuscación y dime si hay advertencias.

Añade Acme.Core.dll al proyecto y combínalo con Acme.exe; después muéstrame las estadísticas de renombrado de la siguiente ejecución.

Descodifica la traza de pila de crash.txt con Acme.exe.map.xml y dime cuál de mis métodos lanzó la excepción.

Muéstrame las licencias que caducan en los próximos 30 días y los clientes a los que pertenecen.

Cambia la interfaz al tema Copper Night y haz una captura de pantalla del panel.

¿Qué hace el proxy dinámico? Si tiene sentido para Acme.exe, actívalo y explícame por qué.

Habilitar el servidor

El servidor está desactivado de forma predeterminada y no escucha hasta que se habilita.

Abrir los ajustes de MCP

Abra Configuración y elija MCP.

Habilitar el servidor

Marque Habilitar el servidor de automatización. La línea de estado cambia a En ejecución y muestra la dirección del servidor, http://127.0.0.1:8765/mcp con el puerto predeterminado. Mientras el ajuste siga activado, el servidor se inicia cada vez que se inicia Babel Desktop.

Elegir el puerto

Deje Puerto en 8765, salvo que otro programa del equipo ya lo esté usando.

Proteger el servidor con un token

Marque Exigir un token de acceso y haga clic en Generar. A partir de ese momento, los clientes deben enviar el token en la cabecera X-Babel-Token. Sin token, cualquier programa que se ejecute con su cuenta de usuario en el equipo puede conectarse, así que exíjalo en un equipo compartido.

Cuadro de diálogo Settings en la página MCP automation server: la casilla Enable the automation server, el estado Running en http://127.0.0.1:8765/mcp, el campo Port, la casilla Require an access token con los botones Generate y Copy, el JSON de configuración del cliente y los botones Copy configuration, Copy Claude Code command y Show file

Configuración > MCP

Los cambios se aplican de inmediato. Al desmarcar Habilitar el servidor de automatización, el servidor se detiene; al cambiar el puerto o el token, se reinicia y desconecta a los clientes conectados. La paleta de comandos ofrece además MCP: iniciar servidor local (lectura/escritura del proyecto), MCP: detener servidor local, MCP: mostrar estado y MCP: mostrar archivo de configuración del cliente.

Conectar un cliente

La sección Configuración del cliente de los ajustes de MCP genera una configuración para el puerto y el token actuales. Haga clic en Copiar configuración y péguela en la configuración MCP de su cliente:

{ "mcpServers": { "babel-obfuscator": { "type": "http", "url": "http://127.0.0.1:8765/mcp", "headers": { "X-Babel-Token": "paste-the-token-from-settings-mcp" } } } }

Si no se exige un token, el bloque headers se omite. Mostrar archivo… muestra el archivo de configuración que Babel Desktop escribe para el servidor en ejecución.

Para Claude Code, haga clic en Copiar comando de Claude Code y ejecute en un terminal el comando copiado:

claude mcp add --transport http babel-obfuscator http://127.0.0.1:8765/mcp \ --header "X-Babel-Token: paste-the-token-from-settings-mcp"

Inicie primero Babel Desktop y después el asistente. Para comprobar la conexión, pida al asistente que haga una captura de pantalla de la ventana de Babel Desktop.

Trate el token como una contraseña y no lo incluya en informes, tickets ni en el control de código fuente. Quien lo tenga puede manejar Babel Desktop en el equipo local con los permisos de usted.

Qué puede hacer el asistente

El servidor ofrece las funciones de la aplicación como herramientas MCP, agrupadas de este modo:

ÁreaHerramientas
Aplicaciónapp_get_state, app_info, app_settings, app_set_theme, app_set_globe_style, language_list, language_set, language_install, mcp_configure, app_restart, desktop_screenshot
Actualizacionesapp_update_status, app_update_check, app_update_install
Licencia del motorlicense_info, license_load, license_clear, license_activate, license_deactivate, license_floating, license_release, license_configure
Proyectos y destinosproject_info, project_graph, graph_layout, project_open, project_save, assembly_list, assembly_add, assembly_select, assembly_remove
Ajustes y reglassettings_list, settings_get, settings_set, project_rules, project_set_xml_rules, rules_validate, rules_read, rules_save
Ejecuciones y resultadosobfuscate_start, obfuscate_cancel, obfuscate_status, results_list, results_read, results_table
Herramientasstack_decode, trace_read, trace_save, warning_reference, plugin_arguments
Extensionesextensions_list, extension_install, extension_state, extension_readme, extension_settings, extension_settings_save y las demás herramientas extension_*
Gestión de licenciaslicensing_profiles, licensing_profile_save, licensing_profile_test, licensing_profile_select, licensing_layout, licensing_read, licensing_dashboard, licensing_globe_details, licensing_report, licensing_geolocation, licensing_prepare, licensing_confirm
Cambios confirmadosdesktop_prepare, desktop_confirm
Documentacióndocs_search, docs_read, docs_list

Los nombres de los ajustes son los nombres de las opciones de Babel Obfuscator que se muestran en el panel de propiedades, así que el asistente puede usar la referencia de la tarea Babel para elegir los valores. No hace falta nombrar las herramientas. Describa el resultado que quiere y el asistente las elige.

Cambios confirmados

Las operaciones que podrían hacer perder trabajo o sobrescribir archivos se realizan en dos pasos. El asistente prepara primero la operación y recibe una propuesta que describe lo que va a ocurrir, por ejemplo qué archivos de salida reemplazará una ejecución o qué registro quitará una eliminación. El asistente tiene que mostrarle la propuesta y obtener su aprobación antes de confirmar la operación. Una propuesta caduca a los dos minutos y solo puede usarse una vez. Se rechaza si el proyecto, los archivos o el registro han cambiado desde que se creó.

La confirmación en dos pasos se aplica a:

  • crear un proyecto nuevo, reemplazar una entrada, quitar un destino, editar el grafo y las dependencias, e iniciar una ejecución (obfuscate_start devuelve una propuesta);
  • los comandos de configuración: la combinación en el ensamblado principal, la ofuscación pública y el nivel de protección de un destino;
  • instalar y desinstalar extensiones y quitar un perfil de conexión de gestión de licencias;
  • crear, editar, revocar y eliminar registros de gestión de licencias (licensing_prepare y licensing_confirm).

Para cambiar ajustes o reglas XML hace falta la revisión actual del proyecto, lo que impide que un asistente sobrescriba cambios que no ha visto.

Ejecuciones de ofuscación

Una ejecución que inicia el asistente no se diferencia de una que inicia usted en la ventana. Escribe la salida en las mismas ubicaciones, informa del progreso en el panel Actividad y puede cancelarse desde cualquiera de los dos lados. El asistente consulta obfuscate_status periódicamente hasta que la ejecución termina y después lee las estadísticas con results_read y results_table. Mientras hay una ejecución activa, el proyecto no puede modificarse.

Gestión de licencias

Las herramientas de gestión de licencias actúan sobre los perfiles de conexión de gestión de licencias, con los roles y los permisos de la clave API del perfil. Solo se pueden crear, editar y eliminar registros mediante un perfil de prueba local con el modo de acceso de gestión local; los perfiles remotos y los de solo lectura rechazan cualquier cambio. Las respuestas omiten los datos secretos, como las claves de licencia, las claves API, los tokens y las direcciones IP. Las herramientas del panel solo devuelven datos agregados.

Lo que queda en la ventana

El asistente no puede hacer lo siguiente, que le corresponde a usted en la ventana:

  • introducir credenciales: iniciar sesión con una clave API y generar el token de MCP;
  • responder a las solicitudes de contraseña durante una ejecución y descodificar trazas de pila con archivos map protegidos con contraseña;
  • iniciar y detener el propio servidor MCP.

Herramientas de documentación de Babel

El servidor también pone a disposición del asistente la documentación que está leyendo. Cuando usted pregunta cómo funciona algo o cómo se hace, el asistente busca en la documentación, lee la sección pertinente y responde con enlaces a las páginas que ha usado, antes de cambiar ningún ajuste. El servidor indica a los clientes conectados que trabajen así, por lo que no hace falta nombrar las herramientas.

HerramientaQué hace
docs_searchBusca en la documentación de Babel Obfuscator, Babel Licensing, Babel Desktop y API Reference. Recibe una consulta de hasta 500 caracteres, un parámetro opcional section (obfuscator, licensing, desktop o api) y un parámetro opcional limit de 1 a 20 (8 de forma predeterminada). Cada resultado incluye el título de la página, el encabezado de la sección, la ruta de la página, un enlace al encabezado y un extracto breve
docs_readDevuelve una página en Markdown a partir de la ruta que ha devuelto docs_search o docs_list. Con el parámetro heading, devuelve solo esa sección. Las páginas de más de 200 KiB se recortan, con una nota que indica que se pida una sola sección. Si la ruta es desconocida, indica las rutas más parecidas
docs_listEnumera las páginas con su ruta, título y descripción, de todas las secciones o de una sola

Las herramientas de documentación solo leen, y solo se conectan a https://docs.babelfor.net. La búsqueda se ejecuta en su equipo: su pregunta no se envía al sitio de la documentación. Las herramientas descargan el índice de búsqueda y las páginas que leen, que son los mismos archivos públicos que se describen en Uso de la documentación con IA.

Algunos ejemplos de peticiones:

¿Cómo excluyo un tipo del renombrado con reglas XML? Cambia las reglas de este proyecto en consecuencia.

Busca en la documentación de Babel Licensing cómo debe liberar mi aplicación una licencia flotante al cerrarse.

Lee la página Descodificador de pila y explícame qué archivo map necesito para una compilación de release.

Uso sin conexión y actualizaciones

Babel Desktop guarda el índice y las páginas descargados en una carpeta docs-cache de su perfil de usuario.

  • Se comprueba si el índice ha cambiado como máximo una vez cada 24 horas. Una página solo se descarga de nuevo cuando ha cambiado en el sitio.
  • Para obtener antes la versión más reciente, pida al asistente que actualice la documentación. Las herramientas aceptan refresh: true para ello.
  • Sin conexión de red, las herramientas responden con la copia en caché y marcan el resultado como desactualizado, con la fecha de la copia.
  • Después de un fallo de conexión o de un error del sitio, las herramientas usan la caché durante 10 minutos antes de volver a intentarlo con el sitio.

Las herramientas necesitan acceder al sitio una vez para crear la caché. Hasta entonces, sin conexión, devuelven: Babel documentation is not available offline yet: connect to the internet once, or open https://docs.babelfor.net .

Seguridad

  • El servidor está desactivado de forma predeterminada y solo escucha después de habilitarlo.
  • Se enlaza a 127.0.0.1, de modo que otros equipos no pueden acceder a él.
  • Con Exigir un token de acceso activado, se rechaza toda solicitud que no lleve la cabecera X-Babel-Token correcta.
  • El tamaño de las solicitudes, las sesiones, las conexiones y los tiempos de espera están limitados, y se validan el host y el origen de cada solicitud.
  • Ninguna herramienta ejecuta comandos, SQL ni URL arbitrarios.
  • Las herramientas de documentación solo se conectan a https://docs.babelfor.net, sin seguir redirecciones, y solo leen.

El asistente tiene el mismo acceso a sus proyectos y archivos que usted tiene en Babel Desktop. Puede cambiar los ajustes del proyecto, ejecutar ofuscaciones y, previa confirmación, reemplazar archivos de salida. Si deja que un asistente explore libremente, dele una copia del proyecto, y desactive el servidor cuando no lo esté usando.

Solución de problemas

SíntomaCausaSolución
El cliente no puede conectarseBabel Desktop no se está ejecutando, o el servidor no está habilitadoInicie Babel Desktop y compruebe la línea de estado en Configuración > MCP
Todas las llamadas se rechazan por falta de autorizaciónEl token falta o está desactualizadoCopie de nuevo la configuración después de generar un token
El servidor no se iniciaEl puerto ya está en usoElija otro puerto en Configuración > MCP
Se rechaza una confirmaciónLa propuesta ha caducado o el proyecto ha cambiadoPida al asistente que prepare de nuevo la operación
Se rechazan los cambios de gestión de licenciasEl perfil es remoto o de solo lectura, o la clave API no tiene el rol o el permiso necesarioUse un perfil de prueba local con gestión local y una clave con los permisos necesarios

El Babel Licensing Service tiene su propio servidor MCP, que trabaja de forma remota con la API del servicio; consulte Integración con IA para ver una comparación.

Last updated on