คุณสามารถใช้เซิร์ฟเวอร์ MCP ของ Firebase เพื่อให้เครื่องมือพัฒนาที่ทำงานด้วยระบบ AI ทำงานร่วมกับโปรเจ็กต์ Firebase ได้ เซิร์ฟเวอร์ MCP ของ Firebase ใช้งานได้กับเครื่องมือใดก็ได้ที่ทำหน้าที่เป็นไคลเอ็นต์ MCP ซึ่งรวมถึง Claude Desktop, Cline, Cursor, Visual Studio Code Copilot, Windsurf Editor และอื่นๆ
เครื่องมือแก้ไขที่กําหนดค่าให้ใช้เซิร์ฟเวอร์ MCP ของ Firebase ส��มารถใช้ความสามารถของ AI เพื่อช่วยคุณในเรื่องต่อไปนี้
- สร้างและจัดการโปรเจ็กต์ Firebase
- จัดการ��ู้ใช้������รตรวจสอบสิทธิ์ Firebase
- ทํางานกับข้อมูลใน Cloud Firestore และ Firebase Data Connect
- เรียกข้อมูลสคีมา Firebase Data Connect
- ทําความเข้าใจกฎความปลอดภัยสําหรับ Firestore และ Cloud Storage สําหรับ Firebase
- ส่งข้อความด้วย Firebase Cloud Messaging
รายการนี้เป็นเพียงส่วนหนึ่งเท่านั้น ดูรายการเครื่องมือทั้งหมดที่พร้อมใช้งานสำหรับโปรแกรมแก้ไขได้ที่ส่วนความสามารถของเซิร์ฟเวอร์
ก่อนเริ่มต้น
ตรวจสอบว่าคุณได้ติดตั้ง Node.js และ npm ที่ใช้งานได้
ตรวจสอบสิทธิ์ Firebase CLI โดยเรียกใช้คำสั่งต่อไปนี้
npx -y firebase-tools@latest login --reauth
เซิร์ฟเวอร์ MCP ของ Firebase ใช้ CLI เพื่อจัดการการตรวจสอบสิทธิ์กับโปรเจ็กต์ Firebase คุณต้องตรวจสอบสิทธิ์ด้วย CLI ก่อนใช้เซิร์ฟเวอร์ MCP หากคุณพยายามใช้เซิร์ฟเวอร์โดยไม่ลงชื่อเข้าใช้ หรือหากโทเค็นการตรวจสอบสิทธิ์หมดอายุแล้ว เซิร์ฟเวอร์จะแสดงข้อความแสดงข้อผิดพลาดเพื่อแจ้งให้คุณตรวจสอบสิทธิ์อีกครั้ง
ตั้งค่าไคลเอ็นต์ MCP
เซิร์ฟเวอร์ MCP ของ Firebase ทำงานร่วมกับไคลเอ็นต์ MCP ใดก็ได้ที่รองรับ I/O มาตรฐาน (stdio) เป็นสื่อกลางการขนส่ง วิธีการเฉพาะสำหรับเครื่องมือยอดนิยมบางรายการมีดังนี้
การกำหนดค่าพื้นฐาน
Claude Desktop
หากต้องการกำหนดค่า Claude Desktop ให้ใช้เซิร์ฟเวอร์ MCP ของ Firebase ให้แก้ไขไฟล์ claude_desktop_config.json
คุณเปิดหรือสร้างไฟล์นี้ได้จากเมนู Claude > Settings เลือกแท็บนัก��ัฒนาซอฟต์แวร์ แล้วคลิกแก้ไขการกําหนดค่า
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
}
Cline
หากต้องการกําหนดค่า Cline ให้ใช้เซิร์ฟเวอร์ MCP ของ Firebase ให้แก้ไขไฟล์ cline_mcp_settings.json
คุณเปิดหรือสร้างไฟล์นี้ได้โดยการคลิกไอคอนเซิร์ฟเวอร์ MCP ที่ด้านบนของแผง Cline แล้วคลิกปุ่มกําหนดค่าเซิร์ฟเวอร์ MCP
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"],
"disabled": false
}
}
}
เคอร์เซอร์
หากต้องการกําหนดค่าเคอร์เซอร์ให้ใช้เซิร์ฟเวอร์ MCP ของ Firebase ให้แก้ไขไฟล์ .cursor/mcp.json
(เพื่อกําหนดค่าเฉพาะโปรเจ็กต์ที่ต้องการ) หรือไฟล์ ~/.cursor/mcp.json
(เพื่อให้เซิร์ฟเวอร์ MCP พร้อมใช้งานในทุกโปรเจ็กต์)
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
Visual Studio Code Copilot
หากต้องการกำหนดค่าโปรเจ็กต์เดียว ให้แก้ไขไฟล์ .vscode/mcp.json
ในพื้นที่ทำงาน โดยทำดังนี้
"servers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
หากต้องการให้เซิร์ฟเวอร์พร้อมใช้งานในทุกโปรเจ็กต์ที่คุณเปิด ให้แก้ไขการตั้งค่าผู้ใช้ดังนี้
"mcp": {
"servers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
}
เครื่องมือแก้ไขวินด์เซิร์ฟ
หากต้องการกำหนดค่า Windsurf Editor ให้แก้ไขไฟล์ต่อไปนี้
~/.codeium/windsurf/mcp_config.json
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
การกำหนดค่าที่ไม่บังคับ
นอกเหนือจากการกําหนดค่าพื้นฐานสําหรับลูกค้าแต่ละรายที่แสดงไว้ก่อนหน้านี้แล้ว คุณยังระบุพารามิเตอร์ที่ไม่บังคับ 2 รายการต่อไปนี้ได้ด้วย
--dir ABSOLUTE_DIR_PATH
: เส้นทางสัมบูรณ์ของไดเรกทอรีที่มีfirebase.json
เพื่อตั้งค่าบริบทโปรเจ็กต์สำหรับเซิร์ฟเวอร์ MCP หากไม่ระบุ เครื่องมือget_project_directory
และset_project_directory
จะพร้อมใช้งาน และไดเรกทอรีเริ่มต้นจะเป็นไดเรกทอรีทํางานที่เริ่มเซิร์ฟเวอร์ MCP--only FEATURE_1,FEATURE_2
: รายการกลุ่มฟีเจอร์ที่แยกด้วยคอมมาเพื่อเปิดใช้งาน ใช้ตัวเลือกนี้เพื่อจำกัดเครื่องมือที่แสดงเฉพาะฟีเจอร์ที่คุณใช้งานอยู่ โปรดทราบว่าเครื่องมือหลักจะพร้อมใช้งานเสมอ
เช่น
"firebase": {
"command": "npx",
"args": [
"-y",
"firebase-tools@latest", "experimental:mcp",
"--dir", "/Users/turing/my-project",
"--only", "auth,firestore,storage"
]
}
ความสามารถของเซิร์ฟเวอร์ MCP
ชื่อเครื่องมือ | กลุ่มฟีเจอร์ | คำอธิบาย |
---|---|---|
firebase_get_project | แกนกลาง | ดึงข้อมูลเกี่ยวกับโปรเจ็กต์ Firebase ที่ใช้งานอยู่ในปัจจุบัน |
firebase_list_apps | แกนกลาง | ดึงข้อมูลแอปที่ลงทะเบียนในโปรเจ็กต์ Firebase ปัจจุบัน |
firebase_get_admin_sdk_config | แกนกลาง | รับการกําหนดค่า Admin SDK สําหรับโปรเจ็กต์ปัจจุบัน |
firebase_get_sdk_config | แกนกลาง | ดึงข้อมูลการกําหนดค่า Firebase SDK สําหรับแพลตฟอร์มที่ระบุ คุณต้องระบุแพลตฟอร์มหรือ app_id |
firebase_create_project | แกนกลาง | สร้างโปรเจ็กต์ Firebase ใหม่ |
firebase_create_app | แกนกลาง | สร้างแอปใหม่ในโปรเจ็กต์ Firebase สำหรับเว็บ, iOS หรือ Android |
firebase_create_android_sha | แกนกลาง | เพิ่มแฮชใบรับรอง SHA ลงในแอป Android ที่มีอยู่ |
firebase_get_environment | แกนกลาง | ดึงข้อมูลเกี่ยวกับสภาพแวดล้อม Firebase ปัจจุบัน ซึ่งรวมถึงผู้ใช้ที่ตรวจสอบสิทธิ์ในปัจจุบัน ไดเรกทอรีโปรเจ็กต์ โปรเจ็กต์ที่ใช้งานอยู่ และอื่นๆ |
firebase_update_environment | แกนกลาง | อัปเดตการกําหนดค่าสภาพแวดล้อม Firebase เช่น ไดเรกทอรีโปรเจ็กต์ โปรเจ็กต์ที่ใช้งานอยู่ บัญชีผู้ใช้ที่ใช้งานอยู่ และอื่นๆ ใช้ firebase_get_environment เพื่อดูสภาพแวดล้อมที่กําหนดค่าไว้ในปัจจุบัน |
firebase_init | แกนกลาง | เริ่มต้นฟีเจอร์ Firebase ที่เลือกในพื้นที่ทํางาน ฟีเจอร์ทั้งหมดเป็นฟีเจอร์ที่ไม่บังคับ โปรดระบุเฉพาะผลิตภัณฑ์ที่ต้องการตั้งค่า คุณสามารถเริ่มต้นฟีเจอร์ใหม่ในไดเรกทอรีโปรเจ็กต์ที่มีอยู่ได้ ���ต่การเริ่มต้นฟีเจอร์ที่มีอยู่อีกครั้งอาจเขียนทับการกำหนดค่า |
firestore_delete_document | firestore | ลบ��������า�� Firestore �����กจากฐานข้อมูลในโปรเจ็กต์ปัจจุบันตามเส้นทางเอกสารแบบเต็ม ใช้ตัวเลือกนี้หากคุณทราบเส้นทางที่แน่นอนของเอกสาร |
firestore_get_documents | firestore | ดึงข้อมูลเอกสาร Firestore ตั้งแต่ 1 รายการขึ้นไปจากฐานข้อมูลในโปรเจ็กต์ปัจจุบันตามเส้นทางเอกสารแบบเต็ม ใช้ตัวเลือกนี้หากคุณทราบเส้นทางที่แน่นอนของเอกสาร |
firestore_list_collections | firestore | ดึงข้อมูลรายการคอลเล็กชันจากฐานข้อมูล Firestore ในโปรเจ็กต์ปัจจุบัน |
firestore_query_collection | firestore | ดึงข้อมูลเอกสาร Firestore ตั้งแต่ 1 รายการขึ้นไปจากคอลเล็กชันที่เป็นฐานข้อมูลในโปรเจ็กต์ปัจจุบันตามคอลเล็กชันที่มีเส้นทางเอกสารแบบเต็ม ใช้ตัวเลือกนี้หากคุณทราบเส้นทางที่แน่นอนของคอลเล็กชันและคำสั่งกรองที่ต้องการสำหรับเอกสาร |
firestore_get_rules | firestore | ดึงข้อมูลกฎความปลอดภัยของ Firestore ที่ใช้งานอยู่สำหรับโปรเจ็กต์ปัจจุบัน |
firestore_validate_rules | firestore | ตรวจสอบแหล่งที่มาของกฎ Firestore ที่ระบุเพื่อหาข้อผิดพลาดเกี่ยวกับไวยากรณ์และการตรวจสอบ ระบุซอร์สโค้ดที่จะตรวจสอบหรือเส้นทางไปยังไฟล์ต้นฉบับ |
auth_get_user | การตรวจสอบสิทธิ์ | ดึงข้อมูลผู้ใช้ตามอีเมล หมายเลขโทรศัพท์ หรือ UID |
auth_disable_user | การตรวจสอบสิทธิ์ | ปิดหรือเปิดใช้ผู้ใช้ตาม UID |
auth_list_users | การตรวจสอบสิทธิ์ | ดึงข้อมูลผู้ใช้ทั้งหมดในโปรเจ็กต์ตามขีดจำกัดที่ระบุ |
auth_set_claim | การตรวจสอบสิทธิ์ | ตั้งค่าการอ้างสิทธิ์ที่กำหนดเองในบัญชีของผู้ใช้ที่เฉพาะเจาะจง ใช้เพื่อสร้างค่าที่เชื่อถือซึ่งเชื่อมโยงกับผู้ใช้ เช่น การทําเครื่องหมายผู้ใช้เป็นผู้ดูแลระบบ ข้อกล่าวอ้างมีขีดจํากัดด้านขนาดและควรมีชื่อและค่าที่กระชับ ระบุพารามิเตอร์ value หรือ json_value เพียงอย่างใดอย่างหนึ่งเท่านั้น |
auth_set_sms_region_policy | การตรวจสอบสิทธิ์ | ตั้งค่านโยบายภูมิภาค SMS สําหรับ Firebase Auth เพื่อจํากัดภูมิภาคที่รับ SMS ได้ โดยอิงตามรายการรหัสประเทศที่อนุญาตหรือปฏิเสธ นโยบายนี้จะลบล้างนโยบายที่มีอยู่เมื่อตั้งค่า |
dataconnect_list_services | dataconnect | �������งรายการบริการ Firebase Data Connect ที่มีอยู่ในโปรเจ็กต์ปัจจุบัน |
dataconnect_get_schema | dataconnect | ดึงข้อมูลเกี่ยวกับสคีมา Firebase Data Connect ในโปรเจ็กต์ ซึ่งรวมถึงแหล่งข้อมูล Cloud SQL และสคีมา GraphQL ที่อธิบายโมเดลข้อมูล |
dataconnect_get_connectors | dataconnect | รับตัวเชื่อมต่อ Firebase Data Connect ในโปรเจ็กต์ ซึ่งรวมถึงการค้นหา GraphQL ที่กําหนดไว้ล่วงหน้าซึ่ง SDK ของไคลเอ็นต์เข้าถึงได้ |
dataconnect_execute_graphql | dataconnect | เรียกใช้ GraphQL ที่กำหนดเองกับบริการเชื่อมต่อข้อมูลหรือโปรแกรมจำลอง |
dataconnect_execute_graphql_read | dataconnect | เรียกใช้การค้นหา GraphQL ที่กำหนดเองกับบริการเชื่อมต่อข้อมูลหรือโปรแกรมจำลอง เขียนข้อมูลไม่ได้ |
dataconnect_execute_mutation | dataconnect | เรียกใช้การกลายพันธุ์ของ Data Connect ที่ติดตั้งใช้งานกับบริการหรือโปรแกรมจำลองของบริการ อ่านและเขียนข้อมูลได้ |
dataconnect_execute_query | dataconnect | เรียกใช้การค้นหาการเชื่อมต่อข้อมูลที่ติดตั้งใช้งานกับบริการหรือโปรแกรมจำลองของบริการ เขียนข้อมูลไม่ได้ |
storage_get_rules | พื้นที่เก็บข้อมูล | ดึงข้อมูลกฎความปลอดภัยของ Storage ที่ใช้งานอยู่สำหรับโปรเจ็กต์ปัจจุบัน |
storage_validate_rules | พื้นที่เก็บข้อมูล | ตรวจสอบแหล่งที่มาของกฎพื้นที่เก็บข้อมูลที่ระบุเพื่อหาข้อผิดพลาดเกี่ยวกับไวยากรณ์และการตรวจสอบ ระบุซอร์สโค้ดที่จะตรวจสอบหรือเส้นทางไปยังไฟล์ต้นฉบับ |
storage_get_object_download_url | พื้นที่เก็บข้อมูล | ดึงข้อมูล URL การดาวน์โหลดสําหรับออบเจ็กต์ใน Firebase Storage |
messaging_send_message | การรับส่งข้อความ | ส่งข้อความไปยังโทเค็นการลงทะเบียนหรือหัวข้อ Firebase Cloud Messaging ระบุ registration_token หรือ topic ได้เพียง 1 รายการเท่านั้นในสายหนึ่งๆ |
remoteconfig_get_template | remoteconfig | ดึงข้อมูลเทมเพลตการกําหนดค่าระยะไกลสําหรับโปรเจ็กต์ |
remoteconfig_publish_template | remoteconfig | เผยแพร่เทมเพลตการกําหนดค่าระยะไกลใหม่สําหรับโปรเจ็กต์ |
remoteconfig_rollback_template | remoteconfig | ย้อนกลับไปยังเทมเพลตการกําหนดค่าระยะไกลเวอร์ชันที่เจาะจงสําหรับโปรเจ็กต์ |
crashlytics_list_top_issues | crashlytics | แสดงรายการข้อขัดข้องยอดนิยมจาก Crashlytics ที่เกิดขึ้นในแอปพลิเคชัน |