Firebase MCP 伺服器

您可以使用 Firebase MCP 伺服器,讓 AI 輔助開發工具能夠處理 Firebase 專案和應用程式的程式碼集。

Firebase MCP 伺服器可與任何能做為 MCP 用戶端的工具搭配使用,包括:Firebase Studio、Gemini CLI 和 Gemini Code Assist、Claude Code 和 Claude Desktop、Cline、Cursor、VS Code Copilot、Windsurf 等等!

查看設定操作說明

MCP 伺服器的優點

設定為使用 Firebase MCP 伺服器的編輯器可運用 AI 功能,協助您執行下列作業:

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

部分工具會使用 Gemini in Firebase 協助您:

  • 生成 Firebase Data Connect 結構定義和作業
  • 向 Gemini 諮詢 Firebase 產品

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

設定 MCP 用戶端

Firebase MCP 伺服器可與任何支援標準 I/O (stdio) 做為傳輸媒介的 MCP 用戶端搭配使用。

Firebase MCP 伺服器發出工具呼叫時,會使用授權 Firebase CLI 的相同使用者憑證,也就是執行環境中的憑證。這可能是已登入的使用者或應用程式預設憑證,視環境而定。

事前準備

請確認 Node.js 和 npm 安裝作業正常運作。

基本設定

以下是使用 Firebase MCP 伺服器搭配部分熱門 AI 輔助工具的基本設定說明:

Firebase Studio

如要設定 Firebase Studio 使用 Firebase MCP 伺服器,請編輯或建立設定檔:.idx/mcp.json

如果檔案尚不存在,請在上層目錄上按一下滑鼠右鍵,然後選取「New file」,即可建立檔案。在檔案中加入下列內容:

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

Gemini CLI

建議您安裝 Gemini CLI 的 Firebase 擴充功能,設定 Gemini CLI 使用 Firebase MCP 伺服器:

gemini extensions install https://github.com/gemini-cli-extensions/firebase/

安裝 Firebase 擴充功能後,系統會自動設定 Firebase MCP 伺服器,並提供可提升 Gemini Firebase 應用程式開發成效的內容檔案。

或者,您也可以編輯或建立下列任一設定檔,將 Gemini CLI 設為使用 Firebase MCP 伺服器 (但不是 Firebase 擴充功能環境定義檔):

  • 專案中的內容:.gemini/settings.json
  • 在主目錄中:~/.gemini/settings.json

如果檔案尚不存在,請在上層目錄上按一下滑鼠右鍵,然後選取「New file」,即可建立檔案。在檔案中加入下列內容:

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

Gemini 程式碼小幫手

建議您安裝 Gemini CLI 的 Firebase 擴充功能,設定 Gemini Code Assist 使用 Firebase MCP 伺服器:

gemini extensions install https://github.com/gemini-cli-extensions/firebase/

安裝 Firebase 擴充功能後,系統會自動設定 Firebase MCP 伺服器,並提供可提升 Gemini Firebase 應用程式開發成效的內容檔案。

或者,您也可以編輯或建立下列任一設定檔,將 Gemini Code Assist 設為使用 Firebase MCP 伺服器 (但不是 Firebase 擴充功能環境定義檔案):

  • 專案中的內容:.gemini/settings.json
  • 在主目錄中:~/.gemini/settings.json

如果檔案尚不存在,請在上層目錄上按一下滑鼠右鍵,然後選取「New file」,即可建立檔案。在檔案中加入下列內容:

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

Claude

Claude Code

如要將 Claude Code 設定為使用 Firebase MCP 伺服器,請在應用程式資料夾下執行下列指令:

claude mcp add firebase npx -- -y firebase-tools@latest mcp

如要驗證安裝作業,請執行下列指令:

claude mcp list

應該顯示:

firebase: npx -y firebase-tools@latest mcp - ✓ Connected

Claude Desktop

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

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

Cline

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

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

游標

如要設定 Cursor 使用 Firebase MCP 伺服器,請編輯 .cursor/mcp.json 檔案 (僅設定特定專案) 或 ~/.cursor/mcp.json 檔案 (在所有專案中提供 MCP 伺服器):

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

VS Code Copilot

如要設定單一專案,請編輯工作區中的 .vscode/mcp.json 檔案:

