ConfiguraciónMCP

Autenticación OAuth de MCP

Conéctate a servidores MCP que requieren acceso delegado por el usuario con OAuth 2.1. Bob gestiona el proceso de autenticación y renovación de tokens para que no necesites gestionarlos manualmente.

Para la configuración general de MCP, consulta Usar MCP en Bob.

Descripción general

Puedes conectar Bob a servidores de Model Context Protocol (MCP) que actúan en tu nombre, como el acceso a tus repositorios de código, servicios en la nube o herramientas internas. Estos servidores usan OAuth 2.1 para que puedas iniciar sesión y aprobar el acceso.

Bob gestiona el flujo de autenticación directamente. Cuando configuras un servidor que requiere OAuth, Bob muestra una solicitud de autenticación en la configuración de MCP. Puedes hacer clic en el botón para abrir tu proveedor de identidad en una ventana del navegador, completar el inicio de sesión y aprobar los permisos. Bob almacena y renueva tus tokens de acceso sin necesidad de que gestiones las credenciales manualmente.

Usa OAuth cuando:

  • Necesitas acceder a recursos asociados con tu cuenta de usuario personal o empresarial
  • El servidor usa tokens de corta duración que requieren renovación automática
  • Quieres mantener las credenciales estáticas y los secretos fuera de tus archivos de configuración

Cuando ya tienes un token API estático o un token de acceso personal que no caduca, puedes usar un token Bearer en headers en su lugar.

Cómo funciona el flujo de autenticación

  1. Añades la URL del servidor MCP remoto a tu archivo de configuración sin credenciales en headers ni env.
  2. Cuando Bob se conecta al servidor, Bob detecta los requisitos de OAuth.
  3. Bob abre una ventana de inicio de sesión en el navegador donde revisas los permisos solicitados y apruebas el acceso.
  4. Bob recibe los tokens de autorización y los almacena de forma segura entre tus sesiones.
  5. Bob renueva automáticamente los tokens antes de que expiren para que puedas trabajar sin interrupciones.
Bob IDE                     Authorization Server              MCP Server
   |                                |                               |
   |-- connect to server ---------->|                               |
   |<-- OAuth metadata (401) -------|                               |
   |-- open auth prompt ----------->|                               |
   |   (user signs in & consents)   |                               |
   |<-- authorization code ---------|                               |
   |-- exchange for tokens -------->|                               |
   |<-- access + refresh tokens ----|                               |
   |-- authenticated requests --------------------------------->    |
   |   (auto-refresh when needed)                                   |

Configurar un servidor habilitado para OAuth

Puedes configurar tus servidores MCP en tu configuración global (~/.bob/mcp_settings.json) o en la configuración de proyecto (.bob/mcp.json).

Configuración mínima (descubrimiento automático)

Cuando tu servidor MCP proporciona descubrimiento automático de metadatos OAuth, solo necesitas especificar la url:

{
  "mcpServers": {
    "my-oauth-server": {
      "url": "https://mcp.example.com/mcp"
    }
  }
}

Bob detecta los requisitos de OAuth al conectarse y te guía a través del proceso de inicio de sesión en el navegador.

Parámetros OAuth personalizados

Cuando tu proveedor de identidad requiere un ID de cliente preregistrado, ámbitos personalizados o un secreto de cliente, configura el objeto oauth:

{
  "mcpServers": {
    "my-oauth-server": {
      "url": "https://mcp.example.com/mcp",
      "oauth": {
        "enabled": true,
        "clientId": "your-client-id-from-idp",
        "clientSecret": "your-client-secret-if-required",
        "scope": "mcp:connect read:data"
      }
    }
  }
}

Propiedades de configuración

PropiedadTipoDescripción
urlstringURL del endpoint MCP remoto (requerido).
oauth.enabledbooleanEstablece false para deshabilitar OAuth, o true para requerir OAuth. Habilitado por defecto cuando no hay cabecera Authorization presente.
oauth.clientIdstringID de cliente OAuth preregistrado emitido por tu proveedor de identidad.
oauth.clientSecretstringSecreto de cliente OAuth, si tu servidor de autorización lo requiere para clientes confidenciales.
oauth.scopestringLista de ámbitos OAuth separados por espacios que deseas solicitar.
Advertencia:

