Saltar al contenido principal
El servidor Model Context Protocol (MCP) de Kameleoon conecta los asistentes de codificación con IA directamente a su proyecto de Kameleoon, habilitando flujos de trabajo agénticos para experimentos y feature flags. Más allá de leer configuraciones y extraer código de variaciones, su asistente de IA puede crear y gestionar experimentos, feature flags, objetivos, segmentos y reglas de targeting, así como ejecutar el ciclo de vida completo del rollout, todo desde su entorno de desarrollo. Registre y autentique el servidor para automatizar su ciclo de vida de implementación, desde una variación ganadora hasta un rollout a producción protegido por flags.

Funcionalidades

Tras conectar el servidor, su agente de IA puede interactuar con Kameleoon para:
  • Descubrir e inspeccionar experimentos, feature flags, objetivos, segmentos y reglas de targeting.
  • Crear experimentos de extremo a extremo: crear, duplicar y ejecutar el ciclo de vida completo (iniciar, pausar, reanudar, detener, eliminar).
  • Gestionar feature flags: crear, duplicar, eliminar, alternar por entorno y revisar el historial de cambios.
  • Configurar la entrega de los flags: añadir reglas de targeting y de experimentación, variaciones personalizadas y variables tipadas.
  • Crear y mantener objetivos y segmentos de audiencia, y vincular segmentos a experimentos.
  • Analizar los resultados de experimentos y de experimentos asociados a feature flags, y extraer código en bruto de variaciones (JavaScript y CSS).
  • Automatizar el ciclo de vida completo de la implementación, desde una variación ganadora hasta un rollout a producción protegido por flags.

Flujo de trabajo principal: del experimento ganador a producción

El servidor MCP de Kameleoon automatiza la «última milla» de la implementación. Sin salir del IDE, puede indicar a su asistente de IA que ejecute el siguiente flujo de trabajo:
  1. Recuperar los resultados del experimento e identificar la variación ganadora.
  2. Extraer el código en bruto de la variación desde Kameleoon.
  3. Convertir el código en código nativo listo para producción (como componentes React) alineado con la base de código existente.
  4. Crear un feature flag en Kameleoon.
  5. Encapsular la nueva implementación tras el feature flag.
  6. Habilitar y validar la funcionalidad en producción.

Herramientas disponibles

El servidor expone las herramientas que se indican a continuación, agrupadas por área. Cada herramienta se corresponde con una única acción bien delimitada, de modo que puede combinarlas en flujos de trabajo más amplios (por ejemplo: leer resultados, extraer código, crear un flag, añadir una regla y habilitarlo).

Experimentos

Cree, inspeccione y ejecute tests A/B (experimentos web).
HerramientaDescripciónEjemplo de prompt
experiment_listBusca experimentos por nombre o ID. Devuelve resúmenes paginados (id, nombre, estado, etiquetas).”List active experiments on site d1alzzxd7k.”
experiment_getRecupera la configuración completa de un experimento: variaciones, reparto de tráfico, objetivos y targeting.”Show the configuration for experiment 149640.”
experiment_code_getExtrae el JavaScript, CSS y JSON personalizado en bruto de una variación, junto con el JS y CSS comunes compartidos del experimento.”Pull the code for variation 1 of experiment 149640.”
experiment_results_getObtiene los resultados estadísticos: tasas de conversión por variación, significancia, intervalos de confianza y la ganadora.”Summarize results for experiment 149640.”
experiment_createCrea un experimento en borrador (tipo, URL base, objetivos, código común opcional).”Create a CLASSIC experiment Homepage hero on site d1alzzxd7k.”
experiment_duplicateClona un experimento en un nuevo borrador, copiando variaciones, código, desviaciones y targeting.”Duplicate experiment 149640.”
experiment_lifecycle_updateGestiona el ciclo de vida: iniciar, pausar, reanudar, detener o eliminar (detener y eliminar requieren confirmación).”Start experiment 149640.”

Feature flags