"servers": {
  "firebase": {
    "type": "stdio",
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "mcp"]
  }
}

如要在開啟的每個專案中使用伺服器,請編輯使用者設定

"mcp": {
  "servers": {
    "firebase": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "mcp"]
    }
  }
}

滑浪風帆

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

"mcpServers": {
  "firebase": {
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "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", "mcp",
    "--dir", "/Users/turing/my-project",
    "--only", "auth,firestore,storage"
  ]
}

MCP 伺服器功能

Firebase MCP 伺服器提供三種不同類別的 MCP 功能:

  • 提示:可執行的預先撰寫提示程式庫,經過最佳化,可使用 Firebase 開發及執行應用程式

  • 工具:這是一組工具,可供 LLM 直接處理 Firebase 專案 (須經您核准!)。

  • 資源:供 LLM 使用的文件檔案,可提供更多指引和背景資訊,協助完成工作或達成目標

提示

Firebase MCP 伺服器隨附預先撰寫的提示程式庫,可針對使用 Firebase 開發及執行應用程式進行最佳化。您可以執行這些提示,完成各種常見工作或達成目標。

下表說明 MCP 伺服器提供的提示。

支援 MCP 的大多數開發工具,都會提供便利的方式來執行這些提示。舉例來說,Gemini CLI 會將這些提示設為斜線指令:

/firebase:init

在 Gemini CLI 中,開始輸入 /firebase: 即可查看可用指令清單。

提示名稱 特徵群組 說明
firebase:deploy 核心 使用這項指令將資源部署至 Firebase。

引數:
<提示> (選用):您想提供的任何部署相關具體指示
firebase:init 核心 使用這項指令設定 Firebase 服務,例如後端和 AI 功能。
firebase:consult 核心 使用這項指令諮詢 Firebase Assistant,取得 Firebase 平台的最新詳細說明文件。

引數:
<prompt>:要傳遞至 Gemini in Firebase 模型的相關問題
crashlytics:connect crashlytics 存取 Firebase 應用程式的 Crashlytics 資料。

工具

Firebase MCP 伺服器也提供多種工具,供 LLM 使用,協助 LLM 直接處理 Firebase 專案 (須經您核准!)。與提示不同,您不會直接呼叫這些工具,而是由支援工具呼叫的模型 (例如 Gemini、Claude 和 GPT) 在需要時自動呼叫這些工具,執行開發工作。

下表說明 MCP 伺服器提供的工具。

