Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat
MCP SunucularıGoogle Workspace MCP

Google Workspace MCP

LibreChat içinde Gmail, Drive, Calendar, People ve Chat için Google'ın uzak Workspace MCP sunucularını yapılandırın.

Google, Google Workspace ürünleri için uzak Model Context Protocol (MCP) sunucuları sağlar. LibreChat'te her bir Google Workspace ürünü, kendi OAuth özellikli uzak MCP sunucusu olarak yapılandırılır.

Geliştirici Önizlemesi

Google, Workspace MCP sunucularını Google Workspace Geliştirici Önizleme Programı'nın bir parçası olarak işaretlemektedir. Bunu geniş çapta dağıtmadan önce Google'ın güncel belgelerini inceleyin; çünkü mevcut ürünler, kapsamlar ve doğrulama gereksinimleri değişebilir.

Yapılandıracaklarınız

Google Workspace MCP tek bir birleşik sunucu değildir. Yalnızca kullanıcılara sunmak istediğiniz ürünleri yapılandırın:

ÜrünMCP sunucu URL'si
Gmailhttps://gmailmcp.googleapis.com/mcp/v1
Google Drivehttps://drivemcp.googleapis.com/mcp/v1
Google Calendarhttps://calendarmcp.googleapis.com/mcp/v1
People APIhttps://people.googleapis.com/mcp/v1
Google Chathttps://chatmcp.googleapis.com/mcp/v1

Her kullanıcı, LibreChat arayüzünden her sunucuya bağlanır. LibreChat, OAuth belirteçlerini kullanıcı bazında saklar; bu nedenle Gmail, Drive, Takvim, Kişiler ve Sohbet erişimi, bağlantıyı yetkilendiren Google hesabını takip eder.

Ön Koşullar

  • Bir Google Cloud projesi.
  • Bu projede API'leri etkinleştirme ve OAuth istemcileri oluşturma izni.
  • gcloud yüklü ve kimlik doğrulaması yapılmış veya Google Cloud konsoluna erişim.
  • librechat.yaml dosyasının bağlandığı veya başka bir şekilde yüklendiği çalışan bir LibreChat örneği.
  • Kullanıcıların LibreChat'i açmak için kullandıkları genel temel URL; örneğin yerel geliştirme için http://localhost:3080 veya üretim ortamı için https://chat.example.com.

OAuth geri çağırma yolu

LibreChat'in MCP OAuth geri çağırma yolu BASE_URL/api/mcp/SERVER_NAME/oauth/callback şeklindedir. SERVER_NAME, librechat.yaml içindeki mcpServers altında bulunan, gmail veya drive gibi anahtardır.

Kurulum

Google Workspace API'lerini etkinleştirin

PROJECT_ID ifadesini Google Cloud proje kimliğinizle (project ID) değiştirin:

gcloud services enable gmail.googleapis.com \
  drive.googleapis.com \
  calendar-json.googleapis.com \
  chat.googleapis.com \
  people.googleapis.com \
  --project=PROJECT_ID

Google Workspace MCP servislerini etkinleştirin

Yapılandırmayı planladığınız ürünler için MCP servislerini etkinleştirin:

gcloud services enable gmailmcp.googleapis.com \
  drivemcp.googleapis.com \
  calendarmcp.googleapis.com \
  chatmcp.googleapis.com \
  people.googleapis.com \
  --project=PROJECT_ID

Google Chat'i yapılandırın, gerekirse

Google Chat MCP sunucusu, aynı Google Cloud projesinde bir Chat uygulaması gerektirir.

Google Cloud konsolunda Google Chat API > Manage > Configuration kısmını açın ve bir Chat uygulaması oluşturun:

  • Uygulama adı: Chat MCP
  • Avatar URL: https://developers.google.com/chat/images/quickstart-app-avatar.png
  • Açıklama: Chat MCP server
  • İşlevsellik: Enable interactive features seçeneğini kapatın
  • Günlükler: Hataları Günlüğe Kaydet (Log errors to Logging) seçeneğini seçin

Kaydet'e tıklayın.

Sohbet için Workspace hesabı gerekli

Google Chat uygulaması yapılandırması, bireysel Google hesapları için kullanılamayabilir. Eğer konsol, Google Chat API'sinin yalnızca Google Workspace kullanıcıları için mevcut olduğunu belirtiyorsa, chat MCP sunucusunu atlayın veya Workspace destekli bir proje/hesap kullanın.

Google Auth Platform'u Yapılandırın

Google Cloud konsolunda Google Auth Platform kısmına gidin.