Cree y opere feature flags, altérnelos por entorno, y consulte su historial y resultados.
HerramientaDescripciónEjemplo de prompt
feature_flag_listBusca feature flags por clave, nombre o ID.”List all feature flags for site d1alzzxd7k.”
feature_flag_getRecupera la configuración completa de un flag en un entorno: variaciones, variables, objetivo principal y cadena de reglas.”Show configuration for flag snake_game.”
feature_flag_createCrea un flag con variaciones on y off por defecto.”Create a flag ui_refresh for site d1alzzxd7k.”
feature_flag_duplicateClona un flag existente (la copia comienza deshabilitada en todos los entornos).”Duplicate the new_search flag.”
feature_flag_deleteElimina permanentemente un flag y toda su configuración.”Delete the flag ui_refresh.”
feature_flag_enableActiva el interruptor maestro por entorno para que el SDK evalúe las reglas.”Enable new_search in production.”
feature_flag_disableDesactiva el interruptor maestro por entorno (las reglas se conservan).”Disable new_search in staging.”
feature_flag_activity_logs_getLee el registro de auditoría de los cambios del flag (quién cambió qué y cuándo).”Show the recent change history for our feature flags.”
feature_flag_experiment_results_getObtiene los resultados estadísticos de la regla de experimentación de un flag.”Get the experiment results for the rule on new_search.”

Entrega de flags, variaciones y variables

Defina cómo se entrega un flag y especifique las variaciones y variables tipadas que sirve.
HerramientaDescripciónEjemplo de prompt
feature_flag_rule_targeted_createAñade una regla de entrega segmentada: sirve una variación a un porcentaje del tráfico, con planificación opcional.”Roll new_search out to 20% in production.”
feature_flag_rule_experimentation_createAñade una regla de experimentación A/B que divide el tráfico entre variaciones con seguimiento estadístico.”A/B test off vs on 50/50 on new_search.”
feature_flag_variation_createAñade una variación personalizada (un estado con nombre de la funcionalidad) a un flag.”Add a variant_a variation to new_search.”
feature_flag_variable_createDefine una variable tipada (BOOLEAN, NUMBER, STRING, JSON, JS, CSS, ENUM) con un valor por defecto.”Add a STRING variable label defaulting to Search.”
feature_flag_variation_variable_setSobrescribe el valor de una variable para una variación específica.”Set label to Find on variant_a.”

Objetivos

Cree y mantenga los objetivos de conversión utilizados por experimentos y flags.
HerramientaDescripciónEjemplo de prompt
goal_listExplora los objetivos de un sitio, con recuentos de uso en experimentos, flags y personalizaciones.”List goals for site d1alzzxd7k.”
goal_getInspecciona la configuración del tipo, etiquetas y recuentos de uso de un objetivo.”Show goal 271552.”
goal_searchBusca un objetivo por una subcadena de su nombre.”Search goals for checkout.”
goal_createCrea un objetivo de cualquier tipo (URL, CLICK, SCROLL, PAGE_VIEWS, TIME_SPENT, CUSTOM, entre otros).”Create a URL goal that matches /thank-you.”
goal_updateEdita el nombre, descripción, etiquetas, herramientas de seguimiento o el ajuste de múltiples conversiones de un objetivo.”Rename goal 271552 to Signup complete.”
goal_update_typeCambia el tipo de un objetivo y sustituye su configuración específica de tipo (las etiquetas se conservan).”Change goal 271552 to a CLICK goal.”
goal_deleteElimina permanentemente un objetivo.”Delete goal 271552.”

Segmentos

Defina e inspeccione las audiencias que segmenta.
HerramientaDescripciónEjemplo de prompt
segment_listExplora los segmentos de un sitio, con recuentos de uso.”List segments for site d1alzzxd7k.”
segment_getInspecciona el árbol de condiciones de un segmento (JSON en bruto más un resumen legible para humanos).”Show segment 200604.”
segment_createCrea un segmento de audiencia a partir de un árbol de condiciones (geolocalización, dispositivo, navegador, datos personalizados y más).”Create a segment for desktop visitors in France.”
segment_deleteElimina un segmento. Bloqueado por defecto cuando el segmento está en uso (omitir con force).”Delete segment 200604.”

Sitios y reglas de targeting

Descubra sus proyectos y vincule segmentos a experimentos.
HerramientaDescripciónEjemplo de prompt
site_listLista los sitios (proyectos) a los que tiene acceso, con el código, nombre y estado de seguimiento de cada sitio.”List my Kameleoon sites.”
targeting_rule_listLista las reglas de targeting de un sitio.”List targeting rules for site d1alzzxd7k.”
targeting_rule_getInspecciona una única regla de targeting (segmento, configuración, trigger y el experimento al que pertenece).”Show targeting rule 118605.”
targeting_rule_createVincula un segmento a un experimento para controlar quién participa.”Target experiment 149640 to segment 200604.”

Integración con Claude Code

Paso 1: Registrar el servidor