Añadir una cabecera Authorization estática a la configuración de un servidor MCP desactiva OAuth. Cuando hay una cabecera Authorization presente, Bob no inicia el flujo OAuth. Cuando OAuth está activo, Bob elimina las cabeceras Authorization estáticas antes de enviar solicitudes. Usa solo un método de autenticación por servidor.

Registrar Bob con tu proveedor de identidad

Cuando tu proveedor de identidad (IdP) requiere que registres Bob como aplicación cliente antes de conectarte, usa los siguientes ajustes de aplicación:

AjusteValor
Tipo de aplicación o clientePúblico, Nativo o Loopback (Authorization Code con PKCE)
URI de redirecciónhttp://127.0.0.1:33418/callback
URIs de redirección adicionaleshttp://127.0.0.1:33419/callback hasta http://127.0.0.1:33427/callback (recomendado si el puerto 33418 está en uso)
Tipos de concesiónAuthorization Code (authorization_code) y Refresh Token (refresh_token)
ÁmbitosÁmbitos especificados en la documentación de tu servidor MCP

Copia el ID de cliente emitido en oauth.clientId en tu archivo de configuración.

Autenticar cuando se solicite

Cuando te conectas a un servidor habilitado para OAuth por primera vez:

  1. Revisa el mensaje de autenticación que se abre en el IDE o en tu navegador.
  2. Verifica los permisos que solicita el servidor.
  3. Inicia sesión en tu cuenta y aprueba el acceso.
  4. Bob guarda tus credenciales y se conecta a las herramientas del servidor.

Ver y gestionar el estado de autenticación

Puedes verificar o cambiar la autenticación de un servidor MCP:

  1. Haz clic en el icono en el panel de Bob.
  2. Selecciona la pestaña MCP.
  3. Localiza el servidor en la lista.

Los servidores conectados muestran un indicador de estado. Cuando la autenticación caduca o los permisos cambian, puedes actualizar tu conexión.

Para volver a autenticar: Haz clic en junto al nombre del servidor para reiniciar la conexión e iniciar sesión de nuevo.

Solución de problemas

El mensaje de autenticación no se abre

  • Verifica que no hayas marcado el servidor como deshabilitado en tu configuración.
  • Comprueba que tu archivo de configuración no incluya una cabecera Authorization estática en headers.
  • Reinicia el servidor desde la pestaña de configuración de MCP.
  • Comprueba que tu navegador o firewall no bloquee las conexiones de loopback local en 127.0.0.1.

El proveedor de identidad devuelve un error de URI de redirección no coincidente

  • Verifica que el registro de cliente de tu proveedor de identidad incluya http://127.0.0.1:33418/callback.
  • Si el puerto 33418 está ocupado, registra puertos adicionales del 33419 al 33427.

La autenticación tiene éxito pero el servidor no se conecta

  • Verifica que la URL del servidor sea correcta y accesible desde tu red.
  • Comprueba que aprobaste todos los ámbitos requeridos durante el paso de inicio de sesión.
  • Revisa los logs del servidor o la documentación para requisitos de roles o permisos previos.

Los tokens expiran frecuentemente y debes volver a autenticar

  • Confirma que tu servidor de autorización emite tokens de actualización.
  • Comprueba que el reloj de tu sistema esté sincronizado para evitar la expiración prematura de tokens.

Quieres cerrar sesión o cambiar de cuenta

Reiniciar el servidor no borra las credenciales de OAuth. Para cerrar sesión o cambiar de cuenta, usa Restablecer auth desde la pestaña de configuración de MCP. Esto borra los tokens almacenados y activa un nuevo mensaje de autenticación en la próxima conexión.

¿Cómo es este tema?