YapılandırmaMCP

MCP OAuth kimlik doğrulaması

OAuth 2.1 ile kullanıcı tarafından yetkilendirilmiş erişim gerektiren MCP sunucularına bağlanın. Bob, kimlik doğrulama ve token yenileme sürecini yönetir; token'ları manuel olarak yönetmenize gerek kalmaz.

Genel MCP yapılandırması için Bob'da MCP kullanma bölümüne bakın.

Genel bakış

Bob'u, kod repository'lerinize, bulut hizmetlerinize veya dahili araçlarınıza erişim gibi sizin adınıza hareket eden Model Context Protocol (MCP) sunucularına bağlayabilirsiniz. Bu sunucular OAuth 2.1 kullanır; böylece oturum açıp erişimi onaylayabilirsiniz.

Bob, kimlik doğrulama akışını doğrudan yönetir. OAuth gerektiren bir sunucu yapılandırdığınızda Bob, MCP ayarlarında bir kimlik doğrulama isteği görüntüler. Tarayıcı penceresinde kimlik sağlayıcınızı açmak, oturum açmayı tamamlamak ve izinleri onaylamak için düğmeye tıklayabilirsiniz. Bob, kimlik bilgilerini manuel olarak yönetmenizi gerektirmeden erişim token'larınızı depolar ve yeniler.

Şu durumlarda OAuth kullanın:

  • Kişisel veya kurumsal kullanıcı hesabınızla ilişkili kaynaklara erişmeniz gerektiğinde
  • Sunucu, otomatik token yenileme gerektiren kısa ömürlü token'lar kullandığında
  • Statik kimlik bilgilerini ve gizli anahtarları yapılandırma dosyalarınızın dışında tutmak istediğinizde

Süresi dolmayan statik bir API token'ı veya kişisel erişim token'ınız zaten varsa, headers içinde bir Bearer token kullanabilirsiniz.

Kimlik doğrulama akışı nasıl çalışır

  1. headers veya env kimlik bilgileri olmadan uzak MCP sunucusu URL'sini yapılandırma dosyanıza ekleyin.
  2. Bob sunucuya bağlandığında OAuth gereksinimlerini algılar.
  3. Bob, istenen izinleri inceleyebileceğiniz ve erişimi onaylayabileceğiniz bir tarayıcı oturum açma penceresi açar.
  4. Bob, yetkilendirme token'larını alır ve bunları oturumlarınız arasında güvenli şekilde depolar.
  5. Bob, kesintisiz çalışabilmeniz için token'ları süresi dolmadan önce otomatik olarak yeniler.
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)                                   |

OAuth etkin bir sunucu yapılandırma

MCP sunucularınızı global yapılandırmanızda (~/.bob/mcp_settings.json) veya proje yapılandırmanızda (.bob/mcp.json) yapılandırabilirsiniz.

Minimum yapılandırma (otomatik keşif)

MCP sunucunuz otomatik OAuth meta veri keşfini desteklediğinde, yalnızca url belirtmeniz yeterlidir:

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

Bob, bağlantı kurulduğunda OAuth gereksinimlerini algılar ve sizi tarayıcı oturum açma sürecinde yönlendirir.

Özel OAuth parametreleri

Kimlik sağlayıcınız önceden kaydedilmiş bir istemci kimliği, özel kapsamlar veya istemci gizli anahtarı gerektirdiğinde oauth nesnesini yapılandırın:

{
  "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"
      }
    }
  }
}

Yapılandırma özellikleri

ÖzellikTürAçıklama
urlstringUzak MCP endpoint URL'si (gerekli).
oauth.enabledbooleanOAuth'u devre dışı bırakmak için false, OAuth'u zorunlu kılmak için true olarak ayarlayın. Authorization başlığı olmadığında varsayılan olarak etkindir.
oauth.clientIdstringKimlik sağlayıcınız tarafından verilen önceden kaydedilmiş OAuth istemci kimliği.
oauth.clientSecretstringYetkilendirme sunucunuz gizli istemciler için gerektiriyorsa OAuth istemci gizli anahtarı.
oauth.scopestringİstediğiniz OAuth kapsamlarının boşlukla ayrılmış listesi.
Uyarı:

Bir MCP sunucusu yapılandırmasına statik Authorization başlığı eklemek OAuth'u devre dışı bırakır. Authorization başlığı mevcut olduğunda Bob OAuth akışını başlatmaz. OAuth etkin olduğunda Bob, istek göndermeden önce statik Authorization başlıklarını kaldırır. Sunucu başına yalnızca bir kimlik doğrulama yöntemi kullanın.

Bob'u kimlik sağlayıcınıza kaydetme

Kimlik sağlayıcınız (IdP) bağlanmadan önce Bob'u bir istemci uygulaması olarak kaydetmenizi gerektirdiğinde, aşağıdaki uygulama ayarlarını kullanın:

AyarDeğer
Uygulama veya istemci türüPublic, Native veya Loopback (PKCE'li Authorization Code)
Yönlendirme URIhttp://127.0.0.1:33418/callback
Ek yönlendirme URI'lerihttp://127.0.0.1:33419/callback ile http://127.0.0.1:33427/callback arasındaki adresleri ekleyin (33418 portu kullanımdaysa önerilir)
Yetki türleriAuthorization Code (authorization_code) ve Refresh Token (refresh_token)
KapsamlarMCP sunucusu belgelerinde belirtilen kapsamlar

Verilen istemci kimliğini yapılandırma dosyanızdaki oauth.clientId alanına kopyalayın.

İstendiğinde kimlik doğrulama

OAuth etkin bir sunucuya ilk kez bağlandığınızda:

  1. IDE'de veya tarayıcınızda açılan kimlik doğrulama istemini inceleyin.
  2. Sunucunun talep ettiği izinleri doğrulayın.
  3. Hesabınıza oturum açın ve erişimi onaylayın.
  4. Bob kimlik bilgilerinizi kaydeder ve sunucu araçlarına bağlanır.

Kimlik doğrulama durumunu görüntüleme ve yönetme

Bir MCP sunucusu için kimlik doğrulamayı kontrol edebilir veya değiştirebilirsiniz:

  1. Bob panelinde simgesine tıklayın.
  2. MCP sekmesini seçin.
  3. Listede sunucuyu bulun.

Bağlı sunucular bir durum göstergesi görüntüler. Kimlik doğrulamanın süresi dolduğunda veya izinler değiştiğinde bağlantınızı güncelleyebilirsiniz.

Yeniden kimlik doğrulamak için: Bağlantınızı yeniden başlatmak ve tekrar oturum açmak için sunucu adının yanındaki simgesine tıklayın.

Sorun giderme

Kimlik doğrulama istemi açılmıyor

  • Yapılandırmanızda sunucuyu devre dışı olarak işaretlemediğinizi doğrulayın.
  • Yapılandırma dosyanızın headers içinde statik bir Authorization başlığı içermediğini kontrol edin.
  • MCP ayarları sekmesinden sunucuyu yeniden başlatın.
  • Tarayıcınızın veya güvenlik duvarınızın 127.0.0.1 üzerindeki yerel loopback bağlantılarını engellemediğini kontrol edin.

Kimlik sağlayıcı yönlendirme URI'si uyuşmazlığı hatası döndürüyor

  • Kimlik sağlayıcı istemci kaydınızın http://127.0.0.1:33418/callback adresini içerdiğini doğrulayın.
  • 33418 portu meşgulse, 33419 ile 33427 arasındaki ek portları kaydedin.

Kimlik doğrulama başarılı ancak sunucu bağlanamıyor

  • Sunucu URL'sinin doğru ve ağınızdan erişilebilir olduğunu doğrulayın.
  • Oturum açma adımında gerekli tüm kapsamları onayladığınızı kontrol edin.
  • Ön koşul kullanıcı rolleri veya izinleri için sunucu loglarını veya belgelerini inceleyin.

Token'lar sık sık sona eriyor ve yeniden kimlik doğrulama yapmanız gerekiyor

  • Yetkilendirme sunucunuzun yenileme token'ları verdiğini onaylayın.
  • Erken token süresinin dolmasını önlemek için sistem saatinizin senkronize olduğunu kontrol edin.

Oturumu kapatmak veya hesap değiştirmek istiyorsunuz

Sunucuyu yeniden başlatmak OAuth kimlik bilgilerini temizlemez. Oturumu kapatmak veya hesap değiştirmek için MCP ayarları sekmesinden Kimlik doğrulamayı sıfırla'yı kullanın. Bu, saklanan token'ları temizler ve bir sonraki bağlantıda yeni bir kimlik doğrulama istemi tetikler.

Bu konu nasıl?