Firebase MCP Server

公式

Firebase MCPサーバーを使用すると、AIを活用した開発ツールがFirebaseプロジェクトやアプリのコードベースと連携できるようになります。

Firebase MCPで何ができますか?

  • Create and manage Firebase projects — アシスタントに依頼して、firebase_create_project で新しいプロジェクトを初期化するか、既存のプロジェクトやアプリを一覧表示します。
  • Manage Authentication usersauth_get_users でユーザー詳細を取得し、auth_update_user でカスタムクレームを更新するか、アカウントを無効化します。
  • Query and update Firestore or Realtime Databasefirebase_read_resources やデータベース関連ツールを使用して、ドキュメントの読み取り、書き込み、管理を行います。
  • Debug crashes with Crashlyticscrashlytics_get_issuecrashlytics_list_events を使用して、問題の詳細を取得し、最近のクラッシュイベントを一覧表示し、メモを追加します。
  • Validate and retrieve security rulesfirebase_validate_security_rules で Firestore、Storage、または Realtime Database のルールにエラーがないか確認します。
  • Monitor App Hosting backendsapphosting_list_backends でバックエンドを一覧表示し、apphosting_fetch_logs で最近のビルドまたはランタイムログを取得します。

ドキュメント

Firebase MCP サーバー

License Install MCP Server

Firebase Model Context Protocol (MCP) サーバーは、AI を活用した開発ツールが Firebase プロジェクトやアプリのコードベースと連携できるようにします。Firebase MCP サーバーは、MCP クライアントとして動作するあらゆるツールと連携可能です。対象ツールには、Firebase StudioGemini CLIClaude CodeClineCursor、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.jsnpm が動作する環境を用意してください。

基本設定