Google Auth Platform henüz yapılandırılmadıysa, Get Started düğmesine tıklayın ve şunları sağlayın:

  • Uygulama adı: LibreChat Google Workspace MCP gibi net bir ad kullanın.
  • Kullanıcı destek e-postası: destek e-postanız veya Google grubunuz.
  • Audience: Bir Google Workspace kuruluşu için Internal (Dahili) seçeneğini veya kullanıcılar kuruluşunuzun dışındaysa ya da kişisel bir Google hesabı kullanıyorsanız External (Harici) seçeneğini belirleyin.
  • Geliştirici iletişim bilgileri: Google'ın proje hakkında sizi bilgilendirebileceği bir e-posta adresi.

External seçeneğini seçer ve uygulamayı test modunda tutarsanız, kendinizi ve izin verilen diğer kullanıcıları Audience > Test users altında ekleyin.

Veri Erişimi kapsamları ekleyin

Data Access > Add or Remove Scopes kısmını açın. Manually add scopes altında, kullanmak istediğiniz sunucular için kapsamları (scopes) yapıştırın.

https://www.googleapis.com/auth/gmail.readonly
https://www.googleapis.com/auth/gmail.compose
https://www.googleapis.com/auth/drive.readonly
https://www.googleapis.com/auth/drive.file
https://www.googleapis.com/auth/calendar.calendarlist.readonly
https://www.googleapis.com/auth/calendar.events.freebusy
https://www.googleapis.com/auth/calendar.events.readonly
https://www.googleapis.com/auth/directory.readonly
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/contacts.readonly
https://www.googleapis.com/auth/chat.spaces.readonly
https://www.googleapis.com/auth/chat.memberships.readonly
https://www.googleapis.com/auth/chat.messages.readonly
https://www.googleapis.com/auth/chat.messages.create
https://www.googleapis.com/auth/chat.users.readstate.readonly

Tabloya Ekle'ye, Güncelle'ye ve ardından Kaydet'e tıklayın.

Hassas ve kısıtlı kapsamlar

Gmail, Drive, Chat, Contacts ve Directory kapsamları, Google'ın hassas veya kısıtlı kapsam incelemesini tetikleyebilir. Kişisel veya sınırlı geliştirme amaçlı kullanımlarda, kullanıcılar doğrulanmamış uygulama uyarısı ve 100 kullanıcı sınırı ile karşılaşabilirler. Genel veya kuruluş çapında kullanım için Google'ın OAuth doğrulama sürecini ve gerekli tüm kısıtlı kapsam incelemelerini tamamlayın.

Bir Web uygulaması OAuth istemcisi oluşturun

Google Auth Platform > Clients kısmında bir OAuth istemcisi oluşturun:

  • Uygulama türü: Web application
  • Name: açıklayıcı bir isim kullanın, örneğin LibreChat Google Workspace MCP

Yapılandırdığınız her sunucu için yetkili bir yönlendirme URI'si ekleyin. Yerel geliştirme için:

http://localhost:3080/api/mcp/gmail/oauth/callback
http://localhost:3080/api/mcp/drive/oauth/callback
http://localhost:3080/api/mcp/calendar/oauth/callback
http://localhost:3080/api/mcp/people/oauth/callback
http://localhost:3080/api/mcp/chat/oauth/callback

Üretim ortamı için http://localhost:3080 adresini kendi LibreChat URL'niz ile değiştirin:

https://chat.example.com/api/mcp/gmail/oauth/callback

Create öğesine tıklayın, ardından Client ID ve Client secret bilgilerini kopyalayın.

OAuth kimlik bilgilerini .env dosyasına ekleyin

OAuth istemci değerlerini LibreChat .env dosyanıza ekleyin:

GOOGLE_WORKSPACE_MCP_CLIENT_ID=your-oauth-client-id
GOOGLE_WORKSPACE_MCP_CLIENT_SECRET=your-oauth-client-secret

librechat.yaml referanslarını da güncellemeniz durumunda farklı ortam değişkeni isimleri kullanabilirsiniz.

MCP sunucularını librechat.yaml dosyasına ekleyin

mcpServers altında istediğiniz sunucuları ekleyin. Bu örnek, şu anda belgelenmiş olan tüm Google Workspace MCP sunucularını kullanmaktadır:

