Firebase MCP Server
ทางการคุณสามารถใช้ Firebase MCP server เพื่อให้เครื่องมือพัฒนา AI สามารถทำงานร่วมกับโปรเจกต์ Firebase และโค้ดเบสของแอปของคุณได้
คุณทำอะไรได้บ้างด้วย Firebase MCP?
- จัดการโปรเจกต์และแอป Firebase — ขอรายการโปรเจกต์ สร้างโปรเจกต์ใหม่ หรือลงทะเบียนแอป iOS/Android/Web ผ่าน
firebase_list_projectsและfirebase_create_app - สอบถามและเขียนข้อมูล Firestore — ดึงเอกสารตามเส้นทาง รายการคอลเลกชัน หรือเรียกใช้การสอบถามแบบกรองโดยใช้
firestore_get_documentsและfirestore_query_collection - ดีบักข้อขัดข้องด้วย Crashlytics — ดึงรายละเอียดปัญหา รายการเหตุการณ์ล่าสุด หรืออัปเดตสถานะปัญหาด้วย
crashlytics_get_issueและcrashlytics_update_issue - ส่งการแจ้งเตือนแบบพุช — ส่งข้อความ Firebase Cloud Messaging ไปยังโทเค็นอุปกรณ์หรือหัวข้อด้วย
messaging_send_message - ตรวจสอบและดึงกฎความปลอดภัย — ตรวจสอบไวยากรณ์สำหรับกฎ Firestore, Storage หรือ Realtime Database ผ่าน
firebase_validate_security_rules - จัดการผู้ใช้ Auth และ Remote Config — ค้นหาหรืออัปเดตบัญชีผู้ใช้ด้วย
auth_get_usersและดึงหรือเผยแพร่เทมเพลต Remote Config
เอกสาร
Firebase MCP Server
Firebase Model Context Protocol (MCP) Server ช่วยให้เครื่องมือพัฒนา AI ที่ขับเคลื่อนด้วย AI สามารถทำงานร่วมกับโปรเจกต์ Firebase และโค้ดเบสของแอปของคุณได้ Firebase MCP server ทำงานร่วมกับเครื่องมือใดก็ได้ที่ทำหน้าที่เป็น MCP client ได้ เช่น Firebase Studio, Gemini CLI, Claude Code, Cline, Cursor, VS Code Copilot, Windsurf และอื่นๆ อีกมากมาย!
คุณสมบัติ
โปรแกรมแก้ไขที่กำหนดค่าให้ใช้ Firebase MCP server สามารถใช้ความสามารถ AI เพื่อช่วยคุณ:
- สร้างและจัดการโปรเจกต์ Firebase - เริ่มต้นโปรเจกต์ใหม่ แสดงรายการโปรเจกต์ที่มีอยู่ และจัดการแอป Firebase
- จัดการผู้ใช้ Firebase Authentication - ดึงข้อมูล อัปเดต และจัดการบัญชีผู้ใช้
- ทำงานกับ Cloud Firestore และ Firebase SQL Connect - คิวรี อ่าน เขียน และจัดการเอกสารฐานข้อมูล
- ดึงข้อมูลสคีมา Firebase SQL Connect - สร้างสคีมาและการดำเนินการด้วยความช่วยเหลือจาก AI
- ทำความเข้าใจกฎความปลอดภัย - ตรวจสอบและดึงข้อมูลกฎความปลอดภัยสำหรับ Firestore, Cloud Storage และ Realtime Database
- ส่งข้อความด้วย Firebase Cloud Messaging - ส่งการแจ้งเตือนแบบพุชไปยังอุปกรณ์และหัวข้อ
- เข้าถึงข้อมูล Crashlytics - แก้ไขปัญหา ดูรายงานการขัดข้อง และจัดการการวิเคราะห์การขัดข้อง
- ปรับใช้กับ App Hosting - ตรวจสอบแบ็กเอนด์และดึงข้อมูลบันทึก
- ทำงานกับ Realtime Database - อ่านและเขียนข้อมูลแบบเรียลไทม์
- คิวรีบันทึก Cloud Functions - ดึงข้อมูลและวิเคราะห์บันทึกการทำงานของฟังก์ชัน
- จัดการ Remote Config - รับและอัปเดตเทมเพลตการกำหนดค่าระยะไกล
เครื่องมือบางอย่างใช้ Gemini in Firebase เพื่อช่วยคุณ:
- สร้างสคีมาและการดำเนินการของ Firebase SQL Connect
- ปรึกษา Gemini เกี่ยวกับผลิตภัณฑ์ Firebase
สำคัญ: Gemini in Firebase สามารถสร้างผลลัพธ์ที่ดูสมเหตุสมผลแต่ไม่ถูกต้องตามข้อเท็จจริง อาจตอบด้วยข้อมูลที่ไม่ถูกต้องซึ่งไม่แสดงถึงมุมมองของ Google ตรวจสอบผลลัพธ์ทั้งหมดจาก Gemini ก่อนใช้งาน และอย่าใช้โค้ดที่สร้างขึ้นโดยไม่ผ่านการทดสอบในสภาพแวดล้อมการผลิต อย่าป้อนข้อมูลที่ระบุตัวบุคคล (PII) หรือข้อมูลผู้ใช้ลงในแชท
เรียนรู้เพิ่มเติมเกี่ยวกับ Gemini in Firebase และวิธีที่ใช้ข้อมูลของคุณ
การติดตั้งและการตั้งค่า
ข้อกำหนดเบื้องต้น
ตรวจสอบให้แน่ใจว่าคุณมีการติดตั้ง Node.js และ npm ที่ทำงานได้
การกำหนดค่าพื้นฐาน
Firebase MCP server ทำงานร่วมกับ MCP client ใดก็ได้ที่รองรับ standard I/O (stdio) เป็นสื่อกลางในการส่งข้อมูล เมื่อ Firebase MCP server ทำการเรียกใช้เครื่องมือ จะใช้ข้อมูลประจำตัวผู้ใช้เดียวกันกับที่อนุญาตให้ Firebase CLI ในสภาพแวดล้อมที่ทำงานอยู่
นี่คือคำแนะนำการกำหนดค่าสำหรับเครื่องมือช่วยเหลือ AI ยอดนิยม:
Gemini CLI
ติดตั้ง Firebase extension สำหรับ Gemini CLI:
gemini extensions install https://github.com/firebase/agent-skills
Claude Code
ตัวเลือกที่ 1: ติดตั้งผ่านปลั๊กอิน (แนะนำ)
วิธีที่ง่ายที่สุดในการตั้งค่า Firebase MCP server ใน Claude Code คือการติดตั้งปลั๊กอิน Firebase อย่างเป็นทางการ:
-
เพิ่ม Firebase marketplace สำหรับปลั๊กอิน Claude:
claude plugin marketplace add firebase/firebase-tools -
ติดตั้ง Claude plugin สำหรับ Firebase:
claude plugin install firebase@firebase -
ตรวจสอบการติดตั้ง:
claude plugin
ตัวเลือกที่ 2: กำหนดค่า MCP server ด้วยตนเอง
หรือคุณสามารถกำหนดค่า Firebase MCP server ด้วยตนเองโดยรัน:
claude mcp add firebase npx -- -y firebase-tools@latest mcp
คุณสามารถตรวจสอบการติดตั้งได้โดยรัน:
claude mcp list
ควรแสดง:
firebase: npx -y firebase-tools@latest mcp - ✓ Connected
Cursor
เพิ่มใน .cursorrules ในไดเรกทอรีโปรเจกต์ของคุณหรือกำหนดค่าในการตั้งค่า Cursor:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Windsurf
เพิ่มใน ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Firebase Studio
เพื่อกำหนดค่า Firebase Studio ให้ใช้ Firebase MCP server ให้แก้ไขหรือสร้างไฟล์การกำหนดค่า: .idx/mcp.json
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
การใช้งาน
เมื่อกำหนดค่าแล้ว MCP server จะให้ความสามารถ Firebase แก่ผู้ช่วย AI ของคุณโดยอัตโนมัติ คุณสามารถ:
- ขอให้ AI ช่วยตั้งค่าบริการ Firebase
- คิวรีฐานข้อมูล Firestore ของคุณ
- จัดการผู้ใช้การตรวจสอบสิทธิ์
- ปรับใช้กับ Firebase Hosting
- แก้ไขปัญหา Crashlytics
- และอื่นๆ อีกมากมาย!
สำหรับรายการเครื่องมือและทรัพยากรที่มีทั้งหมด ดูส่วน Server Capabilities ด้านล่าง
เอกสารประกอบ
สำหรับข้อมูลเพิ่มเติม เยี่ยมชม เอกสารประกอบ Firebase MCP server อย่างเป็นทางการ
ความสามารถของเซิร์ฟเวอร์
Firebase MCP server มีความสามารถสามประเภท: Tools (ฟังก์ชันที่ดำเนินการ), Prompts (เทมเพลตคำสั่งที่ใช้ซ้ำได้) และ Resources (ไฟล์เอกสารสำหรับโมเดล AI)
| ชื่อเครื่องมือ | กลุ่มฟีเจอร์ | คำอธิบาย |
|---|---|---|
| apphosting_fetch_logs | apphosting | ดึงข้อมูลล็อกบริการหรือล็อกการ build ล่าสุดสำหรับ backend ของ App Hosting |
| apphosting_list_backends | apphosting | แสดงรายการ backend ของ App Hosting การกำหนดค่าทราฟฟิก และโดเมนที่กำหนดเองในโปรเจกต์ของคุณ |
| auth_get_users | auth | ดึงข้อมูลผู้ใช้ Firebase Auth ตาม UID อีเมล หมายเลขโทรศัพท์ หรือแสดงรายการผู้ใช้ทั้งหมด |
| auth_update_user | auth | อัปเดตบัญชีผู้ใช้โดยการเปิด/ปิดใช้งานหรือตั้งค่า custom claims |
| auth_set_sms_region_policy | auth | ตั้งค่านโยบายภูมิภาค SMS ที่อนุญาตหรือปฏิเสธรหัสประเทศเฉพาะสำหรับ Firebase Authentication |
| firebase_login | core | ลงชื่อผู้ใช้เข้าสู่ Firebase CLI และ MCP server หรือตรวจสอบสถานะการรับรองความถูกต้องปัจจุบัน |
| firebase_logout | core | ลงชื่อผู้ใช้ออกจาก Firebase CLI และ MCP server |
| firebase_validate_security_rules | core | ตรวจสอบไวยากรณ์และตรวจหาข้อผิดพลาดในกฎความปลอดภัยของ Firestore, Storage หรือ Realtime Database |
| firebase_get_project | core | ดึงข้อมูลเมตาดาตาและรายละเอียดการกำหนดค่าสำหรับโปรเจกต์ Firebase ที่ใช้งานอยู่ในปัจจุบัน |
| firebase_list_apps | core | แสดงรายการแอป Firebase ทั้งหมดที่ลงทะเบียนในโปรเจกต์ที่ใช้งานอยู่ |
| firebase_list_projects | core | แสดงรายการโปรเจกต์ Firebase ที่ผู้ใช้ที่รับรองความถูกต้องสามารถเข้าถึงได้ |
| firebase_get_sdk_config | core | ดึงข้อมูลรายละเอียดการกำหนดค่า SDK หรือเนื้อหาของไฟล์กำหนดค่าสำหรับแอป Firebase ที่ลงทะเบียน |
| firebase_create_project | core | สร้างโปรเจกต์ Firebase ใหม่หรือเปิดใช้บริการ Firebase บนโปรเจกต์ Google Cloud ที่มีอยู่ |
| firebase_create_app | core | สร้างแอป iOS, Android หรือ Web ใหม่ในโปรเจกต์ Firebase ที่ใช้งานอยู่ |
| firebase_create_android_sha | core | เพิ่มแฮชใบรับรอง SHA-1 หรือ SHA-256 ให้กับแอป Android ในโปรเจกต์ Firebase ที่ใช้งานอยู่ |
| firebase_get_environment | core | ดึงข้อมูลการกำหนดค่าสภาพแวดล้อมปัจจุบันของ Firebase CLI และ MCP โปรเจกต์ที่ใช้งานอยู่ และผู้ใช้ที่รับรองความถูกต้อง |
| firebase_update_environment | core | อัปเดตการตั้งค่าสภาพแวดล้อม เช่น ไดเรกทอรีโปรเจกต์ โปรเจกต์ที่ใช้งานอยู่ หรือบัญชีผู้ใช้ที่ใช้งานอยู่ |
| firebase_init | core | เริ่มต้นและกำหนดค่าบริการ Firebase ในพื้นที่ทำงานโปรเจกต์ในเครื่องของคุณ |
| firebase_get_security_rules | core | ดึงข้อมูลกฎความปลอดภัยที่ใช้งานอยู่สำหรับ Firestore, Storage หรือ Realtime Database |
| firebase_read_resources | core | อ่านเนื้อหาของทรัพยากรเอกสารภายใน firebase:// หรือแสดงรายการทรัพยากรที่มีอยู่ทั้งหมด |
| crashlytics_create_note | crashlytics | เพิ่มบันทึกไปยังปัญหาของ Crashlytics สำหรับแอป Android หรือ iOS |
| crashlytics_delete_note | crashlytics | ลบบันทึกจากปัญหาของ Crashlytics สำหรับแอป Android หรือ iOS |
| crashlytics_get_issue | crashlytics | ดึงข้อมูลรายละเอียดและเมตาดาตาสำหรับปัญหาของ Crashlytics ที่ระบุ |
| crashlytics_list_events | crashlytics | แสดงรายการเหตุการณ์ขัดข้องและข้อยกเว้นล่าสุดที่ตรงกับตัวกรองที่ระบุสำหรับปัญหา |
| crashlytics_batch_get_events | crashlytics | ดึงข้อมูลตัวอย่างเหตุการณ์ขัดข้องและข้อยกเว้นตามชื่อทรัพยากรสำหรับการดีบัก |
| crashlytics_list_notes | crashlytics | แสดงรายการบันทึกทั้งหมดที่แนบกับปัญหาของ Crashlytics สำหรับแอป Android หรือ iOS |
| crashlytics_get_report | crashlytics | สร้างรายงานตัวเลขรวมสำหรับปัญหาและเหตุการณ์ของ Crashlytics |
| crashlytics_update_issue | crashlytics | อัปเดตสถานะ (OPEN หรือ CLOSED) ของปัญหาของ Crashlytics |
| realtimedatabase_get_data | realtimedatabase | อ่านข้อมูลจากเส้นทางที่ระบุใน Firebase Realtime Database |
| realtimedatabase_set_data | realtimedatabase | เขียนข้อมูล JSON ไปยังเส้นทางที่ระบุใน Firebase Realtime Database |
| dataconnect_build | dataconnect | คอมไพล์สคีมา การดำเนินการ และตัวเชื่อมต่อของ Firebase SQL Connect เพื่อตรวจสอบไวยากรณ์และประเภท |
| dataconnect_list_services | dataconnect | แสดงรายการบริการ สคีมา และตัวเชื่อมต่อของ Firebase SQL Connect ในเครื่องและที่ปรับใช้แล้ว |
| dataconnect_execute | dataconnect | ดำเนินการคิวรีหรือ mutation ของ GraphQL กับบริการหรืออีมูเลเตอร์ของ Firebase SQL Connect |
| firestore_delete_document | firestore | ใช้เพื่อลบเอกสาร Firestore จากฐานข้อมูลในโปรเจกต์ปัจจุบันตามเส้นทางเอกสารแบบเต็ม ใช้เมื่อคุณทราบเส้นทางที่แน่นอนของเอกสาร |
| firestore_get_documents | firestore | ใช้เพื่อดึงข้อมูลเอกสาร Firestore หนึ่งรายการขึ้นไปจากฐานข้อมูลในโปรเจกต์ปัจจุบันตามเส้นทางเอกสารแบบเต็ม ใช้เมื่อคุณทราบเส้นทางที่แน่นอนของเอกสาร |
| firestore_list_collections | firestore | ใช้เพื่อดึงรายการคอลเลกชันจากฐานข้อมูล Firestore ในโปรเจกต์ปัจจุบัน |
| firestore_query_collection | firestore | คิวรีเอกสาร Firestore จากคอลเลกชันพร้อมตัวกรองและการเรียงลำดับเพิ่มเติม |
| functions_get_logs | functions | ดึงข้อมูลและกรองรายการล็อกของ Cloud Functions จาก Google Cloud Logging |
| functions_list_functions | functions | แสดงรายการ Cloud Functions ทั้งหมดที่ปรับใช้แล้วในโปรเจกต์ Firebase ของคุณ |
| messaging_send_message | messaging | ส่งการแจ้งเตือนแบบพุชของ Firebase Cloud Messaging ไปยังโทเค็นการลงทะเบียนอุปกรณ์หรือหัวข้อ |
| remoteconfig_get_template | remoteconfig | ดึงข้อมูลเทมเพลต Firebase Remote Config เวอร์ชันที่ใช้งานอยู่หรือที่ระบุ |
| remoteconfig_update_template | remoteconfig | เผยแพร่เทมเพลต Firebase Remote Config ใหม่หรือย้อนกลับไปยังเวอร์ชันก่อนหน้า |
| storage_get_object_download_url | storage | ดึงข้อมูล URL สำหรับดาวน์โหลดของออบเจกต์ในบัคเก็ต Cloud Storage |
| ชื่อพรอมต์ | กลุ่มฟีเจอร์ | คำอธิบาย |
|---|---|---|
| firebase:deploy | core | ใช้คำสั่งนี้เพื่อปรับใช้ทรัพยากรไปยัง Firebase อาร์กิวเมนต์: <prompt> (ไม่บังคับ): คำแนะนำเฉพาะใด ๆ ที่คุณต้องการให้เกี่ยวกับการปรับใช้ |
| firebase:init | core | ใช้คำสั่งนี้เพื่อตั้งค่าบริการ Firebase เช่น ฟีเจอร์ backend และ AI |
| firestore:generate_security_rules | firestore | สร้างกฎความปลอดภัย Firebase Firestore ที่ปลอดภัยและการทดสอบหน่วยที่เกี่ยวข้องสำหรับโปรเจกต์ของคุณ |
| storage:generate_security_rules | storage | สร้างกฎความปลอดภัย Firebase Storage ที่ปลอดภัยและการทดสอบหน่วยที่เกี่ยวข้องสำหรับโปรเจกต์ของคุณ |
| crashlytics:connect | crashlytics | ใช้คำสั่งนี้เพื่อเข้าถึงข้อมูล Crashlytics ของแอปพลิเคชัน Firebase |
| ชื่อทรัพยากร | คำอธิบาย | |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
| app_id_guide | คู่มือ Firebase App ID: แนะนำเอเจนต์การเขียนโค้ดในการเลือก Firebase App ID ในโปรเจกต์ปัจจุบัน | |
| crashlytics_investigations_guide | คู่มือการสืบสวน Firebase Crashlytics: แนะนำเอเจนต์การเขียนโค้ดเมื่อตรวจสอบบั๊กที่รายงานในปัญหา Crashlytics รวมถึงขั้นตอนการวินิจฉัยและแก้ไขการขัดข้อง | |
| crashlytics_issues_guide | คู่มือปัญหา Firebase Crashlytics: แนะนำเอเจนต์การเขียนโค้ดเมื่อทำงานกับปัญหา Crashlytics รวมถึงกฎการจัดลำดับความสำคัญและขั้นตอนการวินิจฉัยและแก้ไขการขัดข้อง | |
| crashlytics_reports_guide | คู่มือรายงาน Firebase Crashlytics: แนะนำเอเจนต์การเขียนโค้ดในการขอรายงาน Crashlytics รวมถึงการตั้งค่าตัวกรองที่เหมาะสมและวิธีทำความเข้าใจเมตริก เอเจนต์ควรอ่านคู่มือนี้ก่อนขอรายงานใด ๆ | |
| backend_init_guide | คู่มือการเริ่มต้น Backend ของ Firebase: แนะนำเอเจนต์การเขียนโค้ดในการกำหนดค่าบริการ backend ของ Firebase ในโปรเจกต์ปัจจุบัน | |
| ai_init_guide | คู่มือการเริ่มต้น Firebase GenAI: แนะนำเอเจนต์การเขียนโค้ดในการกำหนดค่าความสามารถ GenAI ในโปรเจกต์ปัจจุบันโดยใช้ Firebase | |
| firestore_init_guide | คู่มือการเริ่มต้น Firestore: แนะนำเอเจนต์การเขียนโค้ดในการกำหนดค่า Firestore ในโปรเจกต์ปัจจุบัน | |
| firestore_rules_init_guide | คู่มือการเริ่มต้นกฎ Firestore: แนะนำเอเจนต์การเขียนโค้ดในการตั้งค่ากฎความปลอดภัยของ Firestore ในโปรเจกต์ | |
| auth_init_guide | คู่มือการเริ่มต้น Firebase Authentication: แนะนำเอเจนต์การเขียนโค้ดในการกำหนดค่า Firebase Authentication ในโปรเจกต์ปัจจุบัน | |
| hosting_init_guide | คู่มือการปรับใช้ Firebase Hosting: แนะนำเอเจนต์การเขียนโค้ดในการปรับใช้กับ Firebase Hosting ในโปรเจกต์ปัจจุบัน | |
| docs | เอกสาร Firebase: โหลดเนื้อหาข้อความธรรมดาจากเอกสาร Firebase เช่น https://firebase.google.com/docs/functions กลายเป็น firebase://docs/functions |