Server Firebase MCP

Anda dapat menggunakan server Firebase MCP untuk memberi alat pengembangan yang didukung AI kemampuan untuk bekerja dengan project Firebase Anda. Server Firebase MCP berfungsi dengan alat apa pun yang dapat bertindak sebagai klien MCP, termasuk Claude Desktop, Cline, Cursor, Visual Studio Code Copilot, Windsurf Editor, dan lainnya.

Editor yang dikonfigurasi untuk menggunakan server Firebase MCP dapat menggunakan kemampuan AI-nya untuk membantu Anda:

  • Membuat dan mengelola project Firebase
  • Mengelola pengguna Firebase Authentication
  • Menggunakan data di Cloud Firestore dan Firebase Data Connect
  • Mengambil skema Firebase Data Connect
  • Memahami aturan keamanan untuk Firestore dan Cloud Storage for Firebase
  • Mengirim pesan dengan Firebase Cloud Messaging

Beberapa alat menggunakan Gemini di Firebase untuk membantu Anda:

  • Membuat skema dan operasi Firebase Data Connect
  • Berkonsultasi dengan Gemini tentang produk Firebase

Ini hanyalah sebagian dari daftar; lihat bagian kemampuan server untuk mengetahui daftar lengkap alat yang tersedia bagi editor Anda.

Saat melakukan panggilan alat, server Firebase MCP menggunakan kredensial pengguna yang sama yang mengizinkan Firebase CLI di lingkungan tempat server tersebut berjalan. Hal ini dapat berupa pengguna yang login atau Kredensial Default Aplikasi , bergantung pada lingkungan.

Sebelum memulai

Pastikan Anda memiliki penginstalan Node.js dan npm yang berfungsi.

Menyiapkan klien MCP

Server Firebase MCP dapat berfungsi dengan klien MCP apa pun yang mendukung I/O standar (stdio) sebagai media transpor. Berikut adalah petunjuk khusus untuk beberapa alat populer:

Konfigurasi dasar

Firebase Studio

Untuk mengonfigurasi Firebase Studio agar menggunakan server Firebase MCP, edit atau buat file konfigurasi: .idx/mcp.json

Jika file belum ada, buat dengan mengklik kanan direktori induk dan memilih New file. Tambahkan konten berikut ke file:

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

Gemini CLI dan Gemini Code Assist

Untuk mengonfigurasi Gemini CLI atau Gemini Code Assist agar menggunakan server Firebase MCP, edit atau buat file konfigurasi:

  • Di project Anda: .gemini/settings.json
  • Di direktori utama Anda: ~/.gemini/settings.json

Jika file belum ada, buat dengan mengklik kanan direktori induk dan memilih New file. Tambahkan konten berikut ke file:

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

Claude Desktop

Untuk mengonfigurasi Claude Desktop agar menggunakan server Firebase MCP, edit file claude_desktop_config.json. Anda dapat membuka atau membuat file ini dari menu Claude > Settings. Pilih tab Developer, lalu klik Edit Config.

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

Claude Code

Untuk mengonfigurasi Claude Code agar menggunakan server MCP Firebase, jalankan perintah berikut di folder aplikasi Anda:

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

Anda dapat memverifikasi penginstalan dengan menjalankan:

claude mcp list

Tulisan yang akan muncul:

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

Cline

Untuk mengonfigurasi Cline agar menggunakan server Firebase MCP, edit file cline_mcp_settings.json. Anda dapat membuka atau membuat file ini dengan mengklik ikon Server MCP di bagian atas panel Cline, lalu mengklik tombol Configure MCP Servers.

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

Kursor

Untuk mengonfigurasi Cursor agar menggunakan server Firebase MCP, edit file .cursor/mcp.json (untuk mengonfigurasi project tertentu saja) atau file ~/.cursor/mcp.json (untuk menyediakan server MCP di semua project):

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

Visual Studio Code Copilot

Untuk mengonfigurasi satu project, edit file .vscode/mcp.json di ruang kerja Anda:

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

Agar server tersedia di setiap project yang Anda buka, edit setelan pengguna:

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

Windsurf Editor

Untuk mengonfigurasi Windsurf Editor, edit file ~/.codeium/windsurf/mcp_config.json:

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

Konfigurasi opsional

Selain konfigurasi dasar untuk setiap klien, yang ditampilkan sebelumnya, ada dua parameter opsional yang dapat Anda tentukan:

  • --dir ABSOLUTE_DIR_PATH: Jalur absolut direktori yang berisi firebase.json, untuk menetapkan konteks project untuk server MCP. Jika tidak ditentukan, alat get_project_directory dan set_project_directory akan tersedia dan direktori default akan menjadi direktori kerja tempat server MCP dimulai.

  • --only FEATURE_1,FEATURE_2: Daftar grup fitur yang dipisahkan koma untuk diaktifkan. Gunakan ini untuk membatasi alat yang ditampilkan hanya ke fitur yang Anda gunakan secara aktif. Perhatikan bahwa alat inti selalu tersedia

