Firebase MCP 伺服器

Firebase MCP 伺服器是本機 Model Context Protocol (MCP) 伺服器,可在開發環境中執行,讓 AI 輔助開發人員工具能與 Firebase 專案和應用程式的程式碼集搭配運作。

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

跳到設定操作說明

MCP 伺服器的優點

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

  • 建立及管理 Firebase 專案
  • 管理 Firebase Authentication 使用者
  • 在 Cloud Firestore 和 Firebase SQL Connect 中處理資料
  • 擷取 Firebase SQL Connect 結構定義
  • 瞭解 Cloud Firestore 和 Cloud Storage for Firebase 的安全性規則
  • 使用 Firebase Cloud Messaging 傳送訊息

以上僅列出部分工具,如需編輯器可用的完整工具清單,請參閱「伺服器功能」一節。

設定 MCP 用戶端

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

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

事前準備

確認已安裝 Node.js 和 npm,且可正常運作。

基本設定

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

Antigravity

如要設定 Antigravity 使用 Firebase MCP 伺服器,請按照下列步驟操作:

  1. 在 Antigravity 中,依序點選「代理程式」窗格中的 選單 >「MCP 伺服器」。
  2. 依序選取「Firebase」 >「安裝」。

系統會自動更新 mcp_config.json 檔案,您可以依序點選 MCP Store 窗格頂端的「Manage MCP Servers」 >「View raw config」,查看下列內容:

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

Claude

Claude Code

  • 方法 1:透過外掛程式安裝 (建議)

    如要在 Claude Code 中設定 Firebase MCP 伺服器,最簡單的方法是安裝官方 Firebase 外掛程式:

    1. 新增 Claude 外掛程式的 Firebase 市集:

      claude plugin marketplace add firebase/firebase-tools
    2. 安裝 Claude 的 Firebase 外掛程式:

      claude plugin install firebase@firebase
    3. 驗證安裝項目:

      claude plugin marketplace list
  • 選項 2:手動設定 MCP 伺服器

    或者,您也可以手動設定 Firebase MCP 伺服器:

    1. 在應用程式資料夾下執行下列指令:

      claude mcp add firebase npx -- -y firebase-tools@latest mcp
    2. 驗證安裝項目:

      claude mcp list

      應該顯示:

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

Claude 電腦版

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

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

Cursor

方法 1:Marketplace 外掛程式(建議)

從 Cursor Marketplace 安裝 Firebase 外掛程式。這會自動設定 MCP 伺服器,並提供 Firebase 代理技能的存取權。

方法 2:一鍵設定 MCP

如果只想將 MCP 伺服器新增至全域設定,請點選下列按鈕:

安裝 MCP 伺服器

選項 3:手動設定

如果您想為特定專案設定伺服器,或想手動編輯設定,請更新 mcp.json 檔案:

  • 如要編輯特定專案,請編輯 .cursor/mcp.json
  • 如要編輯所有專案 (全域),請編輯 ~/.cursor/mcp.json
"mcpServers": {
  "firebase": {
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "mcp"]
  }
}

Cline

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

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

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

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

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

選用設定

除了上述每個用戶端的基本設定外,您還可以指定兩個選用參數:

  • --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", "mcp",
    "--dir", "/Users/turing/my-project",
    "--only", "auth,firestore,storage"
  ]
}

MCP 伺服器功能

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

  • 提示詞:預寫提示詞庫,可供您執行。這些提示詞經過最佳化,適合用於透過 Firebase 開發及執行應用程式

  • 工具:一組供 AI 代理使用的工具,可協助他們直接與 Firebase 專案搭配運作 (須經您核准!)

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

提示

Firebase MCP 伺服器提供預寫提示詞庫,專為使用 Firebase 開發及執行應用程式而最佳化。您可以使用這些提示,透過代理式 AI 助理完成各種常見工作或目標。

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

許多支援 MCP 的開發人員工具都提供方便的方法,可執行這些提示詞。例如,使用斜線指令:

/firebase:init

在支援的環境中,只要輸入 /firebase:,即可查看可用的提示清單。

npx firebase-tools@latest mcp --generate-prompt-list
提示詞名稱 特徵群組 說明
firebase:deploy 核心 使用這個指令將資源部署至 Firebase。

