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
Node.js ve npm'nin çalışır durumda yüklendiğinden emin olun.
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 üzerefirebase.json
içeren bir dizinin mutlak yolu. Belirtilmemişseget_project_directory
veset_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. |