您可以使用 Firebase MCP 伺服器,讓 AI 技術輔助開發工具能夠與 Firebase 專案搭配運作。Firebase MCP 伺服器可搭配任何可充當 MCP 用戶端的工具,包括 Claude Desktop、Cline、Cursor、Visual Studio Code Copilot、Windsurf Editor 等。
編輯器如果已設定為使用 Firebase MCP 伺服器,就能使用 AI 功能協助您:
- 建立及管理 Firebase 專案
- 管理 Firebase 驗證使用者
- 使用 Cloud Firestore 和 Firebase Data Connect 中的資料
- 擷取 Firebase Data Connect 結構定義
- 瞭解 Firestore 和 Cloud Storage for Firebase 的安全性規則
- 使用 Firebase 雲端通訊傳送訊息
這只是部分清單,如要查看編輯器可用的完整工具清單,請參閱「伺服器功能」一節。
事前準備
請確認您已安裝可運作的 Node.js 和 npm。
執行下列指令,驗證 Firebase CLI:
npx -y firebase-tools@latest login --reauth
Firebase MCP 伺服器會使用 CLI 處理 Firebase 專案的驗證作業。您必須先透過 CLI 進行驗證,才能使用 MCP 伺服器。如果您嘗試在未登入的情況下使用伺服器,或是驗證權杖已過期,伺服器會顯示錯誤訊息,提示您重新驗證。
設定 MCP 用戶端
Firebase MCP 伺服器可與任何支援標準 I/O (stdio) 做為傳輸媒介的 MCP 用戶端搭配使用。以下是幾個熱門工具的具體操作說明:
基本設定
Claude Desktop
如要設定 Claude Desktop 使用 Firebase MCP 伺服器,請編輯 claude_desktop_config.json
檔案。您可以透過 Claude > 設定選單開啟或建立此檔案。選取「開發人員」分頁標籤,然後按一下「編輯設定檔」。
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
}
Cline
如要設定 Cline 使用 Firebase MCP 伺服器,請編輯 cline_mcp_settings.json
檔案。如要開啟或建立這個檔案,請按一下 Cline 窗格頂端的 MCP 伺服器圖示,然後按一下「Configure MCP Servers」按鈕。
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"],
"disabled": false
}
}
}
Cursor
如要將 Cursor 設定為使用 Firebase MCP 伺服器,請編輯 .cursor/mcp.json
檔案 (只設定特定專案) 或 ~/.cursor/mcp.json
檔案 (讓所有專案都能使用 MCP 伺服器):
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
Visual Studio Code Copilot
如要設定單一專案,請編輯工作區中的 .vscode/mcp.json
檔案:
"servers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
如要在您開啟的每個專案中使用伺服器,請編輯使用者設定:
"mcp": {
"servers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
}
Windsurf 編輯器
如要設定 Windsurf Editor,請編輯 ~/.codeium/windsurf/mcp_config.json
檔案:
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental: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", "experimental:mcp",
"--dir", "/Users/turing/my-project",
"--only", "auth,firestore,storage"
]
}
MCP 伺服器功能
工具名稱 | 特徵群組 | 說明 |
---|---|---|
firebase_get_project | 核心 | 擷取目前有效的 Firebase 專案相關資訊。 |
firebase_list_apps | 核心 | 擷取目前 Firebase 專案中註冊的應用程式。 |
firebase_get_admin_sdk_config | 核心 | 取得目前專案的管理員 SDK 設定。 |
firebase_get_sdk_config | 核心 | 擷取指定平台的 Firebase SDK 設定資訊。您必須指定平台或 app_id。 |
firebase_create_project | 核心 | 建立新的 Firebase 專案。 |
firebase_create_app | 核心 | 在 Firebase 專案中建立新的網頁、iOS 或 Android 應用程式。 |
firebase_create_android_sha | 核心 | 將 SHA 憑證雜湊值新增至現有的 Android 應用程式。 |
firebase_get_environment | 核心 | 擷取目前 Firebase 環境的相關資訊,包括目前已驗證的使用者、專案目錄、有效專案等。 |
firebase_update_environment | 核心 | 更新 Firebase 環境設定,例如專案目錄、有效專案、有效使用者帳戶等。使用 firebase_get_environment 查看目前設定的環境。 |
firebase_init | 核心 | 在工作區中初始化所選 Firebase 功能。所有功能皆為選用功能,請只提供你要設定的產品。您可以將新功能初始化至現有專案目錄,但重新初始化現有功能可能會覆寫設定。 |
firestore_delete_document | firestore | 根據完整的文件路徑,從目前專案中的資料庫中刪除 Firestore 文件。如果您知道文件的確切路徑,請使用這個選項。 |
firestore_get_documents | firestore | 根據完整文件路徑,從目前專案中的資料庫中擷取一或多個 Firestore 文件。如果您知道文件的確切路徑,請使用這個選項。 |
firestore_list_collections | firestore | 從目前專案中的 Firestore 資料庫擷取集合清單。 |
firestore_query_collection | firestore | 透過含有完整文件路徑的集合,從目前專案中的資料庫中擷取一或多個 Firestore 文件。如果您知道集合的確切路徑,以及要為文件使用的篩選子句,請使用這個方法。 |
firestore_get_rules | firestore | 擷取目前專案的有效 Firestore 安全性規則。 |
firestore_validate_rules | firestore | 檢查所提供的 Firestore 規則來源是否有語法和驗證錯誤。請提供要驗證的原始碼,或原始檔案的路徑。 |
auth_get_user | auth | 根據電子郵件地址、電話號碼或 UID 擷取使用者。 |
auth_disable_user | auth | 根據 UID 停用或啟用使用者。 |
auth_list_users | auth | 擷取專案中所有使用者 (最多指定的限制數量)。 |
auth_set_claim | auth | 為特定使用者帳戶設定自訂憑證附加資訊。用於建立與使用者相關聯的受信任值,例如將使用者標示為管理員。宣告的大小有限制,名稱和值應簡明扼要。請只指定 value 或 json_value 參數之一。 |
auth_set_sms_region_policy | auth | 為 Firebase Auth 設定簡訊區域政策,根據國家/地區代碼的「允許」或「拒絕」清單,限制可接收簡訊的區域。設定這項政策後,它會覆寫任何現有政策。 |
dataconnect_list_services | dataconnect | 列出目前專案中可用的 Firebase Data Connect 服務。 |
dataconnect_get_schema | dataconnect | 擷取專案中 Firebase Data Connect 結構定義的相關資訊,包括 Cloud SQL 資料來源和描述資料模型的 GraphQL 結構定義。 |
dataconnect_get_connectors | dataconnect | 取得專案中的 Firebase Data Connect 連接器,其中包含可供用戶端 SDK 存取的預先定義 GraphQL 查詢。 |
dataconnect_execute_graphql | dataconnect | 針對 Data Connect 服務或其模擬器執行任意 GraphQL。 |
dataconnect_execute_graphql_read | dataconnect | 針對 Data Connect 服務或其模擬器執行任意 GraphQL 查詢。無法寫入資料。 |
dataconnect_execute_mutation | dataconnect | 針對服務或其模擬器執行已部署的 Data Connect 異動。可讀取及寫入資料。 |
dataconnect_execute_query | dataconnect | 針對服務或其模擬器執行已部署的 Data Connect 查詢。無法寫入任何資料。 |
storage_get_rules | 儲存空間 | 擷取目前專案的有效儲存空間安全性規則。 |
storage_validate_rules | 儲存空間 | 檢查所提供的 Storage Rules 來源是否有語法和驗證錯誤。請提供要驗證的原始碼,或原始檔案的路徑。 |
storage_get_object_download_url | 儲存空間 | 擷取 Firebase Storage 中物件的下載網址。 |
messaging_send_message | 訊息傳遞 | 將訊息傳送至 Firebase 雲端通訊註冊權杖或主題。在特定呼叫中,只能提供 registration_token 或 topic 其中一個。 |
remoteconfig_get_template | remoteconfig | 擷取專案的遠端設定範本 |
remoteconfig_publish_template | remoteconfig | 為專案發布新的遠端設定範本 |
remoteconfig_rollback_template | remoteconfig | 為專案還原特定版本的遠端設定範本 |
crashlytics_list_top_issues | crashlytics | 列出應用程式中發生的重大當機事件。 |