引數:
<prompt> (選用):您想提供的任何部署相關具體指示
firebase:init 核心 使用這個指令設定 Firebase 服務,例如後端和 AI 功能。
firestore:generate_security_rules firestore 為專案生成安全的 Firebase Firestore 安全規則和對應的單元測試。
storage:generate_security_rules 儲存空間 為專案生成安全的 Firebase 儲存安全性規則和對應的單元測試。
crashlytics:connect crashlytics 使用這個指令,存取 Firebase 應用程式的 Crashlytics 資料。

工具

Firebase MCP 伺服器也提供多項工具,可供 AI 代理使用,協助他們直接與 Firebase 專案合作 (經您核准!)。與提示不同,您不會直接呼叫這些工具,而是由支援工具呼叫的 AI 代理 (例如 Antigravity、Claude Code 或 Cursor) 在需要時自動呼叫這些工具,執行開發工作。

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

npx firebase-tools@latest mcp --generate-tool-list
工具名稱 特徵群組 說明
apphosting_fetch_logs apphosting 擷取 App Hosting 後端的近期服務或建構記錄。
apphosting_list_backends apphosting 列出專案中的 App Hosting 後端、流量設定和自訂網域。
auth_get_users 授權 依 UID、電子郵件、電話號碼擷取 Firebase 驗證使用者,或列出所有使用者。
auth_update_user 授權 啟用/停用使用者帳戶或設定自訂要求,藉此更新使用者帳戶。
auth_set_sms_region_policy 授權 設定簡訊區域政策,允許或拒絕 Firebase 驗證的特定國家/地區代碼。
firebase_login 核心 將使用者登入 Firebase CLI 和 MCP 伺服器,或檢查目前的驗證狀態。
firebase_logout 核心 將使用者從 Firebase CLI 和 MCP 伺服器登出。
firebase_validate_security_rules 核心 驗證語法,並檢查 Firestore、Storage 或 即時資料庫 安全性規則是否有錯誤。
firebase_get_project 核心 擷取目前使用中 Firebase 專案的中繼資料和設定詳細資料。
firebase_list_apps 核心 列出在有效專案中註冊的所有 Firebase 應用程式。
firebase_list_projects 核心 列出已驗證使用者可存取的 Firebase 專案。
firebase_get_sdk_config 核心 擷取已註冊 Firebase 應用程式的 SDK 設定詳細資料或設定檔內容。
firebase_create_project 核心 建立新的 Firebase 專案,或在現有的 Google Cloud 專案中啟用 Firebase 服務。
firebase_create_app 核心 在有效的 Firebase 專案中,建立新的 iOS、Android 或網頁應用程式。
firebase_create_android_sha 核心 在有效 Firebase 專案中,將 SHA-1 或 SHA-256 憑證雜湊新增至 Android 應用程式。
firebase_get_environment 核心 擷取目前的 Firebase CLI 和 MCP 環境設定、有效專案和已驗證的使用者。
firebase_update_environment 核心 更新環境設定,例如專案目錄、使用中的專案或使用中的使用者帳戶。
firebase_init 核心 在本機專案工作區中,初始化及設定 Firebase 服務。
firebase_get_security_rules 核心 擷取 Firestore、Storage 或即時資料庫的有效安全性規則。
firebase_read_resources 核心 讀取內部 firebase:// 說明文件資源的內容,或列出所有可用資源。
firebase_deploy 核心 將 firebase.json 中設定的 Firebase 服務和資源部署至專案。
firebase_deploy_status 核心 查看背景部署工作的狀態和進度。
crashlytics_create_note crashlytics 為 Android 或 iOS 應用程式的 Crashlytics 問題新增附註。
crashlytics_delete_note crashlytics 刪除 Android 或 iOS 應用程式 Crashlytics 問題的附註。
crashlytics_get_issue crashlytics 擷取特定 Crashlytics 問題的詳細資料和中繼資料。
crashlytics_list_events crashlytics 列出符合指定篩選條件的近期當機和例外狀況事件。
crashlytics_batch_get_events crashlytics 依資源名稱擷取當機和例外狀況事件範例,以便偵錯。
crashlytics_list_notes crashlytics 列出 Android 或 iOS 應用程式 Crashlytics 問題的所有附註。
crashlytics_get_report crashlytics 生成 Crashlytics 問題和事件的匯總數值報表。
crashlytics_update_issue crashlytics 更新 Crashlytics 問題的狀態 (OPEN 或 CLOSED)。
realtimedatabase_get_data realtimedatabase 從 Firebase 即時資料庫的指定路徑讀取資料。
realtimedatabase_set_data realtimedatabase 將 JSON 資料寫入 Firebase 即時資料庫中的指定路徑。
dataconnect_build dataconnect 編譯 Firebase SQL Connect 結構定義、作業和連接器,驗證語法和類型。
dataconnect_list_services dataconnect 列出本機和已部署的 Firebase SQL Connect 服務、結構定義和連接器。
dataconnect_execute dataconnect 對 Firebase SQL Connect 服務或模擬器執行 GraphQL 查詢或變動。
functions_get_logs 函式 從 Google Cloud Logging 擷取及篩選 Cloud Functions 記錄項目。
functions_list_functions 函式 列出 Firebase 專案中所有已部署的 Cloud Functions。
messaging_send_message 訊息傳遞 將 Firebase 雲端通訊推播通知傳送至裝置註冊權杖或主題。
remoteconfig_get_template remoteconfig 擷取有效或指定版本的 Firebase 遠端設定範本。
remoteconfig_update_template remoteconfig 發布新的 Firebase 遠端設定範本,或復原至先前的版本。
storage_get_object_download_url 儲存空間 擷取 Cloud Storage bucket 中物件的下載網址。
firestore_get_document firestore 從 Firestore 資料庫取得文件。
firestore_add_document firestore 從 Firestore 資料庫建立文件。
firestore_update_document firestore 更新 Firestore 資料庫中的文件。
firestore_delete_document firestore 刪除 Firestore 資料庫中的文件。
firestore_list_documents firestore 列出 Firestore 資料庫中的文件。
firestore_list_collections firestore 列出文件下的所有集合 ID。
firestore_query_collection firestore 從集合查詢 Firestore 文件,並可選擇篩選條件和排序方式。
firestore_run_aggregation_query firestore 對 Firestore 資料庫執行匯總查詢。
對結構化查詢執行匯總查詢 (例如 COUNT、SUM 或 AVG),並傳回匯總結果。