Para registrar el servidor en su perfil de usuario (haciéndolo disponible en todos los proyectos), abra una terminal y ejecute el siguiente comando:
claude mcp add --scope user kameleoon -- npx -y mcp-remote@0.1.37 https://mcp.kameleoon.com/mcp 35535 --static-oauth-client-metadata '{ "scope": "openid" }'
Para registrar el servidor únicamente para el proyecto actual (lo que añade un archivo .mcp.json a su repositorio para compartirlo con el equipo), ejecute:
claude mcp add kameleoon -- npx -y mcp-remote@0.1.37 https://mcp.kameleoon.com/mcp 35535 --static-oauth-client-metadata '{ "scope": "openid" }'
Verifique que Claude ha añadido el servidor:
claude mcp list
Salida esperada: kameleoon: ... - ✗ Failed to connect (Esto es normal porque aún no ha completado la autenticación).

Paso 2: Completar la autenticación OAuth

En la misma terminal, inicie el flujo de inicio de sesión:
npx -y mcp-remote@0.1.37 https://mcp.kameleoon.com/mcp 35535 --static-oauth-client-metadata '{ "scope": "openid" }'
  1. El comando abre automáticamente una pestaña del navegador. Si no lo hace, copie la URL impresa en la terminal y ábrala manualmente.
  2. Inicie sesión en su cuenta de Kameleoon.
  3. Haga clic en Authorize.
  4. Cuando el navegador muestre un mensaje de éxito, pulse Ctrl+C en su terminal.
Verifique la conexión:
claude mcp list
Salida esperada: kameleoon: ... - ✓ Connected

Paso 3: Iniciar una nueva sesión de Claude Code

Claude Code hace que las herramientas de los servidores MCP recién añadidos estén disponibles solo en las sesiones que inicie después de registrar el servidor. Cierre su chat actual de Claude Code y abra uno nuevo.

Paso 4: Verificar la conexión

En una nueva conversación de Claude Code, pruebe los siguientes prompts:
  • “List my Kameleoon feature flags.”
  • “What experiments are active on site X?”
  • “Show me the status of experiment Y.”
  • “Show me the code for variation 1 of experiment Z.”

Resolución de problemas en Claude

SíntomaCausaSolución
El navegador no se abre.Falló el lanzamiento automático.Copie la URL de la terminal y ábrala manualmente.
Conexión rechazada en el puerto 35535.El puerto está en uso.Ejecute `netstat -anofindstr :35535`, mate el proceso y reintente.
Error al conectar tras OAuth.El token no persistió.Vuelva a ejecutar el comando del Paso 2 para refrescar su token.
Las herramientas no aparecen en Claude.La sesión se inició antes de añadir el servidor.Inicie una nueva conversación de Claude Code.
La clave mcpServers se rechaza en settings.json.Archivo incorrecto; Claude Code no utiliza esa clave.Use el comando claude mcp add en su lugar.
Error de autenticación tras un largo periodo.El token OAuth ha caducado.Vuelva a ejecutar el comando del Paso 2.

Integración con Antigravity

Configuración rápida

Pegue el siguiente prompt de inicio automático directamente en su chat de Antigravity para conectarse automáticamente:
“Connect to the Kameleoon MCP production server. The endpoint is https://mcp.kameleoon.com/mcp, using mcp-remote@0.1.37 on port 35535 with the openid scope. Authenticate by running the npx mcp-remote command to trigger my browser, then verify the connection.”

Configuración manual

Edite el archivo de configuración en ~/.gemini/antigravity/mcp_config.json y añada el siguiente bloque JSON:
"kameleoon": {
  "command": "npx",
  "args": [
    "-y",
    "mcp-remote@0.1.37",
    "https://mcp.kameleoon.com/mcp",
    "35535",
    "--static-oauth-client-metadata",
    "{ \"scope\": \"openid\" }"
  ]
}

Integración con Codex

Configuración rápida

Pegue el siguiente prompt de inicio automático en su chat de Codex:
“Configure the Kameleoon MCP server at https://mcp.kameleoon.com/mcp. Use port 35535 for callback. Once configured, run the login command to trigger my browser and then list my feature flags.”

Configuración manual

Añada el siguiente bloque a ~/.codex/config.toml. Cree el archivo si no existe:
[mcp_servers.kameleoon]
command = "npx"
args = ["-y", "mcp-remote@0.1.37", "https://mcp.kameleoon.com/mcp",
        "35535", "--static-oauth-client-metadata",
        "{ \"scope\": \"openid\" }"]

