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 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プラグインをインストールすることです:
-
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機能を提供します。以下のことが可能です:
- FirebaseサービスのセットアップをAIに依頼する
- Firestoreデータベースをクエリする
- 認証ユーザーを管理する
- Firebase Hostingにデプロイする
- Crashlyticsの問題をデバッグする
- その他多数!
利用可能なツールとリソースの完全なリストについては、以下のサーバー機能セクションを参照してください。
ドキュメント
詳細については、公式Firebase MCPサーバードキュメントを参照してください。
サーバー機能
Firebase MCPサーバーは、ツール(アクションを実行する関数)、プロンプト(再利用可能なコマンドテンプレート)、リソース(AIモデル用のドキュメントファイル)の3種類の機能を提供します。
| ツール名 | 機能グループ | 説明 |
|---|---|---|
| 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 | Firebase Authentication で特定の国コードを許可または拒否する SMS リージョンポリシーを設定します。 |
| 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 プロジェクトの Android アプリに SHA-1 または SHA-256 証明書ハッシュを追加します。 |
| 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 | Firebase Realtime Database の指定されたパスに JSON データを書き込みます。 |
| 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 | 現在のプロジェクトのデータベースから完全なドキュメントパスで 1 つ以上の 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 | このコマンドを使用して、バックエンドや AI 機能などの Firebase サービスをセットアップします。 |
| 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 になります。 |