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

License Install MCP Server

Firebase Model Context Protocol(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のスキーマとオペレーションの生成
  • Firebase製品についてGeminiに相談

重要: Gemini in Firebaseは、もっともらしく見えるが事実として不正確な出力を生成する可能性があります。Googleの見解を反映しない不正確な情報で応答することがあります。使用前にGeminiからのすべての出力を検証し、テストされていない生成コードを本番環境で使用しないでください。チャットに個人を特定できる情報(PII)やユーザーデータを入力しないでください。 Gemini in Firebaseとそのデータの使用方法について詳しく学ぶ。

インストールとセットアップ

前提条件

Node.jsとnpmの動作するインストールがあることを確認してください。

基本設定

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プラグインをインストールすることです:

  1. Claudeプラグイン用のFirebaseマーケットプレイスを追加します:

    claude plugin marketplace add firebase/firebase-tools
    
  2. Firebase用のClaudeプラグインをインストールします:

    claude plugin install firebase@firebase
    
  3. インストールを確認します:

    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機能を提供します。以下のことが可能です:

  • FirebaseサービスのセットアップをAIに依頼する
  • Firestoreデータベースをクエリする
  • 認証ユーザーを管理する
  • Firebase Hostingにデプロイする
  • Crashlyticsの問題をデバッグする
  • その他多数!

利用可能なツールとリソースの完全なリストについては、以下のサーバー機能セクションを参照してください。

ドキュメント

詳細については、公式Firebase MCPサーバードキュメントを参照してください。

サーバー機能

Firebase MCPサーバーは、ツール(アクションを実行する関数)、プロンプト(再利用可能なコマンドテンプレート)、リソース(AIモデル用のドキュメントファイル)の3種類の機能を提供します。

ツール名機能グループ説明
apphosting_fetch_logsapphostingApp Hosting バックエンドの最近のサービスログまたはビルドログを取得します。
apphosting_list_backendsapphostingプロジェクト内の App Hosting バックエンド、トラフィック設定、カスタムドメインを一覧表示します。
auth_get_usersauthUID、メールアドレス、電話番号で Firebase Auth ユーザーを取得するか、すべてのユーザーを一覧表示します。
auth_update_userauthユーザーのアカウントを有効化・無効化したり、カスタムクレームを設定して更新します。
auth_set_sms_region_policyauthFirebase Authentication で特定の国コードを許可または拒否する SMS リージョンポリシーを設定します。
firebase_logincoreユーザーを Firebase CLI および MCP サーバーにサインインさせるか、現在の認証ステータスを確認します。
firebase_logoutcoreユーザーを Firebase CLI および MCP サーバーからサインアウトします。
firebase_validate_security_rulescoreFirestore、Storage、または Realtime Database のセキュリティルールの構文を検証し、エラーをチェックします。
firebase_get_projectcore現在アクティブな Firebase プロジェクトのメタデータと設定詳細を取得します。
firebase_list_appscoreアクティブなプロジェクトに登録されているすべての Firebase アプリを一覧表示します。
firebase_list_projectscore認証済みユーザーがアクセスできる Firebase プロジェクトを一覧表示します。
firebase_get_sdk_configcore登録済みの Firebase アプリの SDK 設定詳細または設定ファイルの内容を取得します。
firebase_create_projectcore新しい Firebase プロジェクトを作成するか、既存の Google Cloud プロジェクトで Firebase サービスを有効化します。
firebase_create_appcoreアクティブな Firebase プロジェクトに新しい iOS、Android、または Web アプリを作成します。
firebase_create_android_shacoreアクティブな Firebase プロジェクトの Android アプリに SHA-1 または SHA-256 証明書ハッシュを追加します。
firebase_get_environmentcore現在の Firebase CLI および MCP 環境設定、アクティブなプロジェクト、認証済みユーザーを取得します。
firebase_update_environmentcoreプロジェクトディレクトリ、アクティブなプロジェクト、アクティブなユーザーアカウントなどの環境設定を更新します。
firebase_initcoreローカルプロジェクトワークスペースで Firebase サービスを初期化および設定します。
firebase_get_security_rulescoreFirestore、Storage、または Realtime Database のアクティブなセキュリティルールを取得します。
firebase_read_resourcescore内部の firebase:// ドキュメントリソースの内容を読み取るか、利用可能なすべてのリソースを一覧表示します。
crashlytics_create_notecrashlyticsAndroid または iOS アプリの Crashlytics イシューにメモを追加します。
crashlytics_delete_notecrashlyticsAndroid または iOS アプリの Crashlytics イシューからメモを削除します。
crashlytics_get_issuecrashlytics特定の Crashlytics イシューの詳細とメタデータを取得します。
crashlytics_list_eventscrashlyticsイシューに対して指定されたフィルターに一致する最近のクラッシュおよび例外イベントを一覧表示します。
crashlytics_batch_get_eventscrashlyticsデバッグ用にリソース名でサンプルのクラッシュおよび例外イベントを取得します。
crashlytics_list_notescrashlyticsAndroid または iOS アプリの Crashlytics イシューに添付されたすべてのメモを一覧表示します。
crashlytics_get_reportcrashlyticsCrashlytics のイシューとイベントの集計数値レポートを生成します。
crashlytics_update_issuecrashlyticsCrashlytics イシューの状態(OPEN または CLOSED)を更新します。
realtimedatabase_get_datarealtimedatabaseFirebase Realtime Database の指定されたパスからデータを読み取ります。
realtimedatabase_set_datarealtimedatabaseFirebase Realtime Database の指定されたパスに JSON データを書き込みます。
dataconnect_builddataconnectFirebase SQL Connect のスキーマ、オペレーション、コネクタをコンパイルして、構文と型を検証します。
dataconnect_list_servicesdataconnectローカルおよびデプロイ済みの Firebase SQL Connect サービス、スキーマ、コネクタを一覧表示します。
dataconnect_executedataconnectFirebase SQL Connect サービスまたはエミュレータに対して GraphQL クエリまたはミューテーションを実行します。
firestore_delete_documentfirestore現在のプロジェクトのデータベース内の Firestore ドキュメントを完全なドキュメントパスで削除するには、これを使用します。ドキュメントの正確なパスがわかっている場合に使用します。
firestore_get_documentsfirestore現在のプロジェクトのデータベースから完全なドキュメントパスで 1 つ以上の Firestore ドキュメントを取得するには、これを使用します。ドキュメントの正確なパスがわかっている場合に使用します。
firestore_list_collectionsfirestore現在のプロジェクトの Firestore データベースからコレクションのリストを取得するには、これを使用します。
firestore_query_collectionfirestoreオプションのフィルターと並べ替えを使用して、コレクションから Firestore ドキュメントをクエリします。
functions_get_logsfunctionsGoogle Cloud Logging から Cloud Functions のログエントリを取得およびフィルタリングします。
functions_list_functionsfunctionsFirebase プロジェクトにデプロイされたすべての Cloud Functions を一覧表示します。
messaging_send_messagemessagingデバイス登録トークンまたはトピックに Firebase Cloud Messaging プッシュ通知を送信します。
remoteconfig_get_templateremoteconfigFirebase Remote Config テンプレートのアクティブなバージョンまたは指定されたバージョンを取得します。
remoteconfig_update_templateremoteconfig新しい Firebase Remote Config テンプレートを公開するか、以前のバージョンにロールバックします。
storage_get_object_download_urlstorageCloud Storage バケット内のオブジェクトのダウンロード URL を取得します。
プロンプト名機能グループ説明
firebase:deploycoreこのコマンドを使用して、リソースを Firebase にデプロイします。

引数:
<prompt> (オプション): デプロイについて提供したい特定の指示
firebase:initcoreこのコマンドを使用して、バックエンドや AI 機能などの Firebase サービスをセットアップします。
firestore:generate_security_rulesfirestoreプロジェクト用に安全な Firebase Firestore セキュリティルールと対応する単体テストを生成します。
storage:generate_security_rulesstorageプロジェクト用に安全な Firebase Storage セキュリティルールと対応する単体テストを生成します。
crashlytics:connectcrashlyticsこのコマンドを使用して、Firebase アプリの Crashlytics データにアクセスします。
リソース名説明
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
app_id_guideFirebase App ID ガイド: 現在のプロジェクトで Firebase App ID を選択する際に、コーディングエージェントをガイドします。
crashlytics_investigations_guideFirebase Crashlytics 調査ガイド: Crashlytics の問題で報告されたバグを調査する際にコーディングエージェントをガイドします。クラッシュの診断と修正の手順を含みます。
crashlytics_issues_guideFirebase Crashlytics 問題ガイド: Crashlytics の問題を扱う際にコーディングエージェントをガイドします。優先順位付けのルールと、クラッシュの診断と修正の手順を含みます。
crashlytics_reports_guideFirebase Crashlytics レポートガイド: 適切なフィルターの設定やメトリクスの理解方法を含め、Crashlytics レポートを要求する際にコーディングエージェントをガイドします。エージェントはレポートを要求する前にこのガイドを読む必要があります。
backend_init_guideFirebase バックエンド初期化ガイド: 現在のプロジェクトで Firebase バックエンドサービスを設定する際にコーディングエージェントをガイドします。
ai_init_guideFirebase GenAI 初期化ガイド: Firebase を利用して現在のプロジェクトで GenAI 機能を設定する際にコーディングエージェントをガイドします。
firestore_init_guideFirestore 初期化ガイド: 現在のプロジェクトで Firestore を設定する際にコーディングエージェントをガイドします。
firestore_rules_init_guideFirestore ルール初期化ガイド: プロジェクトで Firestore セキュリティルールを設定する際にコーディングエージェントをガイドします。
auth_init_guideFirebase Authentication 初期化ガイド: 現在のプロジェクトで Firebase Authentication を設定する際にコーディングエージェントをガイドします。
hosting_init_guideFirebase Hosting デプロイガイド: 現在のプロジェクトで Firebase Hosting にデプロイする際にコーディングエージェントをガイドします。
docsFirebase ドキュメント: Firebase ドキュメントからプレーンテキストコンテンツを読み込みます。例: https://firebase.google.com/docs/functions は firebase://docs/functions になります。