mcpServers:
  gmail:
    type: streamable-http
    url: 'https://gmailmcp.googleapis.com/mcp/v1'
    timeout: 60000
    initTimeout: 150000
    requiresOAuth: true
    startup: false
    oauth:
      authorization_url: 'https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&prompt=consent'
      token_url: 'https://oauth2.googleapis.com/token'
      client_id: '${GOOGLE_WORKSPACE_MCP_CLIENT_ID}'
      client_secret: '${GOOGLE_WORKSPACE_MCP_CLIENT_SECRET}'
      scope: 'https://www.googleapis.com/auth/gmail.readonly https://www.googleapis.com/auth/gmail.compose'
      redirect_uri: 'http://localhost:3080/api/mcp/gmail/oauth/callback'
      token_exchange_method: default_post
      token_endpoint_auth_methods_supported: ['client_secret_post']

  drive:
    type: streamable-http
    url: 'https://drivemcp.googleapis.com/mcp/v1'
    timeout: 60000
    initTimeout: 150000
    requiresOAuth: true
    startup: false
    oauth:
      authorization_url: 'https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&prompt=consent'
      token_url: 'https://oauth2.googleapis.com/token'
      client_id: '${GOOGLE_WORKSPACE_MCP_CLIENT_ID}'
      client_secret: '${GOOGLE_WORKSPACE_MCP_CLIENT_SECRET}'
      scope: 'https://www.googleapis.com/auth/drive.readonly https://www.googleapis.com/auth/drive.file'
      redirect_uri: 'http://localhost:3080/api/mcp/drive/oauth/callback'
      token_exchange_method: default_post
      token_endpoint_auth_methods_supported: ['client_secret_post']

  calendar:
    type: streamable-http
    url: 'https://calendarmcp.googleapis.com/mcp/v1'
    timeout: 60000
    initTimeout: 150000
    requiresOAuth: true
    startup: false
    oauth:
      authorization_url: 'https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&prompt=consent'
      token_url: 'https://oauth2.googleapis.com/token'
      client_id: '${GOOGLE_WORKSPACE_MCP_CLIENT_ID}'
      client_secret: '${GOOGLE_WORKSPACE_MCP_CLIENT_SECRET}'
      scope: 'https://www.googleapis.com/auth/calendar.calendarlist.readonly https://www.googleapis.com/auth/calendar.events.freebusy https://www.googleapis.com/auth/calendar.events.readonly'
      redirect_uri: 'http://localhost:3080/api/mcp/calendar/oauth/callback'
      token_exchange_method: default_post
      token_endpoint_auth_methods_supported: ['client_secret_post']

  people:
    type: streamable-http
    url: 'https://people.googleapis.com/mcp/v1'
    timeout: 60000
    initTimeout: 150000
    requiresOAuth: true
    startup: false
    oauth:
      authorization_url: 'https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&prompt=consent'
      token_url: 'https://oauth2.googleapis.com/token'
      client_id: '${GOOGLE_WORKSPACE_MCP_CLIENT_ID}'
      client_secret: '${GOOGLE_WORKSPACE_MCP_CLIENT_SECRET}'
      scope: 'https://www.googleapis.com/auth/directory.readonly https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/contacts.readonly'
      redirect_uri: 'http://localhost:3080/api/mcp/people/oauth/callback'
      token_exchange_method: default_post
      token_endpoint_auth_methods_supported: ['client_secret_post']

  chat:
    type: streamable-http
    url: 'https://chatmcp.googleapis.com/mcp/v1'
    timeout: 60000
    initTimeout: 150000
    requiresOAuth: true
    startup: false
    oauth:
      authorization_url: 'https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&prompt=consent'
      token_url: 'https://oauth2.googleapis.com/token'
      client_id: '${GOOGLE_WORKSPACE_MCP_CLIENT_ID}'
      client_secret: '${GOOGLE_WORKSPACE_MCP_CLIENT_SECRET}'
      scope: 'https://www.googleapis.com/auth/chat.spaces.readonly https://www.googleapis.com/auth/chat.memberships.readonly https://www.googleapis.com/auth/chat.messages.readonly https://www.googleapis.com/auth/chat.messages.create https://www.googleapis.com/auth/chat.users.readstate.readonly'
      redirect_uri: 'http://localhost:3080/api/mcp/chat/oauth/callback'
      token_exchange_method: default_post
      token_endpoint_auth_methods_supported: ['client_secret_post']

LibreChat herkese açık bir URL'de dağıtılmışsa, her redirect_uri değerini Google Cloud'da kayıtlı olan yönlendirme URI'si ile tam olarak eşleşecek şekilde güncelleyin.

Katı MCP etki alanı izin listeleri

