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 中,依序點選「代理程式」窗格中的 選單 >「MCP 伺服器」。
- 依序選取「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 外掛程式:
新增 Claude 外掛程式的 Firebase 市集:
claude plugin marketplace add firebase/firebase-tools安裝 Claude 的 Firebase 外掛程式:
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 電腦版
如要設定 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 伺服器新增至全域設定,請點選下列按鈕:
選項 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): { |
| 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 |