Firebase MCP Server
官方你可以使用 Firebase MCP 伺服器,讓 AI 驅動的開發工具能夠操作你的 Firebase 專案與應用程式的程式碼庫。
你可以用 Firebase MCP 做什麼?
- 建立與管理 Firebase 專案 — 請助理使用
firebase_create_project初始化新專案,或列出現有專案與應用程式。 - 管理 Authentication 使用者 — 使用
auth_get_users擷取使用者詳細資料,透過auth_update_user更新自訂聲明或停用帳戶。 - 查詢與更新 Firestore 或 Realtime Database — 使用
firebase_read_resources及資料庫相關工具讀取、寫入與管理文件。 - 使用 Crashlytics 偵錯當機 — 透過
crashlytics_get_issue與crashlytics_list_events取得問題詳細資訊、列出近期當機事件並新增備註。 - 驗證與擷取安全規則 — 使用
firebase_validate_security_rules檢查 Firestore、Storage 或 Realtime Database 規則是否有錯誤。 - 監控 App Hosting 後端 — 透過
apphosting_list_backends列出後端,並使用apphosting_fetch_logs擷取近期建置或執行階段日誌。
文件
Firebase MCP 伺服器
Firebase 模型內容協定 (MCP) 伺服器讓 AI 驅動的開發工具能夠與您的 Firebase 專案和應用程式碼庫協作。Firebase MCP 伺服器可與任何能作為 MCP 用戶端的工具搭配使用,包括:Firebase Studio、Gemini CLI、Claude Code、Cline、Cursor、VS Code Copilot、Windsurf 等!
功能特色
設定為使用 Firebase MCP 伺服器的編輯器,可以利用其 AI 功能來協助您:
- 建立與管理 Firebase 專案 - 初始化新專案、列出現有專案,以及管理 Firebase 應用程式
- 管理 Firebase Authentication 使用者 - 擷取、更新及管理使用者帳戶
- 使用 Cloud Firestore 和 Firebase SQL Connect - 查詢、讀取、寫入及管理資料庫文件
- 擷取 Firebase SQL Connect 結構定義 - 透過 AI 輔助產生結構定義和操作
- 了解安全規則 - 驗證並擷取 Firestore、Cloud Storage 和 Realtime Database 的安全規則
- 使用 Firebase Cloud Messaging 傳送訊息 - 傳送推播通知至裝置和主題
- 存取 Crashlytics 資料 - 偵錯問題、檢視當機報告及管理當機分析
- 部署至 App Hosting - 監控後端並擷取記錄
- 使用 Realtime Database - 即時讀取和寫入資料
- 查詢 Cloud Functions 記錄 - 擷取並分析函式執行記錄
- 管理 Remote Config - 取得並更新遠端設定範本
部分工具會使用 Gemini in Firebase 來協助您:
- 產生 Firebase SQL Connect 結構定義和操作
- 向 Gemini 諮詢 Firebase 產品相關問題
重要事項: Gemini in Firebase 可能會產生看似合理但事實上不正確的輸出內容。它可能會回應不準確的資訊,且不代表 Google 的觀點。在使用 Gemini 的所有輸出內容前,請務必進行驗證,且不要將未經測試的產生程式碼用於生產環境。請勿在對話中輸入個人識別資訊 (PII) 或使用者資料。
進一步瞭解 Gemini in Firebase 及其如何使用您的資料。
安裝與設定
必要條件
基本設定
Firebase MCP 伺服器可與任何支援標準 I/O (stdio) 作為傳輸媒介的 MCP 用戶端搭配使用。當 Firebase MCP 伺服器進行工具呼叫時,它會使用在執行環境中授權 Firebase CLI 的相同使用者憑證。
以下是針對熱門 AI 輔助工具的設定說明:
Gemini CLI
安裝 Firebase 擴充功能 for Gemini CLI:
gemini extensions install https://github.com/firebase/agent-skills
Claude Code
選項 1:透過外掛程式安裝 (建議)
在 Claude Code 中設定 Firebase MCP 伺服器最簡單的方式,就是安裝官方的 Firebase 外掛程式:
-
新增 Claude 外掛程式的 Firebase 市集:
claude plugin marketplace add firebase/firebase-tools -
安裝 Claude 外掛程式 for Firebase:
claude plugin install firebase@firebase -
驗證安裝:
claude plugin
選項 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
Cursor
新增至專案目錄中的 .cursorrules,或在 Cursor 設定中進行設定:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Windsurf
新增至 ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Firebase Studio
若要設定 Firebase Studio 使用 Firebase MCP 伺服器,請編輯或建立設定檔:.idx/mcp.json
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
使用方式
設定完成後,MCP 伺服器將自動為您的 AI 助理提供 Firebase 功能。您可以:
- 要求 AI 協助設定 Firebase 服務
- 查詢您的 Firestore 資料庫
- 管理 Authentication 使用者
- 部署至 Firebase Hosting
- 偵錯 Crashlytics 問題
- 以及更多功能!
如需可用工具和資源的完整清單,請參閱下方的伺服器功能章節。
說明文件
如需更多資訊,請造訪官方 Firebase MCP 伺服器說明文件。
伺服器功能
Firebase MCP 伺服器提供三種類型的功能:工具 (執行動作的函式)、提示 (可重複使用的指令範本) 和資源 (提供給 AI 模型的說明文件檔案)。
| 工具名稱 | 功能群組 | 說明 |
|---|---|---|
| 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 是與後端關聯的網域清單。這些網域的類型為 CUSTOM 或 DEFAULT。每個後端都應該有一個 DEFAULT 網域。使用者用來連線到後端的實際網域,是網域資源名稱的最後一個參數。若自訂網域已正確設定,其狀態結尾會是 ACTIVE。 |
| auth_get_users | auth | 使用此工具根據 UID 清單或電子郵件清單,擷取一或多個 Firebase Auth 使用者。 |
| auth_update_user | auth | 使用此工具來停用、啟用或設定特定使用者帳戶的自訂聲明。 |
| auth_set_sms_region_policy | auth | 使用此工具為 Firebase Authentication 設定 SMS 區域政策,以根據允許或拒絕的國碼清單,限制可接收簡訊的區域。此政策設定後將覆蓋任何現有政策。 |
| firebase_login | core | 使用此工具將使用者登入 Firebase CLI 和 Firebase MCP 伺服器。這需要 Google 帳戶,且必須登入才能建立及使用 Firebase 專案。 |
| firebase_logout | core | 使用此工具將使用者登出 Firebase CLI 和 Firebase MCP 伺服器。 |
| firebase_validate_security_rules | core | 使用此工具檢查 Firestore、Storage 或 Realtime Database 的 Firebase 安全規則,確認語法和驗證錯誤。 |
| firebase_get_project | core | 使用此工具擷取目前作用中 Firebase 專案的相關資訊。 |
| firebase_list_apps | core | 使用此工具擷取在目前作用中 Firebase 專案中註冊的 Firebase 應用程式清單。Firebase 應用程式可以是 iOS、Android 或 Web。 |
| firebase_list_projects | core | 使用此工具擷取已登入使用者有權存取的 Firebase 專案清單。 |
| firebase_get_sdk_config | core | 使用此工具擷取 Firebase 應用程式的 Firebase 設定資訊。您必須為在目前作用中 Firebase 專案中註冊的 Firebase 應用程式,指定平台「或」Firebase 應用程式 ID。 |
| firebase_create_project | core | 使用此工具建立新的 Firebase 專案。 |
| firebase_create_app | core | 使用此工具在目前作用中的 Firebase 專案內建立新的 Firebase 應用程式。Firebase 應用程式可以是 iOS、Android 或 Web 類型。 |
| firebase_create_android_sha | core | 使用此工具將指定的 SHA 憑證雜湊新增至指定的 Firebase Android 應用程式。 |
| firebase_get_environment | core | 使用此工具擷取 Firebase CLI 與 Firebase MCP 伺服器目前的 Firebase 環境設定,包含目前驗證的使用者、專案目錄、作用中的 Firebase 專案等資訊。所有工具皆要求使用者必須通過驗證,但並非所有資訊都是每個工具的必要項目。請留意各工具對於必要資訊的要求。 |
| firebase_update_environment | core | 使用此工具更新 Firebase CLI 與 Firebase MCP 伺服器的環境設定,例如專案目錄、作用中專案、作用中使用者帳戶、接受服務條款等。使用 firebase_get_environment 查看目前設定的環境。 |
| firebase_init | core | 使用此工具在工作區中初始化選定的 Firebase 服務(Cloud Firestore 資料庫、Firebase SQL Connect、Firebase Realtime Database、Firebase AI Logic)。所有服務皆為選用;僅指定您想設定的產品。您可以將新功能初始化至現有的專案目錄中,但重新初始化現有功能可能會覆寫設定。若要部署已初始化的功能,請在 firebase_init 工具之後執行 firebase deploy 指令。 |
| firebase_get_security_rules | core | 使用此工具擷取指定 Firebase 服務的安全規則。若該產品中有多個服務執行個體,則會傳回預設執行個體的規則。 |
| firebase_read_resources | core | 使用此工具讀取 firebase:// 資源的內容或列出可用資源 |
| 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_update_issue | crashlytics | 使用此工具更新 Crashlytics 問題的狀態。 |
| realtimedatabase_get_data | realtimedatabase | 使用此工具從 Firebase Realtime Database 中指定位置擷取資料。 |
| realtimedatabase_set_data | realtimedatabase | 使用此工具將資料寫入 Firebase Realtime Database 中指定位置。 |
| dataconnect_build | dataconnect | 使用此工具編譯 Firebase SQL Connect 的結構定義、操作和/或連接器,並檢查建置錯誤。 |
| dataconnect_list_services | dataconnect | 使用此工具列出現有的本機和後端 Firebase SQL Connect 服務。 |
| dataconnect_execute | dataconnect | 使用此工具對 SQL Connect 服務或其模擬器執行 GraphQL 操作。 |
| firestore_delete_document | firestore | 使用此工具透過完整文件路徑,從目前專案的資料庫中刪除 Firestore 文件。若您知道文件的確切路徑,請使用此工具。 |
| firestore_get_documents | firestore | 使用此工具透過完整文件路徑,從目前專案的資料庫中擷取一或多個 Firestore 文件。若您知道文件的確切路徑,請使用此工具。 |
| firestore_list_collections | firestore | 使用此工具從目前專案的 Firestore 資料庫中擷取集合清單。 |
| firestore_query_collection | firestore | 使用此工具透過具有完整文件路徑的集合,從目前專案資料庫的集合中擷取一或多個 Firestore 文件。若您知道集合的確切路徑以及您想要用於文件的篩選條件,請使用此工具。 |
| functions_get_logs | functions | 使用此工具透過 Google Cloud Logging 進階篩選器擷取一頁 Cloud Functions 日誌條目。 |
| functions_list_functions | functions | 列出 Firebase 專案中所有已部署的函式。 |
| messaging_send_message | messaging | 使用此工具向 Firebase Cloud Messaging 註冊權杖或主題發送訊息。在特定呼叫中,只能提供 registration_token 或 topic 其中之一。 |
| remoteconfig_update_template | remoteconfig | 使用此工具為專案發布新的遠端設定範本,或復原至特定版本。 |
| storage_get_object_download_url | storage | 使用此工具擷取 Firebase Cloud Storage 儲存桶中物件的下載網址。 |
| --------------------------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| firebase:deploy | core | 使用此指令將資源部署至 Firebase。 引數: <prompt> (選用):您希望提供的任何特定部署指示 |
| firebase:init | core | 使用此指令設定 Firebase 服務,例如後端與 AI 功能。 |
| firestore:generate_security_rules | firestore | 為您的專案產生安全的 Firebase Firestore 安全規則及對應的單元測試。 |
| storage:generate_security_rules | storage | 為您的專案產生安全的 Firebase Storage 安全規則及對應的單元測試。 |
| crashlytics:connect | crashlytics | 使用此指令存取 Firebase 應用程式的 Crashlytics 資料。 |
| 資源名稱 | 說明 |
|---|---|
| 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 初始化指南:引導編碼代理程式在目前專案中利用 Firebase 設定 GenAI 功能 |
| firestore_init_guide | Firestore 初始化指南:引導編碼代理程式在目前專案中設定 Firestore |
| firestore_rules_init_guide | Firestore 規則初始化指南:引導編碼代理程式在專案中設定 Firestore 安全規則 |
| auth_init_guide | Firebase Authentication 初始化指南:引導編碼代理程式在目前專案中設定 Firebase Authentication |
| hosting_init_guide | Firebase Hosting 部署指南:引導編碼代理程式在目前專案中部署至 Firebase Hosting |
| docs | Firebase 文件:載入來自 Firebase 文件的純文字內容,例如 https://firebase.google.com/docs/functions 變成 firebase://docs/functions |