工具名稱 特徵群組 說明
firebase_login 核心 用來讓使用者登入 Firebase CLI 和 Firebase MCP 伺服器。您必須擁有 Google 帳戶,且必須登入才能建立及使用 Firebase 專案。
firebase_logout 核心 用來將使用者登出 Firebase CLI 和 Firebase MCP 伺服器。
firebase_validate_security_rules 核心 您可以使用這項工具,檢查 Firestore、Storage 或 Realtime Database 的 Firebase 安全性規則,找出語法和驗證錯誤。
firebase_get_project 核心 使用這個方法擷取目前有效 Firebase 專案的相關資訊。
firebase_list_apps 核心 您可以使用這個方法,擷取目前有效 Firebase 專案中註冊的 Firebase 應用程式清單。Firebase 應用程式可以是 iOS、Android 或網頁應用程式。
firebase_list_projects 核心 用來擷取登入使用者可存取的 Firebase 專案清單。
firebase_get_sdk_config 核心 用來擷取 Firebase 應用程式的 Firebase 設定資訊。您必須為目前有效的 Firebase 專案中註冊的 Firebase 應用程式,指定平台或 Firebase 應用程式 ID。
firebase_create_project 核心 用來建立新的 Firebase 專案。
firebase_create_app 核心 您可以使用這個選項,在目前啟用的 Firebase 專案中建立新的 Firebase 應用程式。Firebase 應用程式可以是 iOS、Android 或網頁應用程式。
firebase_create_android_sha 核心 使用這個方法,將指定的 SHA 憑證雜湊新增至指定的 Firebase Android 應用程式。
firebase_get_environment 核心 您可以使用這項指令,擷取 Firebase CLI 和 Firebase MCP 伺服器的目前 Firebase 環境設定,包括目前已驗證的使用者、專案目錄、有效 Firebase 專案等。
firebase_update_environment 核心 您可以使用這項工具更新 Firebase CLI 和 Firebase MCP 伺服器的環境設定,例如專案目錄、有效專案、有效使用者帳戶、接受服務條款等。使用 firebase_get_environment 查看目前設定的環境。
firebase_init 核心 您可以使用這個選項,在工作區中初始化選取的 Firebase 服務 (Cloud Firestore 資料庫、Firebase Data Connect、Firebase 即時資料庫、Firebase AI Logic)。所有服務皆為選用,請只指定要設定的產品。您可以在現有專案目錄中初始化新功能,但重新初始化現有功能可能會覆寫設定。如要部署初始化的功能,請在 firebase_init 工具後執行 firebase deploy 指令。
firebase_get_security_rules 核心 可用於擷取指定 Firebase 服務的安全規則。如果產品中有多個該服務的執行個體,系統會傳回預設執行個體的規則。
firebase_read_resources 核心 用來讀取 firebase:// 資源的內容或列出可用資源
firestore_delete_document firestore 這項工具可透過完整文件路徑,從目前專案的資料庫中刪除 Firestore 文件。如果您知道文件的確切路徑,請使用這個方法。
firestore_get_documents firestore 使用這個方法,透過完整的文件路徑,從目前專案的資料庫擷取一或多個 Firestore 文件。如果您知道文件的確切路徑,請使用這個方法。
firestore_list_collections firestore 您可以使用這項功能,從目前專案的 Firestore 資料庫擷取集合清單。
firestore_query_collection firestore 使用這個方法,透過集合和完整的文件路徑,從目前專案的資料庫中擷取一或多個 Firestore 文件。如果您知道集合的確切路徑,以及您希望文件使用的篩選子句,請使用這項功能。
auth_get_users 授權 根據 UID 清單或電子郵件地址清單,擷取一或多位 Firebase 驗證使用者。
auth_update_user 授權 您可以使用這項功能,在特定使用者的帳戶上停用、啟用或設定自訂聲明。
auth_set_sms_region_policy 授權 您可以使用這項政策,為 Firebase 驗證設定簡訊區域政策,根據國家/地區代碼的許可或拒絕清單,限制可接收簡訊的區域。設定這項政策後,系統會覆寫所有現有政策。
dataconnect_build dataconnect 您可以使用這項功能編譯 Firebase Data Connect 結構定義、作業和/或連接器,並檢查建構錯誤。
dataconnect_generate_schema dataconnect 根據使用者對應用程式的描述,生成 Firebase Data Connect 結構定義。
dataconnect_generate_operation dataconnect 根據目前部署的結構定義和提供的提示,生成單一 Firebase Data Connect 查詢或突變。
dataconnect_list_services dataconnect 用來列出現有的本機和後端 Firebase Data Connect 服務
dataconnect_execute dataconnect 您可以使用這個工具,對 Data Connect 服務或其模擬器執行 GraphQL 作業。
storage_get_object_download_url 儲存空間 用來擷取 Cloud Storage for Firebase bucket 中物件的下載網址。
messaging_send_message 訊息傳遞 您可以使用這個方法,將訊息傳送至 Firebase 雲端通訊註冊權杖或主題。在特定呼叫中,只能提供 registration_tokentopic 其中之一。
functions_get_logs 函式 使用這個方法,透過 Google Cloud Logging 進階篩選器擷取一頁 Cloud Functions 記錄項目。
remoteconfig_get_template remoteconfig 使用這個方法,從目前有效的 Firebase 專案中擷取指定的 Firebase 遠端設定範本。
remoteconfig_update_template remoteconfig 用來發布新的遠端設定範本,或將專案還原至特定版本
crashlytics_create_note crashlytics 為 Crashlytics 中的問題新增附註。
crashlytics_delete_note crashlytics 從 Crashlytics 問題中刪除附註。
crashlytics_get_issue crashlytics 取得 Crashlytics 問題的資料,可用於偵錯。
crashlytics_list_events crashlytics 使用這個方法列出符合指定篩選條件的最新事件。
可用於擷取問題的當機和例外狀況樣本,
其中包含堆疊追蹤和其他有助於偵錯的資料。
crashlytics_batch_get_events crashlytics 依資源名稱取得特定事件。
可用於擷取問題的當機和例外狀況樣本,
其中包含堆疊追蹤和其他有助於偵錯的資料。
crashlytics_list_notes crashlytics 使用這個指令列出 Crashlytics 中問題的所有附註。
crashlytics_get_top_issues crashlytics 您可以使用這項功能,依問題分組,計算事件和受影響的獨立使用者。
群組會依事件數量遞減排序。
只會計算符合指定篩選條件的事件。
crashlytics_get_top_variants crashlytics 計算事件和受影響的不重複使用者人數,並依問題變體分組。
群組會依事件數量遞減排序。
只會計算符合指定篩選條件的事件。
crashlytics_get_top_versions crashlytics 版本分組,計算事件和受影響的不重複使用者人數。
群組會依事件數量遞減排序。
只會計算符合指定篩選條件的事件。
crashlytics_get_top_apple_devices crashlytics 計算事件和受影響的不重複使用者人數,並依 Apple 裝置分組。
群組會依事件數量遞減排序。
只會計算符合指定篩選條件的事件。
僅適用於 iOS、iPadOS 和 macOS 應用程式。
crashlytics_get_top_android_devices crashlytics 計算事件和受影響的不重複使用者人數,並依 Android 裝置分組。
群組會依事件數量遞減排序。
只會計算符合指定篩選條件的事件。
僅適用於 Android 應用程式。
crashlytics_get_top_operating_systems crashlytics 計算事件和受影響的不重複使用者人數,並依作業系統分組。
群組會依事件數量遞減排序。
只會計算符合指定篩選條件的事件。
crashlytics_update_issue crashlytics 用來更新 Crashlytics 問題的狀態。
apphosting_fetch_logs apphosting 用途是擷取指定 App Hosting 後端的最新記錄。如果指定 buildLogs,系統會傳回最新建構作業的建構程序記錄。系統會優先列出最近的記錄。
apphosting_list_backends apphosting 您可以使用這個方法,擷取目前專案中的 App Hosting 後端清單。如果清單為空白,表示沒有後端。uri 是後端的公開網址。正常運作的後端會包含 managed_resources 陣列,其中含有 run_service 項目。run_service.service 是提供 App Hosting 後端的 Cloud Run 服務資源名稱。該名稱的最後一個區段就是服務 ID。domains 是與後端相關聯的網域清單。這類參照屬於 CUSTOMDEFAULT 型別。每個後端都應有 DEFAULT 網域。使用者用來連線至後端的實際網域,是網域資源名稱的最後一個參數。如果自訂網域設定正確,狀態結尾會顯示 ACTIVE
realtimedatabase_get_data realtimedatabase 用來從 Firebase 即時資料庫的指定位置擷取資料。
realtimedatabase_set_data realtimedatabase 用來將資料寫入 Firebase 即時資料庫的指定位置。