Autenticar la conexión

El servidor MCP de Kameleoon utiliza OAuth. Ejecute el siguiente comando en su terminal para iniciar el flujo de autorización:
npx -y mcp-remote@0.1.37 https://mcp.kameleoon.com/mcp 35535 \
  --static-oauth-client-metadata '{ "scope": "openid" }'
Comportamiento esperado:
  1. El navegador abre automáticamente una ventana.
  2. Haga clic en Authorize en la página de inicio de sesión de Kameleoon.
  3. Kameleoon completa la callback local en el puerto 35535.
  4. La terminal confirma que el proxy se ha conectado correctamente.
Una conexión exitosa muestra una salida similar a la siguiente:
Connected to remote server using StreamableHTTPClientTransport
Local STDIO server running
Proxy established successfully between local STDIO and remote StreamableHTTPClientTransport

Verificar las operaciones de las herramientas

Tras autenticarse, ejecute las siguientes comprobaciones para confirmar que las herramientas funcionan como se espera:
  1. Listar las herramientas disponibles: Confirme que tools/list se ejecuta correctamente y devuelve las herramientas de Kameleoon. Asegúrese de que la salida incluye las herramientas listadas en la tabla de herramientas, como experiment_code_get, feature_flag_list y feature_flag_create.
  2. Recuperar feature flags: Ejecute feature_flag_list(siteCode = "d1alzzxd7k"). Una respuesta exitosa devuelve una lista de feature flags para el sitio especificado.
  3. Recuperar resultados de experimentos: Ejecute experiment_results_get(experimentId = 149640). Una respuesta exitosa incluye el nombre del experimento, el código del sitio, el tipo y el estado.

Integración con Cursor

Cursor integra las herramientas MCP directamente en la barra lateral del chat del IDE, lo que las hace disponibles mientras programa.

Opción 1: Configurar mediante la interfaz de Cursor (recomendado)

  1. Abra la configuración de Cursor (Cmd + Shift + J en macOS, Ctrl + Shift + J en Windows/Linux).
  2. Navegue a Features > MCP Servers > + Add New MCP Server.
  3. Establezca Name en kameleoon.
  4. Establezca Type en command.
  5. Introduzca la siguiente cadena como Command:
    npx -y mcp-remote@0.1.37 https://mcp.kameleoon.com/mcp 35535 --static-oauth-client-metadata '{ "scope": "openid" }'
    
  6. Guarde la configuración.

Opción 2: Configurar mediante mcp.json (avanzado)

Abra ~/.cursor/mcp.json (cree el archivo si no existe) y añada la siguiente entrada al objeto mcpServers:
{
  "mcpServers": {
    "kameleoon": {
      "command": "bash",
      "args": [
        "-lc",
        "npx -y mcp-remote@0.1.37 https://mcp.kameleoon.com/mcp 35535 --static-oauth-client-metadata '{ \"scope\": \"openid\" }'"
      ]
    }
  }
}
Reinicie Cursor después de editar el archivo manualmente.

Ejemplos de prompts para flujos de trabajo de desarrollador

Tras conectar el servidor MCP de Kameleoon, utilice prompts como los siguientes en su IDE:
  • “List the Kameleoon MCP tools available in this session.”
  • “Show me all feature flags for site code d1alzzxd7k.”
  • “Get the details for feature flag new_search on site d1alzzxd7k.”
  • “Fetch experiment results for experiment 149640 and summarize the current status.”
  • “Pull the variation code for experiment <experimentId> and variation <variationId>.”
Para flujos de trabajo más avanzados, pruebe los siguientes prompts:
  • “Inspect feature flag new_search for site d1alzzxd7k and explain what environments and variations it currently has.”
  • “Summarize experiment 149640 for an engineer. Include status, site code, winner state, and whether any variation data is available.”
  • “List the active feature flags for site d1alzzxd7k and point out any flags that look like stale candidates.”
  • “Retrieve the code for variation <variationId> in experiment <experimentId> and explain what frontend behavior it changes.”
  • “Create a new feature flag named <name> with key <featureKey> for site d1alzzxd7k.”
  • “Turn on feature flag <featureKey> in the staging environment for site d1alzzxd7k.”
  • “Turn off feature flag <featureKey> in the production environment for site d1alzzxd7k.”

Flujo de trabajo avanzado: automatización de extremo a extremo

