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 伺服器,請按照下列步驟操作:
- 在 Antigravity 中,依序點選「Agent」窗格中的 選單 >「MCP Servers」。
- 依序選取「Firebase」>「安裝」。
這會自動更新 mcp_config.json 檔案,您可以依序點選 MCP 商店窗格頂端的「管理 MCP 伺服器」 >「查看原始設定」,查看下列內容:
{
"mcpServers": {
"firebase-mcp-server": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Claude
Claude Code
方法 1:透過外掛程式安裝 (建議)
在 Claude Code 中設定 Firebase MCP 伺服器最簡單的方法,就是安裝官方 Firebase 外掛程式:
新增 Claude 外掛程式的 Firebase 市集:
claude plugin marketplace add firebase/firebase-tools安裝 Firebase 適用的 Claude 外掛程式:
claude plugin install firebase@firebase驗證安裝項目:
claude plugin marketplace list
選項 2:手動設定 MCP 伺服器
或者,您也可以手動設定 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"]
}
}
}
游標
方法 1:Marketplace 外掛程式 (建議)
從 Cursor Marketplace 安裝 Firebase 外掛程式。這會自動設定 MCP 伺服器,並提供 Firebase 代理程式技能的存取權。
選項 2:一鍵設定 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 Servers」圖示,然後按一下「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 編輯器,請編輯 ~/.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。 引數: <提示> (選用):您想提供的任何部署相關具體指示 |
| 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): { |
| 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 開發人員產品的說明文件。這些文件包含官方 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 開發人員、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 開發人員產品的查詢結果。這項工具的配額有限。這項工具會彙整語料庫中的資訊,生成查詢問題的答案。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 Investigations Guide:引導程式設計人員調查 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:引導程式設計代理程式在目前專案中設定 GenAI 功能,並使用 Firebase |
| firestore_init_guide | Firestore 初始化指南:引導程式設計代理程式在目前專案中設定 Firestore |
| firestore_rules_init_guide | Firestore 規則初始化指南:引導程式碼代理程式在專案中設定 Firestore 安全性規則 |
| auth_init_guide | Firebase 驗證初始化指南:引導程式碼代理程式在目前專案中設定 Firebase 驗證 |
| hosting_init_guide | Firebase 託管服務部署指南:引導程式設計代理程式將目前的專案部署至 Firebase 託管服務 |
| 更新環境使用者介面 | 選取有效 Firebase 專案的視覺化介面 |
| 部署 UI | Firebase Deploy 的視覺化介面 |
| 初始化 UI | Firebase Init 的視覺化介面 |
| 說明文件 | Firebase 文件:從 Firebase 說明文件載入純文字內容,例如 https://firebase.google.com/docs/functions 會變成 firebase://docs/functions |