Firebase MCP Server
官方你可以使用 Firebase MCP 伺服器,讓 AI 驅動的開發工具能夠操作你的 Firebase 專案與應用程式的程式碼庫。
你可以用 Firebase MCP 做什麼?
- 管理 Firebase 專案與應用程式 — 透過
firebase_list_projects和firebase_create_app要求列出專案、建立新專案,或註冊 iOS/Android/Web 應用程式。 - 查詢與寫入 Firestore 資料 — 使用
firestore_get_documents和firestore_query_collection依路徑擷取文件、列出集合,或執行篩選查詢。 - 使用 Crashlytics 偵錯當機 — 透過
crashlytics_get_issue和crashlytics_update_issue取得問題詳細資料、列出近期事件,或更新問題狀態。 - 傳送推播通知 — 使用
messaging_send_message將 Firebase Cloud Messaging 訊息傳送至裝置權杖或主題。 - 驗證與擷取安全規則 — 透過
firebase_validate_security_rules檢查 Firestore、Storage 或 Realtime Database 規則的語法。 - 管理 Auth 使用者與 Remote Config — 使用
auth_get_users查詢或更新使用者帳戶,並擷取或發布 Remote Config 範本。
文件
Firebase MCP Server
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 伺服器可與任何支援標準輸入輸出(stdio)作為傳輸媒介的 MCP 用戶端搭配使用。當 Firebase MCP 伺服器進行工具呼叫時,它會使用與執行環境中授權 Firebase CLI 相同的使用者憑證。
以下是熱門 AI 輔助工具的設定說明:
Gemini CLI
安裝 Gemini CLI 的 Firebase 擴充功能:
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 -
安裝 Firebase 的 Claude 外掛程式:
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 資料庫
- 管理驗證使用者
- 部署至 Firebase Hosting
- 除錯 Crashlytics 問題
- 以及更多功能!
如需完整的可用工具和資源清單,請參閱下方的 伺服器功能 區段。
文件
如需更多資訊,請造訪 官方 Firebase MCP 伺服器文件。
伺服器功能
Firebase MCP 伺服器提供三種類型的功能:工具(執行操作的函式)、提示詞(可重複使用的指令範本),以及資源(供 AI 模型使用的文件檔)。
| 工具名稱 | 功能群組 | 說明 |
|---|---|---|
| apphosting_fetch_logs | apphosting | 擷取 App Hosting 後端的近期服務或建置日誌。 |
| apphosting_list_backends | apphosting | 列出您專案中的 App Hosting 後端、流量設定和自訂網域。 |
| auth_get_users | auth | 依 UID、電子郵件、電話號碼擷取 Firebase Auth 使用者,或列出所有使用者。 |
| auth_update_user | auth | 透過啟用/停用帳戶或設定自訂宣告來更新使用者帳戶。 |
| auth_set_sms_region_policy | auth | 設定 SMS 區域政策,允許或拒絕 Firebase Authentication 的特定國家/地區代碼。 |
| firebase_login | core | 將使用者登入 Firebase CLI 和 MCP 伺服器,或檢查目前的驗證狀態。 |
| firebase_logout | core | 將使用者登出 Firebase CLI 和 MCP 伺服器。 |
| firebase_validate_security_rules | core | 驗證 Firestore、Storage 或 Realtime Database 安全規則的語法並檢查錯誤。 |
| firebase_get_project | core | 擷取目前使用中 Firebase 專案的中繼資料和設定詳細資料。 |
| firebase_list_apps | core | 列出使用中專案中註冊的所有 Firebase 應用程式。 |
| firebase_list_projects | core | 列出已驗證使用者可存取的 Firebase 專案。 |
| firebase_get_sdk_config | core | 擷取已註冊 Firebase 應用程式的 SDK 設定詳細資料或設定檔內容。 |
| firebase_create_project | core | 建立新的 Firebase 專案,或在現有的 Google Cloud 專案上啟用 Firebase 服務。 |
| firebase_create_app | core | 在使用中的 Firebase 專案中建立新的 iOS、Android 或 Web 應用程式。 |
| firebase_create_android_sha | core | 在使用中的 Firebase 專案中,將 SHA-1 或 SHA-256 憑證雜湊新增至 Android 應用程式。 |
| firebase_get_environment | core | 擷取目前的 Firebase CLI 和 MCP 環境設定、使用中專案和已驗證使用者。 |
| firebase_update_environment | core | 更新環境設定,例如專案目錄、使用中專案或使用中使用者帳戶。 |
| firebase_init | core | 在您的本機專案工作區中初始化並設定 Firebase 服務。 |
| firebase_get_security_rules | core | 擷取 Firestore、Storage 或 Realtime Database 的使用中安全規則。 |
| firebase_read_resources | core | 讀取內部 firebase:// 文件資源的內容,或列出所有可用資源。 |
| 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 Realtime Database 中的指定路徑讀取資料。 |
| realtimedatabase_set_data | realtimedatabase | 將 JSON 資料寫入 Firebase Realtime Database 中的指定路徑。 |
| dataconnect_build | dataconnect | 編譯 Firebase SQL Connect 結構描述、作業和連接器,以驗證語法和型別。 |
| dataconnect_list_services | dataconnect | 列出本機和已部署的 Firebase SQL Connect 服務、結構描述和連接器。 |
| dataconnect_execute | dataconnect | 對 Firebase 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 專案中所有已部署的 Cloud Functions。 |
| messaging_send_message | messaging | 傳送 Firebase Cloud Messaging 推播通知至裝置註冊權杖或主題。 |
| remoteconfig_get_template | remoteconfig | 擷取 Firebase Remote Config 範本的使用中或指定版本。 |
| remoteconfig_update_template | remoteconfig | 發佈新的 Firebase Remote Config 範本,或回復至先前的版本。 |
| storage_get_object_download_url | storage | 擷取 Cloud Storage 儲存桶中物件的下載 URL。 |
| 提示詞名稱 | 功能群組 | 說明 |
|---|---|---|
| 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 App ID 指南:引導編碼代理在目前專案中選擇 Firebase App 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 |