Para experimentar todas las capacidades del servidor MCP, utilice un prompt de sistema completo. El siguiente ejemplo muestra cómo trasladar el código de la variación ganadora a componentes React, lo que está pensado principalmente para aplicaciones React. Indica al agente de IA que gestione todo el ciclo de vida de la implementación, desde la recuperación de los resultados ganadores hasta la generación de código nativo listo para producción protegido tras un nuevo feature flag, y posteriormente su despliegue y validación, todo ello mediante las herramientas MCP. Pegue el siguiente prompt en su asistente de IA:
You are integrating a Kameleoon A/B experiment into a production codebase by converting a Kameleoon PBX variation into maintainable native React code. Context
  • Experiment ID: 373001
  • Mode: strict_winner_only (default) or manual_variation_conversion (Fallback variation: 1266752)
Rules
  • Inspect the repo first and follow existing conventions (structure, styling, routing, tests, feature flags).
  • Do not copy experiment code directly. Re-implement using idiomatic React (components, hooks, state).
  • Do not keep experiment-specific logic (IDs, Kameleoon APIs) in production code.
  • Prefer existing feature flag systems for rollout. Use the Kameleoon MCP feature-flag tools to create and gate the flag.
  • Avoid DOM manipulation (no querySelector, MutationObserver, etc.).
  • Do not add new dependencies unless necessary.
  • Do not modify the source experiment’s lifecycle (do not stop or delete it) unless explicitly asked.
  • Be explicit if something is unclear.
Workflow steps
  1. Get experiment results (experiment_results_get).
  2. Decide integration:
    • Mode A (default: strict_winner_only): Proceed only if winner.status == "clear_winner".
    • Mode B (manual): Use the fallback variation provided in the context.
  3. Get the variation code and the prompt that was used (experiment_code_get).
  4. Convert the code to React (convert JS code to React components/hooks, and CSS code to the project styling system).
  5. Create a feature flag “pbx-winning-experiment-373001” (feature_flag_create). If the implementation needs more than a simple on/off, add variations and typed variables (feature_flag_variation_create, feature_flag_variable_create, feature_flag_variation_variable_set), then gate the converted code behind the flag.
  6. Roll out and validate: add a delivery rule (feature_flag_rule_targeted_create for a staged percentage rollout, or feature_flag_rule_experimentation_create to keep measuring), enable the flag in the target environment (feature_flag_enable), and confirm the final configuration with feature_flag_get.

Referencia de parámetros de las herramientas

Utilice los nombres exactos de las herramientas y de los parámetros devueltos por tools/list. El esquema MCP en producción admite los siguientes parámetros.

Experimentos

HerramientaParámetros obligatoriosParámetros opcionales
experiment_listNingunositeCode, filterQuery, page, perPage, sortField, sortOrder
experiment_getexperimentIdNinguno
experiment_code_getexperimentId, variationIdNinguno
experiment_results_getexperimentIdNinguno
experiment_createpayload (siteCode, name, type, baseURL)payload: mainGoalId, goals, tags, description, commonJavaScriptCode, commonCssCode, trafficAllocationMethod, collectingDataEnabled, multipleTestingCorrection, executeCodeForReference
experiment_duplicateexperimentIdNinguno
experiment_lifecycle_updateexperimentId, statusconfirm (obligatorio para stopped y deleted), reason

Feature flags

HerramientaParámetros obligatoriosParámetros opcionales
feature_flag_listNingunositeCode, filterQuery, page, perPage, sortField, sortOrder
feature_flag_getfeatureKey, siteCodeenvironmentKey (* para todos los entornos)
feature_flag_createsiteCode, featureKey, namedescription
feature_flag_duplicatefeatureKey, siteCodeNinguno
feature_flag_deletefeatureKey, siteCodeNinguno
feature_flag_enablefeatureKey, siteCode, environmentKeyNinguno
feature_flag_disablefeatureKey, siteCode, environmentKeyNinguno
feature_flag_activity_logs_getNingunotype, sortKey (timestamp), sortOrder, page, perPage
feature_flag_experiment_results_getfeatureKey, siteCode, environmentKey, experimentIdNinguno

Entrega de flags, variaciones y variables

HerramientaParámetros obligatoriosParámetros opcionales
feature_flag_rule_targeted_createsiteCode, featureKey, environmentKey, variationKey, exposition, releaseDateTime, timeZoneruleName
feature_flag_rule_experimentation_createsiteCode, featureKey, environmentKey, controlVariationKey, trafficAllocations, exposition, releaseDateTime, timeZoneruleName
feature_flag_variation_createsiteCode, featureKey, variationKey, variationNameNinguno
feature_flag_variable_createsiteCode, featureKey, variableKey, variableType, defaultValueNinguno
feature_flag_variation_variable_setsiteCode, featureKey, variationKey, variableKey, valueNinguno

