เซิร์ฟเวอร์ 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 สําหรับ Firebase
  • ส่งข้อความด้วย Firebase Cloud Messaging

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

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

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

  2. ตรวจสอบสิทธิ์ 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 ที่เกิดขึ้นในแอปพลิเคชัน