資源

MCP 伺服器提供資源,也就是供 LLM 使用的說明文件檔案。支援使用資源的模型會自動在工作階段內容中加入相關資源。

下表說明 MCP 伺服器提供的資源。

資源名稱 說明
backend_init_guide Firebase 後端初始化指南:引導程式碼代理人在目前專案中設定 Firebase 後端服務
ai_init_guide Firebase GenAI Init Guide:引導程式碼代理程式,在目前專案中利用 Firebase 設定 GenAI 功能
data_connect_init_guide Firebase Data Connect 初始化指南:引導程式碼代理程式,在目前專案中設定 Data Connect 的 PostgreSQL 存取權
firestore_init_guide Firestore Init Guide:引導程式碼代理程式在目前專案中設定 Firestore
firestore_rules_init_guide Firestore 規則初始化指南:引導程式碼代理程式在專案中設定 Firestore 安全性規則
rtdb_init_guide Firebase 即時資料庫初始化指南:引導程式碼代理程式在目前專案中設定即時資料庫
auth_init_guide Firebase 驗證初始化指南:引導程式碼代理程式在目前專案中設定 Firebase 驗證
hosting_init_guide Firebase 託管部署指南:引導程式碼代理程式將目前專案部署至 Firebase 託管
說明文件 Firebase 文件:從 Firebase 說明文件載入純文字內容,例如 https://firebase.google.com/docs/functions 會變成 firebase://docs/functions