Objetivos

HerramientaParámetros obligatoriosParámetros opcionales
goal_listNingunositeCode, page, perPage
goal_getgoalIdNinguno
goal_searchquerysiteCode, page, perPage
goal_createpayload (name, siteCode, type, hasMultipleConversions)payload: parámetros específicos del tipo (matchString, matchType, scrollType, scrollValue, timeSeconds, pageViews, url, jsCode), tags, description, status, trackingTools
goal_updategoalIdname, description, tags, trackingTools, hasMultipleConversions
goal_update_typegoalId, typeparámetros específicos del tipo
goal_deletegoalIdNinguno

Segmentos

HerramientaParámetros obligatoriosParámetros opcionales
segment_listNingunositeCode, query, page, perPage
segment_getsegmentIdNinguno
segment_createname, siteCodeconditionDataTree, description
segment_deletesegmentIdforce

Sitios y reglas de targeting

HerramientaParámetros obligatoriosParámetros opcionales
site_listNingunoNinguno
targeting_rule_listNingunositeCode, page, perPage
targeting_rule_gettargetingRuleIdNinguno
targeting_rule_createsegmentConfiguration, siteCode, experimentIdsegmentId, triggerConfiguration, triggerId, targetingConfigurationParam
Valores de enum aceptados: experiment_lifecycle_update.status es started, resumed, paused, stopped o deleted. El type de experimento es AI, CLASSIC, DEVELOPER, MVT, PROMPT o SDK_HYBRID. El type de objetivo es CLICK, CUSTOM, SCROLL, PAGE_VIEWS, URL, TIME_SPENT, RETENTION_RATE, WAREHOUSE o RATIO_METRICS. variableType es BOOLEAN, NUMBER, STRING, JSON, JS, CSS o ENUM. trafficAllocations es una cadena variationKey:percentage separada por comas cuya suma es 100 (por ejemplo, off:50,on:50). releaseDateTime es una fecha y hora local ISO-8601 sin offset (por ejemplo, 2026-07-01T09:00:00) y timeZone es una zona IANA (por ejemplo, Europe/Paris o UTC).
Para consultas específicas de un entorno, pase environmentKey = "production" o environmentKey = "staging" cuando esté soportado.

Consejos de prompting

  • Incluya el código del sitio cuando trabaje con feature flags.
  • Incluya el ID del experimento cuando consulte experimentos o sus resultados.
  • Incluya tanto experimentId como variationId cuando solicite código de una variación.
  • Nombre explícitamente el entorno objetivo cuando solicite al agente que habilite o deshabilite un feature flag.
  • Solicite un resumen en lenguaje natural si desea que su agente de IA interprete la respuesta MCP en lugar de limitarse a recuperar los datos en bruto.

Resolución general de problemas

El puerto 35535 ya está en uso

Si la autenticación falla con un error EADDRINUSE, otro proceso ya está escuchando en el puerto de callback de OAuth.
  • Causa: Un proceso mcp-remote obsoleto sigue activo de un intento de autenticación anterior.
  • Solución: Detenga el proceso obsoleto que está usando el puerto 35535 y vuelva a ejecutar el comando OAuth.

El servidor MCP no aparece en el chat de Codex

Es posible que Codex no recargue en caliente los servidores MCP recién añadidos en un hilo ya en ejecución.
  • Solución: Refresque Codex o inicie una nueva sesión tras actualizar config.toml.

El flujo del navegador no se completa

Si la ventana del navegador de OAuth se abre pero la autorización no finaliza:
  • Confirme que hizo clic en el botón Authorize en la página de inicio de sesión de Kameleoon.
  • Compruebe que la configuración de su navegador o sistema no bloquea los callbacks a localhost.
  • Abra la URL de callback manualmente si su navegador no consigue lanzarla automáticamente.

Los agentes headless o remotos fallan al autenticarse

Los agentes remotos o headless (como Codex alojado en la nube) no pueden completar el paso de autorización basado en navegador.
  • Solución: Utilice en su lugar una versión de escritorio de su herramienta.

Comando npx no encontrado

Si el comando falla con un error «not found», asegúrese de que npx esté disponible en el path de su sistema. Las versiones 5.2 y posteriores de Node.js incluyen npx por defecto.