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
Pastikan Anda memiliki penginstalan Node.js dan npm yang berfungsi.
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 berisifirebase.json
, untuk menetapkan konteks project untuk server MCP. Jika tidak ditentukan, alatget_project_directory
danset_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. |