Firebase MCP Server
resmiAnda dapat menggunakan server Firebase MCP untuk memberikan kemampuan alat pengembangan bertenaga AI dalam bekerja dengan proyek Firebase dan basis kode aplikasi Anda.
Apa yang bisa Anda lakukan dengan Firebase MCP?
- Membuat dan mengelola proyek Firebase — Minta asisten untuk menginisialisasi proyek baru dengan
firebase_create_projectatau daftar proyek dan aplikasi yang ada. - Mengelola pengguna Authentication — Ambil detail pengguna dengan
auth_get_users, perbarui klaim kustom, atau nonaktifkan akun melaluiauth_update_user. - Mengkueri dan memperbarui Firestore atau Realtime Database — Baca, tulis, dan kelola dokumen menggunakan
firebase_read_resourcesdan alat terkait basis data. - Debug crash dengan Crashlytics — Ambil detail masalah, daftar peristiwa crash terbaru, dan tambahkan catatan menggunakan
crashlytics_get_issuedancrashlytics_list_events. - Memvalidasi dan mengambil aturan keamanan — Periksa aturan Firestore, Storage, atau Realtime Database untuk kesalahan dengan
firebase_validate_security_rules. - Memantau backend App Hosting — Daftar backend melalui
apphosting_list_backendsdan ambil log build atau runtime terbaru denganapphosting_fetch_logs.
Dokumentasi
Firebase MCP Server
Firebase Model Context Protocol (MCP) Server memberikan kemampuan kepada alat pengembangan bertenaga AI untuk bekerja dengan proyek Firebase dan basis kode aplikasi Anda. Server MCP Firebase bekerja dengan alat apa pun yang dapat bertindak sebagai klien MCP, termasuk: Firebase Studio, Gemini CLI, Claude Code, Cline, Cursor, VS Code Copilot, Windsurf, dan banyak lagi!
Fitur
Editor yang dikonfigurasi untuk menggunakan server MCP Firebase dapat memanfaatkan kemampuan AI-nya untuk membantu Anda:
- Membuat dan mengelola proyek Firebase - Menginisialisasi proyek baru, mendaftar proyek yang sudah ada, dan mengelola aplikasi Firebase
- Mengelola pengguna Firebase Authentication - Mengambil, memperbarui, dan mengelola akun pengguna
- Bekerja dengan Cloud Firestore dan Firebase SQL Connect - Melakukan kueri, membaca, menulis, dan mengelola dokumen basis data
- Mengambil skema Firebase SQL Connect - Menghasilkan skema dan operasi dengan bantuan AI
- Memahami aturan keamanan - Memvalidasi dan mengambil aturan keamanan untuk Firestore, Cloud Storage, dan Realtime Database
- Mengirim pesan dengan Firebase Cloud Messaging - Mengirim notifikasi push ke perangkat dan topik
- Mengakses data Crashlytics - Men-debug masalah, melihat laporan kerusakan, dan mengelola analitik kerusakan
- Melakukan deploy ke App Hosting - Memantau backend dan mengambil log
- Bekerja dengan Realtime Database - Membaca dan menulis data secara real-time
- Melakukan kueri log Cloud Functions - Mengambil dan menganalisis log eksekusi fungsi
- Mengelola Remote Config - Mendapatkan dan memperbarui template konfigurasi jarak jauh
Beberapa alat menggunakan Gemini di Firebase untuk membantu Anda:
- Menghasilkan skema dan operasi Firebase SQL Connect
- Berkonsultasi dengan Gemini tentang produk Firebase
Penting: Gemini di Firebase dapat menghasilkan output yang tampak masuk akal tetapi secara faktual tidak benar. Gemini mungkin merespons dengan informasi yang tidak akurat yang tidak mewakili pandangan Google. Validasi semua output dari Gemini sebelum Anda menggunakannya dan jangan gunakan kode yang dihasilkan yang belum diuji di produksi. Jangan masukkan informasi identitas pribadi (PII) atau data pengguna ke dalam obrolan.
Pelajari lebih lanjut tentang Gemini di Firebase dan cara Gemini menggunakan data Anda.
Instalasi dan Penyiapan
Prasyarat
Pastikan Anda memiliki instalasi Node.js dan npm yang berfungsi.
Konfigurasi Dasar
Server MCP Firebase dapat bekerja dengan klien MCP apa pun yang mendukung I/O standar (stdio) sebagai media transportasi. Saat server MCP Firebase melakukan panggilan alat, server tersebut menggunakan kredensial pengguna yang sama yang mengotorisasi Firebase CLI di lingkungan tempat server berjalan.
Berikut adalah petunjuk konfigurasi untuk alat bantu AI populer:
Gemini CLI
Instal ekstensi Firebase untuk Gemini CLI:
gemini extensions install https://github.com/firebase/agent-skills
Claude Code
Opsi 1: Instal melalui plugin (Direkomendasikan)
Cara termudah untuk menyiapkan server MCP Firebase di Claude Code adalah dengan menginstal plugin Firebase resmi:
-
Tambahkan marketplace Firebase untuk plugin Claude:
claude plugin marketplace add firebase/firebase-tools -
Instal plugin Claude untuk Firebase:
claude plugin install firebase@firebase -
Verifikasi instalasi:
claude plugin
Opsi 2: Konfigurasikan server MCP secara manual
Atau, Anda dapat mengonfigurasi server MCP Firebase secara manual dengan menjalankan:
claude mcp add firebase npx -- -y firebase-tools@latest mcp
Anda dapat memverifikasi instalasi dengan menjalankan:
claude mcp list
Seharusnya menampilkan:
firebase: npx -y firebase-tools@latest mcp - ✓ Connected
Cursor
Tambahkan ke .cursorrules di direktori proyek Anda atau konfigurasikan di pengaturan Cursor:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Windsurf
Tambahkan ke ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Firebase Studio
Untuk mengonfigurasi Firebase Studio agar menggunakan server MCP Firebase, edit atau buat file konfigurasi: .idx/mcp.json
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Penggunaan
Setelah dikonfigurasi, server MCP akan secara otomatis menyediakan kemampuan Firebase kepada asisten AI Anda. Anda dapat:
- Meminta AI untuk membantu menyiapkan layanan Firebase
- Melakukan kueri basis data Firestore Anda
- Mengelola pengguna autentikasi
- Melakukan deploy ke Firebase Hosting
- Men-debug masalah Crashlytics
- Dan masih banyak lagi!
Untuk daftar lengkap alat dan sumber daya yang tersedia, lihat bagian Kemampuan Server di bawah.
Dokumentasi
Untuk informasi lebih lanjut, kunjungi dokumentasi resmi server MCP Firebase.
Kemampuan Server
Server MCP Firebase menyediakan tiga jenis kemampuan: Alat (fungsi yang melakukan tindakan), Prompt (template perintah yang dapat digunakan kembali), dan Sumber Daya (file dokumentasi untuk model AI).
| Nama Alat | Grup Fitur | Deskripsi |
|---|---|---|
| apphosting_fetch_logs | apphosting | Gunakan ini untuk mengambil log terbaru untuk backend App Hosting yang ditentukan. Jika buildLogs ditentukan, log dari proses build untuk build terbaru akan dikembalikan. Log terbaru dicantumkan terlebih dahulu. |
| apphosting_list_backends | apphosting | Gunakan ini untuk mengambil daftar backend App Hosting di proyek saat ini. Daftar kosong berarti tidak ada backend. uri adalah URL publik dari backend. Backend yang berfungsi akan memiliki array managed_resources yang berisi entri run_service. run_service.service tersebut adalah nama resource layanan Cloud Run yang melayani backend App Hosting. Segmen terakhir dari nama tersebut adalah ID layanan. domains adalah daftar domain yang terkait dengan backend. Domain tersebut memiliki tipe CUSTOM atau DEFAULT. Setiap backend harus memiliki domain DEFAULT. Domain aktual yang akan digunakan pengguna untuk terhubung ke backend adalah parameter terakhir dari nama resource domain. Jika domain kustom telah diatur dengan benar, statusnya akan diakhiri dengan ACTIVE. |
| auth_get_users | auth | Gunakan ini untuk mengambil satu atau lebih pengguna Firebase Auth berdasarkan daftar UID atau daftar email. |
| auth_update_user | auth | Gunakan ini untuk menonaktifkan, mengaktifkan, atau menetapkan klaim kustom pada akun pengguna tertentu. |
| auth_set_sms_region_policy | auth | Gunakan ini untuk menetapkan kebijakan wilayah SMS untuk Firebase Authentication guna membatasi wilayah yang dapat menerima pesan teks berdasarkan daftar IZINKAN atau TOLAK kode negara. Kebijakan ini akan menimpa kebijakan yang ada saat ditetapkan. |
| firebase_login | core | Gunakan ini untuk memasukkan pengguna ke Firebase CLI dan server Firebase MCP. Ini memerlukan Akun Google, dan proses masuk diperlukan untuk membuat dan bekerja dengan Proyek Firebase. |
| firebase_logout | core | Gunakan ini untuk mengeluarkan pengguna dari Firebase CLI dan server Firebase MCP. |
| firebase_validate_security_rules | core | Gunakan ini untuk memeriksa Aturan Keamanan Firebase untuk Firestore, Storage, atau Realtime Database dari kesalahan sintaks dan validasi. |
| firebase_get_project | core | Gunakan ini untuk mengambil informasi tentang Proyek Firebase yang sedang aktif. |
| firebase_list_apps | core | Gunakan ini untuk mengambil daftar Aplikasi Firebase yang terdaftar di proyek Firebase yang sedang aktif. Aplikasi Firebase dapat berupa iOS, Android, atau Web. |
| firebase_list_projects | core | Gunakan ini untuk mengambil daftar Proyek Firebase yang dapat diakses oleh pengguna yang masuk. |
| firebase_get_sdk_config | core | Gunakan ini untuk mengambil informasi konfigurasi Firebase untuk Aplikasi Firebase. Anda harus menentukan SALAH SATU platform ATAU ID Aplikasi Firebase untuk Aplikasi Firebase yang terdaftar di Proyek Firebase yang sedang aktif. |
| firebase_create_project | core | Gunakan ini untuk membuat Proyek Firebase baru. |
| firebase_create_app | core | Gunakan ini untuk membuat Aplikasi Firebase baru di Proyek Firebase yang sedang aktif. Aplikasi Firebase dapat berupa iOS, Android, atau Web. |
| firebase_create_android_sha | core | Gunakan ini untuk menambahkan hash sertifikat SHA yang ditentukan ke Aplikasi Firebase Android yang ditentukan. |
| firebase_get_environment | core | Gunakan ini untuk mengambil konfigurasi environment Firebase saat ini untuk Firebase CLI dan server Firebase MCP, termasuk pengguna terautentikasi saat ini, direktori proyek, Proyek Firebase aktif, dan lainnya. Semua alat memerlukan pengguna untuk terautentikasi, tetapi tidak semua informasi diperlukan untuk semua alat. Perhatikan persyaratan alat untuk informasi mana yang diperlukan. |
| firebase_update_environment | core | Gunakan ini untuk memperbarui konfigurasi environment untuk Firebase CLI dan server Firebase MCP, seperti direktori proyek, proyek aktif, akun pengguna aktif, menerima ketentuan layanan, dan lainnya. Gunakan firebase_get_environment untuk melihat environment yang saat ini dikonfigurasi. |
| firebase_init | core | Gunakan ini untuk menginisialisasi layanan Firebase yang dipilih di ruang kerja (database Cloud Firestore, Firebase SQL Connect, Firebase Realtime Database, Firebase AI Logic). Semua layanan bersifat opsional; tentukan hanya produk yang ingin Anda siapkan. Anda dapat menginisialisasi fitur baru ke dalam direktori proyek yang sudah ada, tetapi menginisialisasi ulang fitur yang sudah ada dapat menimpa konfigurasi. Untuk men-deploy fitur yang diinisialisasi, jalankan perintah firebase deploy setelah alat firebase_init. |
| firebase_get_security_rules | core | Gunakan ini untuk mengambil aturan keamanan untuk layanan Firebase yang ditentukan. Jika ada beberapa instance dari layanan tersebut dalam produk, aturan untuk instance default akan dikembalikan. |
| firebase_read_resources | core | Gunakan ini untuk membaca konten sumber daya firebase:// atau mencantumkan sumber daya yang tersedia |
| crashlytics_create_note | crashlytics | Tambahkan catatan ke isu dari crashlytics. |
| crashlytics_delete_note | crashlytics | Hapus catatan dari isu Crashlytics. |
| crashlytics_get_issue | crashlytics | Mendapatkan data untuk isu Crashlytics, yang dapat digunakan sebagai titik awal untuk debugging. |
| crashlytics_list_events | crashlytics | Gunakan ini untuk mencantumkan peristiwa terbaru yang cocok dengan filter yang diberikan. Dapat digunakan untuk mengambil sampel crash dan pengecualian untuk sebuah isu, yang akan menyertakan stack trace dan data lain yang berguna untuk debugging. |
| crashlytics_batch_get_events | crashlytics | Mendapatkan peristiwa tertentu berdasarkan nama sumber daya. Dapat digunakan untuk mengambil sampel crash dan pengecualian untuk sebuah isu, yang akan menyertakan stack trace dan data lain yang berguna untuk debugging. |
| crashlytics_list_notes | crashlytics | Gunakan ini untuk mencantumkan semua catatan untuk sebuah isu di Crashlytics. |
| crashlytics_update_issue | crashlytics | Gunakan ini untuk memperbarui status isu Crashlytics. |
| realtimedatabase_get_data | realtimedatabase | Gunakan ini untuk mengambil data dari lokasi yang ditentukan di Firebase Realtime Database. |
| realtimedatabase_set_data | realtimedatabase | Gunakan ini untuk menulis data ke lokasi yang ditentukan di Firebase Realtime Database. |
| dataconnect_build | dataconnect | Gunakan ini untuk mengompilasi skema, operasi, dan/atau konektor Firebase SQL Connect serta memeriksa kesalahan build. |
| dataconnect_list_services | dataconnect | Gunakan ini untuk menampilkan layanan Firebase SQL Connect lokal dan backend yang ada. |
| dataconnect_execute | dataconnect | Gunakan ini untuk menjalankan operasi GraphQL terhadap layanan SQL Connect atau emulatornya. |
| firestore_delete_document | firestore | Gunakan ini untuk menghapus dokumen Firestore dari database di proyek saat ini berdasarkan jalur dokumen lengkap. Gunakan ini jika Anda mengetahui jalur pasti suatu dokumen. |
| firestore_get_documents | firestore | Gunakan ini untuk mengambil satu atau beberapa dokumen Firestore dari database di proyek saat ini berdasarkan jalur dokumen lengkap. Gunakan ini jika Anda mengetahui jalur pasti suatu dokumen. |
| firestore_list_collections | firestore | Gunakan ini untuk mengambil daftar koleksi dari database Firestore di proyek saat ini. |
| firestore_query_collection | firestore | Gunakan ini untuk mengambil satu atau beberapa dokumen Firestore dari suatu koleksi di database dalam proyek saat ini berdasarkan koleksi dengan jalur dokumen lengkap. Gunakan ini jika Anda mengetahui jalur pasti suatu koleksi dan klausa penyaringan yang Anda inginkan untuk dokumen tersebut. |
| functions_get_logs | functions | Gunakan ini untuk mengambil satu halaman entri log Cloud Functions menggunakan filter lanjutan Google Cloud Logging. |
| functions_list_functions | functions | Menampilkan semua fungsi yang telah dideploy di proyek Firebase Anda. |
| messaging_send_message | messaging | Gunakan ini untuk mengirim pesan ke token registrasi atau topik Firebase Cloud Messaging. HANYA SATU dari registration_token atau topic yang dapat diberikan dalam satu panggilan tertentu. |
| remoteconfig_get_template | remoteconfig | Gunakan ini untuk mengambil template Firebase Remote Config yang ditentukan dari Proyek Firebase yang sedang aktif. |
| remoteconfig_update_template | remoteconfig | Gunakan ini untuk menerbitkan template remote config baru atau mengembalikan ke versi tertentu untuk proyek |
| storage_get_object_download_url | storage | Gunakan ini untuk mengambil URL unduhan untuk objek di bucket Cloud Storage for Firebase. |
| --------------------------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| firebase:deploy | core | Gunakan perintah ini untuk men-deploy resource ke Firebase. Argumen: <prompt> (opsional): instruksi spesifik apa pun yang ingin Anda berikan tentang deployment |
| firebase:init | core | Gunakan perintah ini untuk menyiapkan layanan Firebase, seperti fitur backend dan AI. |
| firestore:generate_security_rules | firestore | Buat Aturan Keamanan Firestore Firebase yang aman dan pengujian unit terkait untuk proyek Anda. |
| storage:generate_security_rules | storage | Buat Aturan Keamanan Firebase Storage yang aman dan pengujian unit terkait untuk proyek Anda. |
| crashlytics:connect | crashlytics | Gunakan perintah ini untuk mengakses data Crashlytics aplikasi Firebase. |
| Nama Resource | Deskripsi |
|---|---|
| app_id_guide | Panduan ID Aplikasi Firebase: memandu agen pengkodean dalam memilih ID Aplikasi Firebase di proyek saat ini |
| crashlytics_investigations_guide | Panduan Investigasi Firebase Crashlytics: Memandu agen pengkodean saat menyelidiki bug yang dilaporkan dalam isu Crashlytics, termasuk prosedur untuk mendiagnosis dan memperbaiki crash. |
| crashlytics_issues_guide | Panduan Isu Firebase Crashlytics: Memandu agen pengkodean saat bekerja dengan isu Crashlytics, termasuk aturan prioritas dan prosedur untuk mendiagnosis dan memperbaiki crash. |
| crashlytics_reports_guide | Panduan Laporan Firebase Crashlytics: Memandu agen pengkodean dalam meminta laporan Crashlytics, termasuk mengatur filter yang sesuai dan cara memahami metrik. Agen harus membaca panduan ini sebelum meminta laporan apa pun. |
| backend_init_guide | Panduan Inisialisasi Backend Firebase: memandu agen pengkodean dalam mengonfigurasi layanan backend Firebase di proyek saat ini |
| ai_init_guide | Panduan Inisialisasi GenAI Firebase: memandu agen pengkodean dalam mengonfigurasi kemampuan GenAI di proyek saat ini dengan memanfaatkan Firebase |
| firestore_init_guide | Panduan Inisialisasi Firestore: memandu agen pengkodean dalam mengonfigurasi Firestore di proyek saat ini |
| firestore_rules_init_guide | Panduan Inisialisasi Aturan Firestore: memandu agen pengkodean dalam menyiapkan aturan keamanan Firestore di proyek |
| auth_init_guide | Panduan Inisialisasi Firebase Authentication: memandu agen pengkodean dalam mengonfigurasi Firebase Authentication di proyek saat ini |
| hosting_init_guide | Panduan Deployment Firebase Hosting: memandu agen pengkodean dalam men-deploy ke Firebase Hosting di proyek saat ini |
| docs | Dokumentasi Firebase: memuat konten teks biasa dari dokumentasi Firebase, misalnya https://firebase.google.com/docs/functions menjadi firebase://docs/functions |