Firebase MCP sunucusu

Yapay zeka destekli geliştirme araçlarının Firebase projelerinizle çalışabilmesi için Firebase MCP sunucusunu kullanabilirsiniz. Firebase MCP sunucusu; Claude Desktop, Cline, Cursor, Visual Studio Code Copilot ve Windsurf Editor gibi MCP istemcisi olarak işlev görebilen tüm araçlarla çalışır.

Firebase MCP sunucusunu kullanacak şekilde yapılandırılmış bir düzenleyici, yapay zeka özelliklerini kullanarak şunları yapmanıza yardımcı olabilir:

  • Firebase projeleri oluşturma ve yönetme
  • Firebase Authentication kullanıcılarınızı yönetme
  • Cloud Firestore ve Firebase Data Connect'teki verilerle çalışma
  • Firebase Data Connect şemalarını alma
  • Firestore ve Firebase için Cloud Storage'deki güvenlik kurallarınızı anlama
  • Firebase Cloud Messaging ile mesaj gönderme

Araçlardan bazıları, size yardımcı olmak için Firebase'de Gemini'ı kullanır:

  • Firebase Data Connect şeması ve işlemleri oluşturma
  • Firebase ürünleri hakkında Gemini'a danışma

Bunlar yalnızca kısmi listelerdir. Düzenleyicinizde kullanılabilecek araçların tam listesi için sunucu özellikleri bölümüne bakın.

Firebase MCP sunucusu araç çağrıları yaptığında, çalıştığı ortamda Firebase CLI'yi yetkilendiren kullanıcı kimlik bilgilerini kullanır. Bu, ortama bağlı olarak giriş yapmış bir kullanıcı veya Application Default Credentials olabilir.

Başlamadan önce

  1. Node.js ve npm'nin çalışır durumda yüklendiğinden emin olun.

  2. Aşağıdaki komutu çalıştırarak Firebase CLI'nin kimliğini doğrulayın:

    npx -y firebase-tools@latest login --reauth

    Firebase MCP sunucusu, Firebase projelerinizle kimlik doğrulama işlemlerini gerçekleştirmek için CLI'yı kullanır. MCP sunucusunu kullanmadan önce CLI ile kimliğinizi doğrulamanız gerekir. Sunucuyu oturum açmadan kullanmaya çalışırsanız veya kimlik doğrulama jetonunuzun süresi dolmuşsa sunucu, yeniden kimlik doğrulama yapmanızı isteyen bir hata mesajı yazdırır.

MCP istemcinizi ayarlama

Firebase MCP sunucusu, aktarım ortamı olarak standart I/O (stdio) özelliğini destekleyen tüm MCP istemcileriyle çalışabilir. Popüler araçlardan bazılarıyla ilgili özel talimatları aşağıda bulabilirsiniz:

Temel yapılandırma

Claude Desktop

Claude Desktop'u Firebase MCP sunucusunu kullanacak şekilde yapılandırmak için claude_desktop_config.json dosyasını düzenleyin. Bu dosyayı Claude > Ayarlar menüsünden açabilir veya oluşturabilirsiniz. Geliştirici sekmesini seçin, ardından Yapılandırmayı Düzenle'yi tıklayın.

{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "experimental:mcp"]
    }
  }
}

Cline

Cline'ı Firebase MCP sunucusunu kullanacak şekilde yapılandırmak için cline_mcp_settings.json dosyasını düzenleyin. Bu dosyayı, Cline bölmesinin üst kısmındaki MCP Sunucuları simgesini ve ardından MCP Sunucularını Yapılandır düğmesini tıklayarak açabilir veya oluşturabilirsiniz.

{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "experimental:mcp"],
      "disabled": false
    }
  }
}

İmleç

Cursor'ı Firebase MCP sunucusunu kullanacak şekilde yapılandırmak için .cursor/mcp.json dosyasını (yalnızca belirli bir projeyi yapılandırmak için) veya ~/.cursor/mcp.json dosyasını (MCP sunucusunu tüm projelerde kullanılabilir hale getirmek için) düzenleyin:

"mcpServers": {
  "firebase": {
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "experimental:mcp"]
   }
}

Firebase Studio

Firebase Studio'yu Firebase MCP sunucusunu kullanacak şekilde yapılandırmak için yapılandırma dosyalarını düzenleyin veya oluşturun:

  • Firebase sohbetinde Gemini, .idx/mcp.json kullanır.
  • Gemini KSA, .gemini/settings.json kullanır.

Dosya henüz yoksa ana dizini sağ tıklayıp Yeni dosya'yı seçerek dosyayı oluşturun. Dosyaya aşağıdaki içerikleri ekleyin:

{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "experimental:mcp"]
    }
  }
}

Visual Studio Code Copilot

Tek bir projeyi yapılandırmak için çalışma alanınızdaki .vscode/mcp.json dosyasını düzenleyin:

"servers": {
  "firebase": {
    "type": "stdio",
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "experimental:mcp"]
  }
}