必要參數:
- parent:projects/{project_id}/databases/{database_id}/documents 格式的父項資源名稱 (例如 projects/my-project/databases/(default)/documents)。
- structured_aggregation_query:定義要執行匯總查詢的 StructuredAggregationQuery 物件。

使用範例 (COUNT 和 AVG):
{
"parent": "projects/my-project/databases/(default)/documents",
"structured_aggregation_query": {
"structured_query": {
"from": [{"collection_id": "orders"}],
"where": {
"field_filter": {
"field": {"field_path": "status"},
"op": "EQUAL",
"value": {"string_value": "COMPLETED"}
}
}
},
"aggregations": [
{
"alias": "total_orders",
"count": {}
},
{
"alias": "average_amount",
"avg": {
"field": {"field_path": "amount"}
}
}
]
}
}
firestore_create_database firestore 建立 Firestore 資料庫。
firestore_get_database firestore 取得 Firestore 資料庫。
firestore_list_databases firestore 列出 Firestore 資料庫。
firestore_update_database firestore 更新 Firestore 資料庫。
firestore_delete_database firestore 刪除 Firestore 資料庫。
firestore_create_index firestore 建立複合式索引。
firestore_get_index firestore 取得 Firestore 索引。
firestore_list_indexes firestore 列出 Firestore 索引。
firestore_delete_index firestore 刪除 Firestore 索引。
firestore_get_backup firestore 取得 Firestore 備份。
firestore_list_backups firestore 列出 Firestore 備份。
firestore_delete_backup firestore 刪除 Firestore 備份。
firestore_create_backup_schedule firestore 建立 Firestore 備份排程。
firestore_get_backup_schedule firestore 取得 Firestore 備份排程。
firestore_list_backup_schedules firestore 列出 Firestore 備份排程。
firestore_update_backup_schedule firestore 更新 Firestore 備份排程。
firestore_delete_backup_schedule firestore 刪除 Firestore 備份排程。
firestore_get_backup firestore 取得 Firestore 備份。
firestore_list_backups firestore 列出 Firestore 備份。
firestore_delete_backup firestore 刪除 Firestore 備份。
firestore_create_backup_schedule firestore 建立 Firestore 備份排程。
firestore_get_backup_schedule firestore 取得 Firestore 備份排程。
firestore_list_backup_schedules firestore 列出 Firestore 備份排程。
firestore_update_backup_schedule firestore 更新 Firestore 備份排程。
firestore_delete_backup_schedule firestore 刪除 Firestore 備份排程。
developerknowledge_search_documents developerknowledge 您可以使用這項工具,尋找 Google Developers 產品的說明文件。這些文件包含官方 API、程式碼片段、版本資訊、最佳做法、指南、偵錯資訊等。涵蓋的產品和網域如下:


* ADK:adk.dev

* Android:developer.android.com

* Apigee:docs.apigee.com

* Chrome:developer.chrome.com

* Dart:dart.dev

* Firebase:firebase.google.com

* Flutter:docs.flutter.dev

* Fuchsia:fuchsia.dev

* Gemini CLI:geminicli.com

* Genkit:genkit.dev

* Go:go.dev

* Google AI:ai.google.dev

* Google Antigravity:antigravity.google

* Google Cloud:cloud.google.com 和 docs.cloud.google.com

* Google Developers、Google Ads、Google 搜尋、Google 地圖、YouTube:developers.google.com

* Google Home:developers.home.google.com

* Google 地圖平台:mapsplatform.google.com

* TensorFlow:www.tensorflow.org

* Web:web.dev


這項工具會傳回相符文件的文字片段、名稱和網址。如果傳回的區塊不夠詳細,無法回答使用者問題,請使用 get_documents,並搭配這項工具輸出內容中的 parent,擷取完整文件內容。
developerknowledge_answer_query developerknowledge 使用 answer_query,取得 Google Developers 產品查詢的基準答案。這項工具的配額有限。這項工具會彙整語料庫中的資訊,生成查詢答案。answer_query 會使用與 search_documents 相同的語料庫,做為答案的依據。
這項工具會傳回生成的 answer_text,以及用於生成答案的文件名稱 (參考資料) 清單。如有需要,請使用 get_documents 搭配文件名稱,擷取整份文件內容。

如果收到 429 配額不足錯誤,請改用 search_documents。
developerknowledge_get_documents developerknowledge 這項工具可擷取單一文件的完整內容,或在單一呼叫中擷取最多 20 份文件。文件名稱應從呼叫 search_documents 工具的結果 parent 欄位取得。將 names 參數設為文件名稱清單。

資源

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

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

npx firebase-tools@latest mcp --generate-resource-list
資源名稱 說明
app_id_guide Firebase 應用程式 ID 指南:引導程式設計代理在目前專案中選擇 Firebase 應用程式 ID
crashlytics_investigations_guide Firebase Crashlytics 調查指南:引導程式設計代理調查 Crashlytics 問題中回報的錯誤報告,包括診斷及修正當機問題的程序。
crashlytics_issues_guide Firebase Crashlytics 問題指南:引導程式設計代理處理 Crashlytics 問題,包括優先順序規則,以及診斷和修正問題的程序。
crashlytics_reports_guide Firebase Crashlytics 報表指南:引導程式設計代理要求 Crashlytics 報表,包括設定適當的篩選器,以及如何解讀指標。服務專員應先閱讀本指南,再索取任何報表。
backend_init_guide Firebase 後端初始化指南:引導程式設計代理在目前專案中設定 Firebase 後端服務
ai_init_guide Firebase GenAI Init Guide:引導程式設計代理,在目前使用 Firebase 的專案中設定 GenAI 功能
firestore_init_guide Firestore 初始化指南:引導程式設計代理在目前專案中設定 Firestore
firestore_rules_init_guide Firestore 規則初始化指南:引導程式設計代理在專案中設定 Firestore 安全規則
auth_init_guide Firebase 驗證初始化指南:引導程式設計代理在目前專案中設定 Firebase 驗證
hosting_init_guide Firebase 託管部署指南:引導程式設計代理,在目前專案中部署至 Firebase 託管
更新環境 UI 選取有效 Firebase 專案的視覺化介面
部署 UI Firebase Deploy 的視覺化介面
Init UI Firebase Init 的視覺化介面
說明文件 Firebase 文件:從 Firebase 文件載入純文字內容,例如 https://firebase.google.com/docs/functions 變成 firebase://docs/functions