Firebase MCP サーバーは、トランスポート媒体として標準 I/O (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_logsapphosting指定されたApp Hostingバックエンドの最新ログを取得するために使用します。buildLogs が指定されている場合、最新ビルドのビルドプロセスからのログが返されます。最新のログが最初に表示されます。
apphosting_list_backendsapphosting現在のプロジェクト内のApp Hostingバックエンドのリストを取得するために使用します。空のリストはバックエンドが存在しないことを意味します。uri はバックエンドの公開URLです。動作中のバックエンドには managed_resources 配列があり、その中に run_service エントリが含まれます。その run_service.service は、App Hostingバックエンドを提供するCloud Runサービスのリソース名です。その名前の最後のセグメントがサービスIDです。domains はバックエンドに関連付けられたドメインのリストです。それらは CUSTOM または DEFAULT のいずれかのタイプを持ちます。すべてのバックエンドには DEFAULT ドメインが必要です。ユーザーがバックエンドへの接続に実際に使用するドメインは、ドメインリソース名の最後のパラメータです。カスタムドメインが正しく設定されている場合、そのステータスは ACTIVE で終わります。
auth_get_usersauthUIDのリストまたはメールアドレスのリストに基づいて、1人以上のFirebase Authユーザーを取得するために使用します。
auth_update_userauth特定のユーザーアカウントを無効化、有効化、またはカスタムクレームを設定するために使用します。
auth_set_sms_region_policyauthFirebase AuthenticationのSMSリージョンポリシーを設定し、国コードの許可リストまたは拒否リストに基づいてテキストメッセージを受信できるリージョンを制限するために使用します。このポリシーは、設定されると既存のポリシーを上書きします。
firebase_logincoreユーザーをFirebase CLIおよびFirebase MCPサーバーにサインインさせるために使用します。これにはGoogleアカウントが必要であり、Firebaseプロジェクトを作成して操作するにはサインインが必要です。
firebase_logoutcoreユーザーをFirebase CLIおよびFirebase MCPサーバーからサインアウトさせるために使用します。
firebase_validate_security_rulescoreFirestore、Storage、またはRealtime DatabaseのFirebaseセキュリティルールの構文および検証エラーをチェックするために使用します。
firebase_get_projectcore現在アクティブなFirebaseプロジェクトに関する情報を取得するために使用します。
firebase_list_appscore現在アクティブなFirebaseプロジェクトに登録されているFirebaseアプリのリストを取得するために使用します。FirebaseアプリはiOS、Android、またはWebです。
firebase_list_projectscoreサインインしているユーザーがアクセスできるFirebaseプロジェクトのリストを取得するために使用します。
firebase_get_sdk_configcoreFirebaseアプリのFirebase設定情報を取得するために使用します。現在アクティブなFirebaseプロジェクトに登録されているFirebaseアプリのプラットフォームまたはFirebaseアプリIDのいずれかを指定する必要があります。
firebase_create_projectcore新しいFirebaseプロジェクトを作成するために使用します。
firebase_create_appcore現在アクティブなFirebaseプロジェクトに新しいFirebaseアプリを作成するために使用します。FirebaseアプリはiOS、Android、Webのいずれかです。
firebase_create_android_shacore指定されたSHA証明書ハッシュを、指定されたFirebase Androidアプリに追加するために使用します。
firebase_get_environmentcoreFirebase CLIおよびFirebase MCPサーバーの現在のFirebase 環境設定を取得するために使用します。これには、現在認証されているユーザー、プロジェクトディレクトリ、アクティブなFirebaseプロジェクトなどが含まれます。すべてのツールでユーザー認証が必要ですが、すべての情報がすべてのツールで必須というわけではありません。どの情報が必要かについては、ツールの要件に注意してください。
firebase_update_environmentcoreFirebase CLIおよびFirebase MCPサーバーの環境設定(プロジェクトディレクトリ、アクティブプロジェクト、アクティブユーザーアカウント、利用規約への同意など)を更新するために使用します。現在の環境設定を確認するには、firebase_get_environment を使用してください。
firebase_initcoreワークスペースで選択したFirebaseサービス(Cloud Firestoreデータベース、Firebase SQL Connect、Firebase Realtime Database、Firebase AI Logic)を初期化するために使用します。すべてのサービスはオプションであり、セットアップしたいプロダクトのみを指定してください。既存のプロジェクトディレクトリに新機能を初期化することは可能ですが、既存の機能を再初期化すると設定が上書きされる可能性があります。初期化した機能をデプロイするには、firebase_init ツールの後に firebase deploy コマンドを実行してください。
firebase_get_security_rulescore指定されたFirebaseサービスのセキュリティルールを取得するために使用します。そのサービスのインスタンスがプロダクト内に複数ある場合、デフォルトインスタンスのルールが返されます。
firebase_read_resourcescorefirebase:// リソースの内容を読み取るか、利用可能なリソースを一覧表示するために使用します。
crashlytics_create_notecrashlyticsCrashlyticsのIssueにメモを追加します。
crashlytics_delete_notecrashlyticsCrashlyticsのIssueからメモを削除します。
crashlytics_get_issuecrashlyticsCrashlyticsのIssueデータを取得します。これはデバッグの開始点として使用できます。
crashlytics_list_eventscrashlytics指定されたフィルターに一致する最新のイベントを一覧表示するために使用します。
Issueのサンプルクラッシュや例外を取得するために使用でき、
スタックトレースやその他のデバッグに役立つデータが含まれます。
crashlytics_batch_get_eventscrashlyticsリソース名で特定のイベントを取得します。
Issueのサンプルクラッシュや例外を取得するために使用でき、
スタックトレースやその他のデバッグに役立つデータが含まれます。
crashlytics_list_notescrashlyticsCrashlyticsのIssueに関するすべてのメモを一覧表示するために使用します。
crashlytics_update_issuecrashlyticsCrashlytics イシューの状態を更新するために使用します。
realtimedatabase_get_datarealtimedatabaseFirebase Realtime Database の指定されたロケーションからデータを取得するために使用します。
realtimedatabase_set_datarealtimedatabaseFirebase Realtime Database の指定されたロケーションにデータを書き込むために使用します。
dataconnect_builddataconnectFirebase SQL Connect のスキーマ、オペレーション、コネクタをコンパイルし、ビルドエラーをチェックするために使用します。
dataconnect_list_servicesdataconnect既存のローカルおよびバックエンドの Firebase SQL Connect サービスを一覧表示するために使用します。
dataconnect_executedataconnectSQL Connect サービスまたはそのエミュレータに対して GraphQL オペレーションを実行するために使用します。
firestore_delete_documentfirestore完全なドキュメントパスで、現在のプロジェクトのデータベースから Firestore ドキュメントを削除するために使用します。ドキュメントの正確なパスがわかっている場合に使用します。
firestore_get_documentsfirestore完全なドキュメントパスで、現在のプロジェクトのデータベースから 1 つ以上の Firestore ドキュメントを取得するために使用します。ドキュメントの正確なパスがわかっている場合に使用します。
firestore_list_collectionsfirestore現在のプロジェクトの Firestore データベースからコレクションのリストを取得するために使用します。
firestore_query_collectionfirestore完全なドキュメントパスを持つコレクションで、現在のプロジェクトのデータベース内のコレクションから 1 つ以上の Firestore ドキュメントを取得するために使用します。コレクションの正確なパスと、ドキュメントに適用するフィルタリング句がわかっている場合に使用します。
functions_get_logsfunctionsGoogle Cloud Logging の高度なフィルタを使用して、Cloud Functions のログエントリのページを取得するために使用します。
functions_list_functionsfunctionsFirebase プロジェクトにデプロイされているすべての関数を一覧表示します。
messaging_send_messagemessagingFirebase Cloud Messaging の登録トークンまたはトピックにメッセージを送信するために使用します。特定の呼び出しでは、registration_token または topic のいずれか一方のみを指定できます。
remoteconfig_get_templateremoteconfig現在アクティブなFirebaseプロジェクトから、指定されたFirebase Remote Configテンプレートを取得するために使用します。
remoteconfig_update_templateremoteconfigプロジェクトに新しいRemote Configテンプレートを公開するか、特定のバージョンにロールバックするために使用します。
storage_get_object_download_urlstorageCloud Storage for Firebaseバケット内のオブジェクトのダウンロード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/functionsfirebase://docs/functions になります