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

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

Sebelum memulai

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

  2. Lakukan autentikasi Firebase CLI dengan menjalankan perintah berikut:

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

    Server Firebase MCP menggunakan CLI untuk menangani autentikasi dengan project Firebase Anda. Anda harus melakukan autentikasi dengan CLI sebelum menggunakan server MCP. Jika Anda mencoba menggunakan server tanpa login, atau jika token autentikasi Anda sudah tidak berlaku, server akan mencetak pesan error yang meminta Anda untuk mengautentikasi ulang.

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

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

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

Cursor

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

Nama Alat Grup Fitur Deskripsi
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_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_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. 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.
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_list_services dataconnect Mencantumkan layanan Firebase Data Connect yang tersedia di project saat ini.
dataconnect_get_schema dataconnect Mengambil informasi tentang Skema Firebase Data Connect dalam project, termasuk sumber data Cloud SQL dan Skema GraphQL yang menjelaskan model data.
dataconnect_get_connectors dataconnect Dapatkan Konektor Firebase Data Connect dalam project, yang menyertakan kueri GraphQL standar yang dapat diakses oleh SDK klien.
dataconnect_execute_graphql dataconnect Menjalankan GraphQL arbitrer terhadap layanan Data Connect atau emulatornya.
dataconnect_execute_graphql_read dataconnect Menjalankan kueri GraphQL arbitrer terhadap layanan Data Connect atau emulatornya. Tidak dapat menulis data.
dataconnect_execute_mutation dataconnect Menjalankan mutasi Data Connect yang di-deploy terhadap layanan atau emulatornya. Dapat membaca dan menulis data.
dataconnect_execute_query dataconnect Menjalankan kueri Data Connect yang di-deploy terhadap layanan atau emulatornya. Tidak dapat menulis data apa pun.
storage_get_rules storage Mengambil aturan keamanan Storage yang aktif untuk project saat ini.
storage_validate_rules storage 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 storage 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_list_top_issues crashlytics Mencantumkan error teratas dari crashlytics yang terjadi di aplikasi.