Eğer librechat.yaml dosyanız aynı zamanda mcpSettings.allowedDomains yapılandırmasını da içeriyorsa, kullandığınız Google MCP ana bilgisayarlarını (örneğin gmailmcp.googleapis.com, drivemcp.googleapis.com, calendarmcp.googleapis.com, chatmcp.googleapis.com ve people.googleapis.com) ekleyin.

LibreChat'i Yeniden Başlatın

.env ve librechat.yaml dosyalarını yeniden yüklemesi için LibreChat'i yeniden başlatın.

DağıtımKomut
Dockerdocker compose up -d
YerelSunucuyu durdurun, ardından tekrar başlatın

Docker içinde yüklenen sunucuları doğrulamak için API günlüklerini kontrol edin:

docker logs LibreChat --tail 200 | grep MCP

LibreChat içindeki her sunucuyu bağlayın

LibreChat'i açın, ardından sohbet girişindeki MCP Settings veya MCP Servers açılır menüsünü açın.

Her bir Google Workspace sunucusu için:

  1. Connect düğmesine tıklayın.
  2. Tarayıcıda Google OAuth akışını tamamlayın.
  3. İstenen kapsamları gözden geçirin.
  4. İzin Ver'e tıklayın.

OAuth başarılı olduktan sonra, sunucunun araçları sohbet içinde ve Agent Builder'da kullanılabilir hale gelir.

Test Etme

Her seferinde tek bir sunucuyu hedefleyen istemleri deneyin:

Sunucuİstemi
People"Google profilime göre adım ne?"
Drive"Marketing Plan adlı dosyayı bul ve özetle."
Gmail"Pazarlama planı hakkındaki son e-postamı bul."
Gmail"[email protected] adresine pazarlama planını onayladığımı belirten bir e-posta taslağı hazırla."
Calendar"Ariel ile bir sonraki toplantım ne zaman?"
Chat"Pazarlama planı hakkındaki son Google Chat mesajlarını ara."

Sorun Giderme

BelirtiKontrol Edilmesi Gerekenler
Google redirect_uri_mismatch hatası veriyorGoogle OAuth istemcisi yönlendirme URI'si, protokol, ana bilgisayar adı, bağlantı noktası, sunucu adı ve yol dahil olmak üzere librechat.yaml içindeki redirect_uri ile tam olarak eşleşmelidir.
LibreChat sunucuyu gösteriyor ancak araçlar yokSunucuyu LibreChat arayüzünden bağlayın. OAuth özellikli uzak sunucular, kullanıcı kimlik doğrulamasını tamamladıktan sonra araçları kullanıma sunar.
Google doğrulanmamış uygulama uyarısı gösteriyorBu, hassas veya kısıtlı kapsamlar talep eden doğrulanmamış uygulamalar için beklenen bir durumdur. Kişisel veya sınırlı geliştirme kullanımı için kullanıcılar, proje Google'ın doğrulanmamış kullanıcı sınırına ulaşana kadar uyarıyı geçerek devam edebilirler.
OAuth test aşamasında çalışıyor ancak daha sonra süresi doluyorTest modundaki harici uygulamalar, 7 gün sonra süresi dolan yenileme belirteçleri alabilir. Daha uzun ömürlü yenileme belirteçleri için uygulamayı üretime alın veya geliştirme sırasında yeniden kimlik doğrulaması yapın.
Google Chat yapılandırması devre dışıChat için Google Workspace destekli bir proje/hesap kullanın veya chat sunucusunu atlayın.
MCP istekleri LibreChat etki alanı politikası tarafından engelleniyorEğer mcpSettings.allowedDomains yapılandırılmışsa, kullandığınız Google MCP sunucusu ana bilgisayar adlarını ekleyin.

Güvenlik Notları

  • Google Workspace MCP sunucularını yalnızca güvendiğiniz LibreChat örneklerine bağlayın.
  • Kullanıcılardan yalnızca gerçekten ihtiyaç duydukları ürünleri ve kapsamları talep edin.
  • E-posta göndermeden, Chat mesajları paylaşmadan, dosya yüklemeden veya takvim etkinliklerini değiştirmeden önce asistan tarafından önerilen eylemleri gözden geçirin.
  • E-posta iletilerini, belgeleri ve sohbet iletilerini güvenilmeyen girdi olarak değerlendirin. Bunlar, asistanı etkilemeye çalışan dolaylı istem enjeksiyonu (indirect prompt injection) girişimleri içerebilir.
  • Genel kullanıma açık veya kurum genelindeki dağıtımlar için Google OAuth doğrulamasını tamamlayın ve kurumunuzun üçüncü taraf uygulama erişim kontrollerini izleyin.

Bu rehber nasıl?