Contoh:

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

Kemampuan server MCP

Tabel berikut berisi alat yang disediakan oleh server MCP. Anda juga dapat melihat informasi ini menggunakan perintah:

npx firebase-tools@latest experimental:mcp --generate-tool-list
Nama Alat Grup Fitur Deskripsi
firebase_login inti Memproses login pengguna ke Firebase CLI dan server MCP.
firebase_logout inti Memproses logout CLI dari Firebase
firebase_get_project inti Mengambil informasi tentang project Firebase yang saat ini aktif.
firebase_list_apps inti Mengambil aplikasi yang terdaftar di project Firebase saat ini.
firebase_get_admin_sdk_config inti Mendapatkan konfigurasi Admin SDK untuk project saat ini.
firebase_list_projects inti Mengambil daftar project Firebase hingga jumlah total yang ditentukan.
firebase_get_sdk_config inti Mengambil informasi konfigurasi Firebase SDK untuk platform yang ditentukan. Anda harus menentukan platform atau app_id.
firebase_create_project inti Membuat project Firebase baru.
firebase_create_app inti Membuat aplikasi baru di project Firebase untuk Web, iOS, atau Android.
firebase_create_android_sha inti Menambahkan hash sertifikat SHA ke aplikasi Android yang ada.
firebase_consult_assistant inti Mengakses asisten AI yang ahli dalam semua aspek Firebase. Gunakan alat ini untuk mendapatkan informasi mendetail, praktik terbaik, langkah-langkah pemecahan masalah, contoh kode, dan bantuan kontekstual terkait layanan, fitur, dan konfigurasi project Firebase. Hal ini mencakup pertanyaan tentang Firestore, Authentication, Cloud Functions, Hosting, Storage, Analytics, dan lainnya. Alat ini juga dapat memberikan insight berdasarkan konteks project Firebase saat ini.
firebase_get_environment inti Mengambil informasi tentang lingkungan Firebase saat ini, termasuk pengguna yang diautentikasi saat ini, direktori project, project aktif, dan lainnya.
firebase_update_environment inti Mengupdate konfigurasi lingkungan Firebase seperti direktori project, project aktif, akun pengguna aktif, dan lainnya. Gunakan firebase_get_environment untuk melihat lingkungan yang saat ini dikonfigurasi.
firebase_init inti Melakukan inisialisasi fitur Firebase yang dipilih di ruang kerja (Firestore, Data Connect, Realtime Database). Semua fitur bersifat opsional; hanya berikan produk yang ingin Anda siapkan. Anda dapat melakukan inisialisasi fitur baru ke direktori project yang ada, tetapi melakukan inisialisasi ulang fitur yang ada dapat menimpa konfigurasi. Untuk men-deploy fitur yang diinisialisasi, jalankan perintah firebase deploy setelah alat firebase_init.
firestore_delete_document firestore Menghapus dokumen Firestore dari database di project saat ini berdasarkan jalur dokumen lengkap. Gunakan ini jika Anda mengetahui jalur persis dokumen.
firestore_get_documents firestore Mengambil satu atau beberapa dokumen Firestore dari database dalam project saat ini berdasarkan jalur dokumen lengkap. Gunakan ini jika Anda mengetahui jalur persis dokumen.
firestore_list_collections firestore Mengambil daftar koleksi dari database Firestore dalam project saat ini.
firestore_query_collection firestore Mengambil satu atau beberapa dokumen Firestore dari koleksi adalah database dalam project saat ini berdasarkan koleksi dengan jalur dokumen lengkap. Gunakan ini jika Anda mengetahui jalur persis koleksi dan klausa pemfilteran yang Anda inginkan untuk dokumen.
firestore_get_rules firestore Mengambil aturan keamanan Firestore yang aktif untuk project saat ini.
firestore_validate_rules firestore Memeriksa sumber Aturan Firestore yang diberikan untuk menemukan error sintaksis dan validasi. Berikan SALAH SATU kode sumber yang akan divalidasi ATAU jalur ke file sumber.
auth_get_user auth Mengambil pengguna berdasarkan alamat email, nomor telepon, atau UID.
auth_disable_user auth Menonaktifkan atau mengaktifkan pengguna berdasarkan UID.
auth_list_users auth Mengambil semua pengguna dalam project hingga batas yang ditentukan.
auth_set_claim auth Menetapkan klaim kustom di akun pengguna tertentu. Gunakan untuk membuat nilai tepercaya yang terkait dengan pengguna, misalnya menandainya sebagai admin. Klaim memiliki ukuran terbatas dan mempunyai nama dan nilai yang ringkas. Tentukan HANYA SALAH SATU parameter value atau json_value.
auth_set_sms_region_policy auth Menetapkan Kebijakan Region SMS untuk Firebase Auth guna membatasi region yang dapat menerima pesan teks berdasarkan daftar kode negara ALLOW atau DENY. Kebijakan ini akan menggantikan kebijakan yang ada saat ditetapkan.
dataconnect_build dataconnect Gunakan alat ini untuk mengompilasi skema, operasi, dan/atau konektor Firebase Data Connect serta memeriksa error build.
dataconnect_generate_schema dataconnect Membuat Skema Firebase Data Connect berdasarkan deskripsi aplikasi pengguna.
dataconnect_generate_operation dataconnect Membuat satu kueri atau mutasi Firebase Data Connect berdasarkan skema yang saat ini di-deploy dan perintah yang diberikan.
dataconnect_list_services dataconnect Menampilkan layanan Firebase Data Connect lokal dan backend yang ada
dataconnect_execute dataconnect Menjalankan operasi GraphQL terhadap layanan Data Connect atau emulatornya.
storage_get_rules penyimpanan Mengambil aturan keamanan Storage yang aktif untuk project saat ini.
storage_validate_rules penyimpanan Memeriksa sumber Aturan Penyimpanan yang diberikan untuk menemukan error sintaksis dan validasi. Berikan SALAH SATU kode sumber yang akan divalidasi ATAU jalur ke file sumber.
storage_get_object_download_url penyimpanan Mengambil URL download untuk objek di Firebase Storage.
messaging_send_message messaging Mengirim pesan ke token atau topik pendaftaran Firebase Cloud Messaging. HANYA SATU dari registration_token atau topic yang dapat diberikan dalam panggilan tertentu.
remoteconfig_get_template remoteconfig Mengambil template konfigurasi jarak jauh untuk project
remoteconfig_publish_template remoteconfig Memublikasikan template konfigurasi jarak jauh baru untuk project
remoteconfig_rollback_template remoteconfig Melakukan rollback ke versi template Remote Config tertentu untuk project
crashlytics_add_note crashlytics Menambahkan catatan ke suatu masalah dari Crashlytics.
crashlytics_delete_note crashlytics Menghapus catatan dari suatu masalah di Crashlytics.
crashlytics_get_issue_details crashlytics Mendapatkan detail tentang masalah Crashlytics tertentu.
crashlytics_get_sample_crash_for_issue crashlytics Mendapatkan error sampel untuk suatu masalah.
crashlytics_list_notes crashlytics Menampilkan semua catatan untuk suatu masalah di Crashlytics.
crashlytics_list_top_devices crashlytics Menampilkan perangkat teratas dari Crashlytics untuk suatu aplikasi.
crashlytics_list_top_issues crashlytics Mencantumkan error teratas dari crashlytics yang terjadi di aplikasi.
crashlytics_list_top_operating_systems crashlytics Menampilkan sistem operasi teratas dari Crashlytics untuk suatu aplikasi.
crashlytics_list_top_versions crashlytics Menampilkan versi teratas dari Crashlytics untuk suatu aplikasi.
crashlytics_update_issue crashlytics Memperbarui status masalah di Crashlytics.
apphosting_fetch_logs apphosting Mengambil log terbaru untuk backend App Hosting yang ditentukan. Jika buildLogs ditentukan, log dari proses build untuk build terbaru akan ditampilkan. Log terbaru dicantumkan di urutan pertama.
apphosting_list_backends apphosting Mengambil daftar backend App Hosting dalam project saat ini. Daftar kosong berarti tidak ada backend. uri adalah URL publik backend. Backend yang berfungsi akan memiliki array managed_resources yang akan berisi entri run_service. run_service.service tersebut adalah nama resource layanan Cloud Run yang menayangkan backend App Hosting. Segmen terakhir dari nama tersebut adalah ID layanan. domains adalah daftar domain yang terkait dengan backend. Domain tersebut memiliki jenis CUSTOM atau DEFAULT. Setiap backend harus memiliki domain DEFAULT. Domain sebenarnya yang akan digunakan pengguna untuk terhubung ke backend adalah parameter terakhir dari nama resource domain. Jika disiapkan dengan benar, domain kustom akan memiliki status yang berakhiran ACTIVE.
database_get_data database Menampilkan data RTDB dari lokasi yang ditentukan
database_set_data database Menulis data RTDB ke lokasi yang ditentukan
database_get_rules database Mendapatkan aturan database RTDB
database_validate_rules database Memvalidasi aturan database RTDB