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çların 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

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

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

Firebase Studio

Firebase Studio'yu Firebase MCP sunucusunu kullanacak şekilde yapılandırmak için yapılandırma dosyasını düzenleyin veya oluşturun: .idx/mcp.json.

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

Gemini CLI ve Gemini Code Assist

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

  • Projenizde: .gemini/settings.json
  • Ana dizininizde: ~/.gemini/settings.json

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

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

Claude Code

Claude Code'u Firebase MCP sunucusunu kullanacak şekilde yapılandırmak için uygulama klasörünüzde aşağıdaki komutu çalıştırın:

claude mcp add firebase npx -- -y firebase-tools@latest experimental:mcp

Yüklemeyi doğrulamak için şu komutu çalıştırın:

claude mcp list

Şunlar gösterilmelidir:

firebase: npx -y firebase-tools@latest experimental:mcp - ✓ Connected

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

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. Bu özelliği, yalnızca aktif olarak kullandığınız özelliklere sunulan araçları sınırlandırmak 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

Aşağıdaki tabloda, MCP sunucusunun kullanıma sunduğu araçlar listelenmiştir. Bu bilgileri şu komutu kullanarak da görebilirsiniz:

npx firebase-tools@latest experimental:mcp --generate-tool-list
Aracın adı Özellik Grubu Açıklama
firebase_login core bölgesi Kullanıcının Firebase CLI ve MCP sunucusunda oturum açmasını sağlar.
firebase_logout core bölgesi CLI'nın Firebase oturumunu kapatma
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'in tüm yönlerinde uzmanlaşmış bir yapay zeka asistanına erişin. Firebase hizmetleri, özellikleri ve proje yapılandırmasıyla ilgili ayrıntılı bilgi, en iyi uygulamalar, sorun giderme adımları, kod örnekleri ve bağlama özel yardım almak için bu aracı kullanın. Firestore, Authentication, Cloud Functions, Hosting, Storage ve Analytics gibi konularla ilgili sorular bu kapsamdadır. Ayrıca, mevcut Firebase projesi bağlamına dayalı analizler de sağlayabilir.
firebase_get_environment core bölgesi Mevcut kimliği doğrulanmış kullanıcı, proje dizini ve etkin proje dahil olmak üzere mevcut Firebase ortamı hakkında 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 doküman yollarını kullanarak mevcut projedeki bir veritabanından bir veya daha fazla Firestore dokümanı 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 yoluyla 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şaretlemek). İ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_build dataconnect Firebase Data Connect şemasını, işlemlerini ve/veya bağlayıcılarını derlemek ve derleme hatalarını kontrol etmek için bu aracı kullanın.
dataconnect_generate_schema dataconnect Kullanıcıların uygulama açıklamasına göre bir 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_list_services dataconnect Mevcut yerel ve arka uç Firebase Data Connect hizmetlerini listeleme
dataconnect_execute dataconnect Bir Veri Bağlayıcı hizmetine veya emülatörüne karşı GraphQL işlemi yürütür.
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_add_note crashlytics Crashlytics'teki bir soruna not ekleme
crashlytics_delete_note crashlytics Crashlytics'teki bir sorundan not silme
crashlytics_get_issue_details crashlytics Belirli bir Crashlytics sorunuyla ilgili ayrıntıları alır.
crashlytics_get_sample_crash_for_issue crashlytics Bir sorunla ilgili örnek kilitlenme alır.
crashlytics_list_notes crashlytics Crashlytics'teki bir sorunla ilgili tüm notları listeleme
crashlytics_list_top_devices crashlytics Bir uygulama için Crashlytics'teki en iyi cihazları listeleyin.
crashlytics_list_top_issues crashlytics Uygulamada gerçekleşen Crashlytics'teki en önemli kilitlenmeleri listele.
crashlytics_list_top_operating_systems crashlytics Bir uygulama için Crashlytics'teki en popüler işletim sistemlerini listeleyin.
crashlytics_list_top_versions crashlytics Bir uygulama için Crashlytics'teki en iyi sürümleri listeleyin.
crashlytics_update_issue crashlytics Crashlytics'te bir sorunun durumunu güncelleyin.
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ığını gösterir. uri, arka ucun herkese açık URL'sidir. Çalışan bir arka uçta run_service girişi içeren bir managed_resources dizisi bulunur. 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 doğru şekilde ayarlanmışsa durumları ACTIVE ile biter.
database_get_data veritabanı Belirtilen konumdaki RTDB verilerini döndürür.
database_set_data veritabanı Belirtilen konuma RTDB verileri yazar.
database_get_rules veritabanı RTDB veritabanının kurallarını alma
database_validate_rules veritabanı RTDB veritabanının kurallarını doğrular.