Firebase MCP 伺服器

您可以使用 Firebase MCP 伺服器,讓 AI 技術輔助開發工具能夠與 Firebase 專案搭配運作。Firebase MCP 伺服器可搭配任何可充當 MCP 用戶端的工具,包括 Claude Desktop、Cline、Cursor、Visual Studio Code Copilot、Windsurf Editor 等。

編輯器如果已設定為使用 Firebase MCP 伺服器,就能使用 AI 功能協助您:

  • 建立及管理 Firebase 專案
  • 管理 Firebase 驗證使用者
  • 使用 Cloud Firestore 和 Firebase Data Connect 中的資料
  • 擷取 Firebase Data Connect 結構定義
  • 瞭解 Firestore 和 Cloud Storage for Firebase 的安全性規則
  • 使用 Firebase 雲端通訊傳送訊息

這只是部分清單,如要查看編輯器可用的完整工具清單,請參閱「伺服器功能」一節。

事前準備

  1. 請確認您已安裝可運作的 Node.js 和 npm。

  2. 執行下列指令,驗證 Firebase CLI:

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

    Firebase MCP 伺服器會使用 CLI 處理 Firebase 專案的驗證作業。您必須先透過 CLI 進行驗證,才能使用 MCP 伺服器。如果您嘗試在未登入的情況下使用伺服器,或是驗證權杖已過期,伺服器會顯示錯誤訊息,提示您重新驗證。

設定 MCP 用戶端

Firebase MCP 伺服器可與任何支援標準 I/O (stdio) 做為傳輸媒介的 MCP 用戶端搭配使用。以下是幾個熱門工具的具體操作說明:

基本設定

Claude Desktop

如要設定 Claude Desktop 使用 Firebase MCP 伺服器,請編輯 claude_desktop_config.json 檔案。您可以透過 Claude > 設定選單開啟或建立此檔案。選取「開發人員」分頁標籤,然後按一下「編輯設定檔」

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

Cline

如要設定 Cline 使用 Firebase MCP 伺服器,請編輯 cline_mcp_settings.json 檔案。如要開啟或建立這個檔案,請按一下 Cline 窗格頂端的 MCP 伺服器圖示,然後按一下「Configure MCP Servers」按鈕。

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

Cursor

如要將 Cursor 設定為使用 Firebase MCP 伺服器,請編輯 .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 編輯器

如要設定 Windsurf Editor,請編輯 ~/.codeium/windsurf/mcp_config.json 檔案:

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

選用設定

除了先前顯示的每個用戶端的基本設定之外,您還可以指定兩個選用參數:

  • --dir ABSOLUTE_DIR_PATH:包含 firebase.json 的目錄的絕對路徑,用於為 MCP 伺服器設定專案背景。如果未指定,系統會提供 get_project_directoryset_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 核心 取得目前專案的管理員 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 文件。如果您知道文件的確切路徑,請使用這個選項。
firestore_list_collections firestore 從目前專案中的 Firestore 資料庫擷取集合清單。
firestore_query_collection firestore 透過含有完整文件路徑的集合,從目前專案中的資料庫中擷取一或多個 Firestore 文件。如果您知道集合的確切路徑,以及要為文件使用的篩選子句,請使用這個方法。
firestore_get_rules firestore 擷取目前專案的有效 Firestore 安全性規則。
firestore_validate_rules firestore 檢查所提供的 Firestore 規則來源是否有語法和驗證錯誤。請提供要驗證的原始碼,或原始檔案的路徑。
auth_get_user auth 根據電子郵件地址、電話號碼或 UID 擷取使用者。
auth_disable_user auth 根據 UID 停用或啟用使用者。
auth_list_users auth 擷取專案中所有使用者 (最多指定的限制數量)。
auth_set_claim auth 為特定使用者帳戶設定自訂憑證附加資訊。用於建立與使用者相關聯的受信任值,例如將使用者標示為管理員。宣告的大小有限制,名稱和值應簡明扼要。請只指定 valuejson_value 參數之一。
auth_set_sms_region_policy auth 為 Firebase Auth 設定簡訊區域政策,根據國家/地區代碼的「允許」或「拒絕」清單,限制可接收簡訊的區域。設定這項政策後,它會覆寫任何現有政策。
dataconnect_list_services dataconnect 列出目前專案中可用的 Firebase Data Connect 服務。
dataconnect_get_schema dataconnect 擷取專案中 Firebase Data Connect 結構定義的相關資訊,包括 Cloud SQL 資料來源和描述資料模型的 GraphQL 結構定義。
dataconnect_get_connectors dataconnect 取得專案中的 Firebase Data Connect 連接器,其中包含可供用戶端 SDK 存取的預先定義 GraphQL 查詢。
dataconnect_execute_graphql dataconnect 針對 Data Connect 服務或其模擬器執行任意 GraphQL。
dataconnect_execute_graphql_read dataconnect 針對 Data Connect 服務或其模擬器執行任意 GraphQL 查詢。無法寫入資料。
dataconnect_execute_mutation dataconnect 針對服務或其模擬器執行已部署的 Data Connect 異動。可讀取及寫入資料。
dataconnect_execute_query dataconnect 針對服務或其模擬器執行已部署的 Data Connect 查詢。無法寫入任何資料。
storage_get_rules 儲存空間 擷取目前專案的有效儲存空間安全性規則。
storage_validate_rules 儲存空間 檢查所提供的 Storage Rules 來源是否有語法和驗證錯誤。請提供要驗證的原始碼,或原始檔案的路徑。
storage_get_object_download_url 儲存空間 擷取 Firebase Storage 中物件的下載網址。
messaging_send_message 訊息傳遞 將訊息傳送至 Firebase 雲端通訊註冊權杖或主題。在特定呼叫中,只能提供 registration_tokentopic 其中一個。
remoteconfig_get_template remoteconfig 擷取專案的遠端設定範本
remoteconfig_publish_template remoteconfig 為專案發布新的遠端設定範本
remoteconfig_rollback_template remoteconfig 為專案還原特定版本的遠端設定範本
crashlytics_list_top_issues crashlytics 列出應用程式中發生的重大當機事件。