Sunucuyu açtığınız her projede kullanılabilir hale getirmek için kullanıcı ayarlarınızı düzenleyin:

"mcp": {
  "servers": {
    "firebase": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "experimental:mcp"]
    }
  }
}

Windsurf Editor

Windsurf Editor'u yapılandırmak için dosyayı düzenleyin ~/.codeium/windsurf/mcp_config.json:

"mcpServers": {
  "firebase": {
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "experimental:mcp"]
  }
}

İsteğe bağlı yapılandırma

Daha önce gösterilen her istemci için temel yapılandırmaya ek olarak, belirleyebileceğiniz iki isteğe bağlı parametre vardır:

  • --dir ABSOLUTE_DIR_PATH: MCP sunucusu için proje bağlamı ayarlamak üzere firebase.json içeren bir dizinin mutlak yolu. Belirtilmemişse get_project_directory ve set_project_directory araçları kullanılabilir hale gelir ve varsayılan dizin, MCP sunucusunun başlatıldığı çalışma dizini olur.

  • --only FEATURE_1,FEATURE_2: Etkinleştirilecek özellik gruplarının virgülle ayrılmış listesi. Bunu, yalnızca aktif olarak kullandığınız özelliklere sunulan araçları sınırlamak için kullanın. Temel araçların her zaman kullanılabildiğini unutmayın.

Örneğin:

"firebase": {
  "command": "npx",
  "args": [
    "-y",
    "firebase-tools@latest", "experimental:mcp",
    "--dir", "/Users/turing/my-project",
    "--only", "auth,firestore,storage"
  ]
}

MCP sunucusu özellikleri

