Autenticação OAuth MCP
Conecte-se a servidores MCP que requerem acesso delegado pelo usuário com OAuth 2.1. Bob gerencia o processo de autenticação e renovação de tokens para que você não precise gerenciar tokens manualmente.
Para configuração geral de MCP, consulte Usar MCP no Bob.
Visão geral
Você pode conectar o Bob a servidores Model Context Protocol (MCP) que atuam em seu nome, como acessar seus repositórios de código, serviços de nuvem ou ferramentas internas. Esses servidores usam OAuth 2.1 para que você possa fazer login e aprovar o acesso.
Bob gerencia o fluxo de autenticação diretamente. Quando você configura um servidor que requer OAuth, Bob exibe uma solicitação de autenticação nas configurações MCP. Você pode clicar no botão para abrir seu provedor de identidade em uma janela do navegador, concluir o login e aprovar as permissões. Bob armazena e renova seus tokens de acesso sem exigir que você gerencie credenciais manualmente.
Use OAuth quando:
- Você precisa acessar recursos associados à sua conta de usuário pessoal ou empresarial
- O servidor usa tokens de curta duração que requerem renovação automática de tokens
- Você quer manter credenciais estáticas e segredos fora dos seus arquivos de configuração
Quando você já tiver um token de API estático ou token de acesso pessoal que não expira, você pode usar um Bearer token em headers em vez disso.
Como funciona o fluxo de autenticação
- Você adiciona a URL do servidor MCP remoto ao seu arquivo de configuração sem credenciais
headersouenv. - Quando Bob se conecta ao servidor, Bob detecta os requisitos OAuth.
- Bob abre uma janela de login no navegador onde você revisa as permissões solicitadas e aprova o acesso.
- Bob recebe os tokens de autorização e os armazena com segurança em suas sessões.
- Bob renova automaticamente os tokens antes de expirarem para que você possa trabalhar sem interrupção.
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 um servidor habilitado para OAuth
Você pode configurar seus servidores MCP na configuração global (~/.bob/mcp_settings.json) ou na configuração do projeto (.bob/mcp.json).
Configuração mínima (descoberta automática)
Quando seu servidor MCP fornece descoberta automática de metadados OAuth, você só precisa especificar a url:
{
"mcpServers": {
"my-oauth-server": {
"url": "https://mcp.example.com/mcp"
}
}
}Bob detecta os requisitos OAuth ao se conectar e guia você pelo processo de login no navegador.
Parâmetros OAuth personalizados
Quando seu provedor de identidade requer um client ID pré-registrado, escopos personalizados ou um client secret, configure o 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"
}
}
}
}Propriedades de configuração
| Propriedade | Tipo | Descrição |
|---|---|---|
url | string | URL do endpoint MCP remoto (obrigatório). |
oauth.enabled | boolean | Defina como false para desabilitar OAuth, ou true para exigir OAuth. Habilitado por padrão quando nenhum cabeçalho Authorization está presente. |
oauth.clientId | string | Client ID OAuth pré-registrado emitido pelo seu provedor de identidade. |
oauth.clientSecret | string | Client secret OAuth, se seu servidor de autorização exigir para clientes confidenciais. |
oauth.scope | string | Lista de escopos OAuth separados por espaço que você deseja solicitar. |
Adicionar um cabeçalho Authorization estático a uma configuração de servidor MCP desativa o OAuth. Quando um cabeçalho Authorization está presente, Bob não inicia o fluxo OAuth. Quando o OAuth está ativo, Bob remove cabeçalhos Authorization estáticos antes de enviar requisições. Use apenas um método de autenticação por servidor.
Registrar o Bob no seu provedor de identidade
Quando seu provedor de identidade (IdP) exige que você registre o Bob como um aplicativo cliente antes de se conectar, use as seguintes configurações de aplicativo:
| Configuração | Valor |
|---|---|
| Tipo de aplicativo ou cliente | Público, Nativo ou Loopback (Authorization Code com PKCE) |
| URI de redirecionamento | http://127.0.0.1:33418/callback |
| URIs de redirecionamento adicionais | http://127.0.0.1:33419/callback até http://127.0.0.1:33427/callback (recomendado se a porta 33418 estiver em uso) |
| Tipos de concessão | Authorization Code (authorization_code) e Refresh Token (refresh_token) |
| Escopos | Escopos especificados na documentação do seu servidor MCP |
Copie o client ID emitido para oauth.clientId no seu arquivo de configuração.
Autenticar quando solicitado
Quando você se conecta a um servidor habilitado para OAuth pela primeira vez:
- Revise o prompt de autenticação que abre no IDE ou no seu navegador.
- Verifique as permissões que o servidor solicita.
- Faça login na sua conta e aprove o acesso.
- Bob salva suas credenciais e conecta às ferramentas do servidor.
Visualizar e gerenciar status de autenticação
Você pode verificar ou alterar a autenticação para um servidor MCP:
- Clique no ícone no painel Bob.
- Selecione a aba MCP.
- Localize o servidor na lista.
Servidores conectados exibem um indicador de status. Quando a autenticação expira ou as permissões mudam, você pode atualizar sua conexão.
Para reautenticar: Clique em ao lado do nome do servidor para reiniciar sua conexão e fazer login novamente.
Solução de problemas
O prompt de autenticação não abre
- Verifique se você não marcou o servidor como desabilitado na sua configuração.
- Verifique se o seu arquivo de configuração não inclui um cabeçalho
Authorizationestático emheaders. - Reinicie o servidor na aba de configurações MCP.
- Verifique se o seu navegador ou firewall não bloqueia conexões de loopback local em
127.0.0.1.
O provedor de identidade retorna um erro de incompatibilidade de URI de redirecionamento
- Verifique se o registro do cliente no seu provedor de identidade inclui
http://127.0.0.1:33418/callback. - Se a porta 33418 estiver ocupada, registre portas adicionais de
33419a33427.
Autenticação bem-sucedida mas o servidor falha ao conectar
- Verifique se a URL do servidor está correta e acessível a partir da sua rede.
- Verifique se você aprovou todos os escopos necessários durante a etapa de login.
- Consulte os logs ou a documentação do servidor para funções ou permissões de usuário pré-requisitas.
Tokens expiram frequentemente e você precisa se reautenticar
- Confirme que seu servidor de autorização emite refresh tokens.
- Verifique se o relógio do seu sistema está sincronizado para evitar expiração prematura de tokens.
Você quer sair ou trocar de conta
Reiniciar o servidor não limpa credenciais OAuth. Para sair ou trocar de conta, use Redefinir auth da aba de configurações MCP. Isso limpa os tokens armazenados e aciona um novo prompt de autenticação na próxima conexão.
Usando MCP no Bob
O Model Context Protocol (MCP) estende as capacidades do Bob conectando-se a ferramentas e serviços externos. Este guia mostra como configurar, gerenciar e usar servidores MCP com Bob.
Interface de chat
A interface de chat do Bob IDE é seu espaço de trabalho principal, onde você usa prompts em linguagem natural, comandos slash e aprovação automática para fluxos de trabalho de programação assistidos por IA.