เซิร์ฟเวอร์ MCP ของ Firebase

คุณสามารถใช้เซิร์ฟเวอร์ 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 for Firebase
  • ส่งข้อความด้วย Firebase Cloud Messaging

เครื่องมือบางอย่างใช้ Gemini ใน Firebase เพื่อช่วยคุณในเรื่องต่อไปนี้

  • สร้างสคีมาและการดำเนินการของ Firebase Data Connect
  • ปรึกษา Gemini เกี่ยวกับผลิตภัณฑ์ Firebase

รายการเหล่านี้เป็นเพียงรายการบางส่วน โปรดดูรายการเครื่องมือทั้งหมดที่พร้อมใช้งานสำหรับเอดิเตอร์ในส่วนความสามารถของเซิร์ฟเวอร์

เมื่อเซิร์ฟเวอร์ Firebase MCP เรียกใช้เครื่องมือ เซิร์ฟเวอร์จะใช้ข้อมูลเข้าสู่ระบบของผู้ใช้เดียวกันกับที่ให้สิทธิ์ Firebase CLI ในสภาพแวดล้อมที่กำลังเรียกใช้ ซึ่งอาจเป็นผู้ใช้ที่เข้าสู่ระบบหรือ ข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน ทั้งนี้ขึ้นอยู่กับสภาพแวดล้อม

ก่อนเริ่มต้น

  1. ตรวจสอบว่าคุณได้ติดตั้ง Node.js และ npm ที่ใช้งานได้แล้ว

  2. ตรวจสอบสิทธิ์ Firebase CLI โดยเรียกใช้คำสั่งต่อไปนี้

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

    เซิร์ฟเวอร์ MCP ของ Firebase ใช้ CLI เพื่อจัดการการตรวจสอบสิทธิ์กับโปรเจ็กต์ Firebase คุณต้องตรวจสอบสิทธิ์ด้วย CLI ก่อนใช้ MCP server หากคุณพยายามใช้เซิร์ฟเวอร์โดยไม่ได้ลงชื่อเข้าใช้ หรือหากโทเค็นการตรวจสอบสิทธิ์หมดอายุ เซิร์ฟเวอร์จะพิมพ์ข้อความแสดงข้อผิดพลาดที่แจ้งให้คุณตรวจสอบสิทธิ์อีกครั้ง

ตั้งค่าไคลเอ็นต์ MCP

เซิร์ฟเวอร์ MCP ของ Firebase สามารถทำงานร่วมกับไคลเอ็นต์ MCP ใดก็ได้ที่รองรับ I/O มาตรฐาน (stdio) เป็นสื่อกลางในการรับส่ง วิธีการเฉพาะสำหรับเครื่องมือยอดนิยมบางอย่างมีดังนี้

การกำหนดค่าพื้นฐาน

Claude Desktop

หากต้องการกำหนดค่า Claude Desktop ให้ใช้เซิร์ฟเวอร์ MCP ของ Firebase ให้แก้ไขไฟล์ claude_desktop_config.json คุณเปิดหรือสร้างไฟล์นี้ได้จากเมนู Claude > การตั้งค่า เลือกแท็บนักพัฒนาซอฟต์แวร์ แล้วคลิก แก้ไขการกำหนดค่า

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

เคอร์เซอร์

หากต้องการกำหนดค่า Cursor ให้ใช้เซิร์ฟเวอร์ MCP ของ Firebase ให้แก้ไขไฟล์ .cursor/mcp.json (เพื่อกำหนดค่าเฉพาะโปรเจ็กต์หนึ่งๆ) หรือไฟล์ ~/.cursor/mcp.json (เพื่อให้เซิร์ฟเวอร์ MCP พร้อมใช้งานในทุกโปรเจ็กต์)

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

Firebase Studio

หากต้องการกำหนดค่า Firebase Studio ให้ใช้เซิร์ฟเวอร์ MCP ของ Firebase ให้แก้ไขหรือ สร้างไฟล์การกำหนดค่า

  • Gemini ในแชทของ Firebase ใช้ .idx/mcp.json
  • Gemini CLI ใช้ .gemini/settings.json