Aracın adı Özellik Grubu Açıklama
firebase_get_project core bölgesi Şu anda etkin olan Firebase projesiyle ilgili bilgileri alır.
firebase_list_apps core bölgesi Mevcut Firebase projesine kayıtlı uygulamaları alır.
firebase_get_admin_sdk_config core bölgesi Mevcut proje için Admin SDK yapılandırmasını alır.
firebase_list_projects core bölgesi Belirtilen toplam sayıya kadar olan Firebase projelerinin listesini alır.
firebase_get_sdk_config core bölgesi Belirtilen platform için Firebase SDK yapılandırma bilgilerini alır. Platform veya app_id belirtmeniz gerekir.
firebase_create_project core bölgesi Yeni bir Firebase projesi oluşturur.
firebase_create_app core bölgesi Web, iOS veya Android için Firebase projenizde yeni bir uygulama oluşturur.
firebase_create_android_sha core bölgesi Mevcut bir Android uygulamasına SHA sertifikası karması ekler.
firebase_consult_assistant core bölgesi Firebase ile ilgili soruları yanıtlamak için özel olarak geliştirilmiş bir yapay zeka asistanına soru gönderebilirsiniz.
firebase_get_environment core bölgesi Mevcut kimliği doğrulanmış kullanıcı, proje dizini ve etkin proje dahil olmak üzere mevcut Firebase ortamıyla ilgili bilgileri alır.
firebase_update_environment core bölgesi Proje dizini, etkin proje, etkin kullanıcı hesabı gibi Firebase ortam yapılandırmasını günceller. Şu anda yapılandırılmış ortamı görmek için firebase_get_environment simgesini kullanın.
firebase_init core bölgesi Çalışma alanında seçili Firebase özelliklerini (Firestore, Data Connect, Realtime Database) başlatır. Tüm özellikler isteğe bağlıdır. Yalnızca ayarlamak istediğiniz ürünleri sağlayın. Yeni özellikleri mevcut bir proje dizininde başlatabilirsiniz ancak mevcut bir özelliği yeniden başlatmak yapılandırmanın üzerine yazabilir. Başlatılan özellikleri dağıtmak için firebase_init aracından sonra firebase deploy komutunu çalıştırın.
firestore_delete_document firestore Tam belge yollarını kullanarak geçerli projedeki bir veritabanından Firestore belgelerini siler. Bir belgenin tam yolunu biliyorsanız bu seçeneği kullanın.
firestore_get_documents firestore Tam belge yollarını kullanarak mevcut projedeki bir veritabanından bir veya daha fazla Firestore belgesi alır. Bir belgenin tam yolunu biliyorsanız bu seçeneği kullanın.
firestore_list_collections firestore Mevcut projedeki bir Firestore veri tabanından koleksiyon listesini alır.
firestore_query_collection firestore Bir koleksiyondaki bir veya daha fazla Firestore belgesini tam belge yolu olan bir koleksiyonla mevcut projedeki bir veritabanından alır. Bir koleksiyonun tam yolunu ve belge için istediğiniz filtreleme koşulunu biliyorsanız bu yöntemi kullanın.
firestore_get_rules firestore Mevcut proje için etkin Firestore güvenlik kurallarını alır.
firestore_validate_rules firestore Sağlanan Firestore Kuralları kaynağında sözdizimi ve doğrulama hataları olup olmadığını kontrol eder. Doğrulanacak kaynak kodunu VEYA kaynak dosyasının yolunu girin.
auth_get_user auth E-posta adresine, telefon numarasına veya UID'ye göre kullanıcıyı alır.
auth_disable_user auth Kullanıcıları UID'ye göre devre dışı bırakır veya etkinleştirir.
auth_list_users auth Belirtilen sınıra kadar projedeki tüm kullanıcıları alır.
auth_set_claim auth Belirli bir kullanıcının hesabında özel bir talep ayarlar. Kullanıcıyla ilişkili güvenilir değerler oluşturmak için kullanılır (ör. kullanıcıyı yönetici olarak işaretleme). İddiaların boyutu sınırlıdır ve ad ile değer kısa olmalıdır. YALNIZCA value veya json_value parametrelerinden BİRİNİ belirtin.
auth_set_sms_region_policy auth Ülke kodlarının İZİN VER veya REDDET listesine göre kısa mesaj alabilecek bölgeleri kısıtlamak için Firebase Auth'ta bir SMS Bölge Politikası ayarlar. Bu politika, ayarlandığında mevcut tüm politikaları geçersiz kılar.
dataconnect_list_services dataconnect Mevcut projede kullanılabilen Firebase Data Connect hizmetlerini listeler.
dataconnect_generate_schema dataconnect Kullanıcıların bir uygulama açıklamasına göre Firebase Data Connect Şeması oluşturur.
dataconnect_generate_operation dataconnect Şu anda dağıtılan şemaya ve sağlanan isteme göre tek bir Firebase Data Connect sorgusu veya mutasyonu oluşturur.
dataconnect_get_schema dataconnect Projedeki Firebase Data Connect şemasıyla ilgili bilgileri (Cloud SQL veri kaynakları ve veri modelini açıklayan GraphQL şeması dahil) alın.
dataconnect_get_connectors dataconnect Projede, istemci SDK'larının erişebileceği önceden tanımlanmış GraphQL sorgularını içeren Firebase Data Connect bağlayıcılarını edinin.
dataconnect_execute_graphql dataconnect Bir Veri Bağlayıcı hizmetine veya emülatörüne karşı rastgele bir GraphQL sorgusu yürütür.
dataconnect_execute_graphql_read dataconnect Bir Data Connect hizmetine veya emülatörüne karşı rastgele bir GraphQL sorgusu yürütür. Veriler yazılamıyor.
dataconnect_execute_mutation dataconnect Bir hizmete veya emülatörüne karşı dağıtılmış bir Veri Bağlayıcı mutasyonunu yürütür. Verileri okuyabilir ve yazabilir.
dataconnect_execute_query dataconnect Dağıtılan bir Data Connect sorgusunu bir hizmete veya emülatörüne karşı yürütür. Veri yazılamıyor.
storage_get_rules depolama Mevcut proje için etkin Storage güvenlik kurallarını alır.
storage_validate_rules depolama Sağlanan depolama kuralları kaynağında söz dizimi ve doğrulama hataları olup olmadığını kontrol eder. Doğrulanacak kaynak kodunu VEYA kaynak dosyasının yolunu girin.
storage_get_object_download_url depolama Firebase Storage'daki bir nesnenin indirme URL'sini alır.
messaging_send_message mesajlaşma Firebase Cloud Messaging kayıt jetonuna veya konusuna mesaj gönderir. Belirli bir görüşmede YALNIZCA registration_token veya topic sağlanabilir.
remoteconfig_get_template remoteconfig Proje için bir Remote Config şablonu alır.
remoteconfig_publish_template remoteconfig Proje için yeni bir uzaktan yapılandırma şablonu yayınlar.
remoteconfig_rollback_template remoteconfig Bir proje için Remote Config şablonunun belirli bir sürümüne geri dönme
crashlytics_list_top_issues crashlytics Uygulamada gerçekleşen Crashlytics'teki en önemli kilitlenmeleri listele.
apphosting_fetch_logs apphosting Belirtilen bir App Hosting arka ucu için en son günlükleri getirir. buildLogs belirtilirse en son derlemeye ait derleme sürecindeki günlükler döndürülür. En son günlükler önce listelenir.
apphosting_list_backends apphosting Mevcut projedeki App Hosting arka uçlarının listesini alır. Boş liste, arka uç olmadığı anlamına gelir. uri, arka ucun herkese açık URL'sidir. Çalışan bir arka uçta managed_resources dizisi bulunur ve bu dizi run_service girişi içerir. Bu run_service.service, App Hosting arka ucuna hizmet veren Cloud Run hizmetinin kaynak adıdır. Bu adın son segmenti hizmet kimliğidir. domains, arka uçla ilişkili alanların listesidir. Bunlar CUSTOM veya DEFAULT türündedir. Her arka uçta bir DEFAULT alanı olmalıdır. Kullanıcının arka uca bağlanmak için kullanacağı gerçek alan, alan kaynağı adının son parametresidir. Özel alan adı doğru şekilde ayarlanmışsa durumları ACTIVE ile biter.