หากยังไม่มีไฟล์ ให้สร้างโดยคลิกขวาที่ไดเรกทอรีหลัก แล้วเลือกไฟล์ใหม่ เพิ่มเนื้อหาต่อไปนี้ลงในไฟล์

{
  "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

หากต้องการกำหนดค่าโปรแกรมแก้ไข Windsurf ให้แก้ไขไฟล์ ~/.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_list_projects แกนกลาง เรียกข้อมูลรายการโปรเจ็กต์ Firebase ได้สูงสุดตามจำนวนทั้งหมดที่ระบุ
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_consult_assistant แกนกลาง ส่งคำถามไปยังผู้ช่วย AI ที่ได้รับการปรับปรุงมาโดยเฉพาะเพื่อตอบคำถามเกี่ยวกับ Firebase
firebase_get_environment แกนกลาง ดึงข้อมูลเกี่ยวกับสภาพแวดล้อม Firebase ปัจจุบัน รวมถึงผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์ในปัจจุบัน ไดเรกทอรีโปรเจ็กต์ โปรเจ็กต์ที่ใช้งานอยู่ และอื่นๆ
firebase_update_environment แกนกลาง อัปเดตการกำหนดค่าสภาพแวดล้อม Firebase เช่น ไดเรกทอรีโปรเจ็กต์ โปรเจ็กต์ที่ใช้งานอยู่ บัญชีผู้ใช้ที่ใช้งานอยู่ และอื่นๆ ใช้ firebase_get_environment เพื่อดูสภาพแวดล้อมที่กำหนดค่าไว้ในปัจจุบัน
firebase_init แกนกลาง เริ่มต้นฟีเจอร์ Firebase ที่เลือกในพื้นที่ทํางาน (Firestore, Data Connect, ฐานข้อมูลเรียลไทม์) ฟีเจอร์ทั้งหมดเป็นแบบไม่บังคับ โปรดระบุเฉพาะผลิตภัณฑ์ที่คุณต้องการตั้งค่า คุณสามารถเริ่มต้นใช้งานฟีเจอร์ใหม่ในไดเรกทอรีโปรเจ็กต์ที่มีอยู่ได้ แต่การเริ่มต้นใช้งานฟีเจอร์ที่มีอยู่อีกครั้งอาจเขียนทับการกำหนดค่า หากต้องการทําให้ฟีเจอร์ที่เริ่มต้นใช้งานได้ ให้เรียกใช้คําสั่ง firebase deploy หลังจากเครื่องมือ firebase_init
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 เพื่อจำกัดภูมิภาคที่รับข้อความได้ตามรายการรหัสประเทศที่อนุญาตหรือปฏิเสธ นโยบายนี้จะลบล้างนโยบายที่มีอยู่เมื่อมีการตั้งค่า
dataconnect_list_services dataconnect แสดงรายการบริการ Firebase Data Connect ที่พร้อมใช้งานในโปรเจ็กต์ปัจจุบัน
dataconnect_generate_schema dataconnect สร้างสคีมาการเชื่อมต่อข้อมูล Firebase ตามคำอธิบายแอปของผู้ใช้
dataconnect_generate_operation dataconnect สร้างการค้นหาหรือการเปลี่ยนแปลง Firebase Data Connect รายการเดียวโดยอิงตามสคีมาที่กําหนดไว้ในปัจจุบันและพรอมต์ที่ระบุ
dataconnect_get_schema dataconnect ดึงข้อมูลเกี่ยวกับสคีมาการเชื่อมต่อข้อมูล Firebase ในโปรเจ็กต์ ซึ่งรวมถึงแหล่งข้อมูล Cloud SQL และสคีมา GraphQL ที่อธิบายโมเดลข้อมูล
dataconnect_get_connectors dataconnect รับตัวเชื่อมต่อ Firebase Data Connect ในโปรเจ็กต์ ซึ่งรวมถึงการค้นหา GraphQL ที่กำหนดไว้ล่วงหน้าซึ่ง SDK ของไคลเอ็นต์เข้าถึงได้
dataconnect_execute_graphql dataconnect เรียกใช้ GraphQL ที่กำหนดเองกับบริการ Data Connect หรือโปรแกรมจำลอง
dataconnect_execute_graphql_read dataconnect เรียกใช้การค้นหา GraphQL ที่กำหนดเองกับบริการ Data Connect หรือโปรแกรมจำลอง เขียนข้อมูลไม่ได้
dataconnect_execute_mutation dataconnect เรียกใช้การเปลี่ยนแปลง Data Connect ที่ติดตั้งใช้งานกับบริการหรือโปรแกรมจำลองของบริการ อ่านและเขียนข้อมูลได้
dataconnect_execute_query dataconnect เรียกใช้การค้นหา Data Connect ที่ติดตั้งใช้งานกับบริการหรือโปรแกรมจำลองของบริการ เขียนข้อมูลไม่ได้
storage_get_rules พื้นที่เก็บข้อมูล ดึงข้อมูลกฎความปลอดภัยของ Storage ที่ใช้งานอยู่สำหรับโปรเจ็กต์ปัจจุบัน
storage_validate_rules พื้นที่เก็บข้อมูล ตรวจสอบแหล่งที่มาของกฎการจัดเก็บที่ระบุเพื่อหาข้อผิดพลาดด้านไวยากรณ์และการตรวจสอบ ระบุซอร์สโค้ดเพื่อตรวจสอบหรือเส้นทางไปยังไฟล์ต้นฉบับ
storage_get_object_download_url พื้นที่เก็บข้อมูล ดึงข้อมูล URL สำหรับดาวน์โหลดออบเจ็กต์ใน Firebase Storage
messaging_send_message การรับส่งข้อความ ส่งข้อความไปยังโทเค็นการลงทะเบียนหรือหัวข้อ Firebase Cloud Messaging ในแต่ละการเรียกใช้ คุณจะระบุได้เพียง registration_token หรือ topic เท่านั้น
remoteconfig_get_template remoteconfig ดึงข้อมูลเทมเพลตการกำหนดค่าระยะไกลสำหรับโปรเจ็กต์
remoteconfig_publish_template remoteconfig เผยแพร่เทมเพลตการกำหนดค่าระยะไกลใหม่สำหรับโปรเจ็กต์
remoteconfig_rollback_template remoteconfig ย้อนกลับไปใช้เทมเพลตการกำหนดค่าระยะไกลเวอร์ชันที่เฉพาะเจาะจงสำหรับโปรเจ็กต์
crashlytics_list_top_issues crashlytics แสดงข้อขัดข้องยอดนิยมจาก Crashlytics ที่เกิดขึ้นในแอปพลิเคชัน
apphosting_fetch_logs apphosting ดึงข้อมูลบันทึกล่าสุดสำหรับแบ็กเอนด์ App Hosting ที่ระบุ หากระบุ buildLogs ระบบจะแสดงบันทึกจากกระบวนการบิลด์สำหรับบิลด์ล่าสุด โดยบันทึกล่าสุดจะแสดงเป็นอันดับแรก
apphosting_list_backends apphosting ดึงข้อมูลรายการแบ็กเอนด์ของ App Hosting ในโปรเจ็กต์ปัจจุบัน รายการที่ว่างเปล่าหมายความว่าไม่มีแบ็กเอนด์ uri คือ URL สาธารณะของแบ็กเอนด์ แบ็กเอนด์ที่ใช้งานได้จะมีอาร์เรย์ managed_resources ซึ่งจะมีรายการ run_service run_service.service คือชื่อทรัพยากรของบริการ Cloud Run ที่ให้บริการแบ็กเอนด์ของ App Hosting ส่วนสุดท้ายของชื่อนั้นคือรหัสบริการ domains คือรายการโดเมนที่เชื่อมโยงกับแบ็กเอนด์ โดยมีประเภทเป็น CUSTOM หรือ DEFAULT แบ็กเอนด์ทุกรายการควรมีโดเมน DEFAULT โดเมนจริงที่ผู้ใช้จะใช้เพื่อเชื่อมต่อกับแบ็กเอนด์คือพารามิเตอร์สุดท้ายของชื่อทรัพยากรโดเมน หากตั้งค่าโดเมนที่กำหนดเองอย่างถูกต้อง โดเมนจะมีสถานะที่ลงท้ายด้วย ACTIVE