Firebase MCP
概要
Firebase MCP を使用すると、AI アシスタントが次のような Firebase サービスと直接連携できるようになります。
- Firestore : ドキュメントデータベース操作
- ストレージ: 強力なアップロード機能を備えたファイル管理
- 認証: ユーザー管理と検証
サーバーは、 Claude Desktop 、 Augment Code 、 VS Code 、 Cursorなどの MCP クライアント アプリケーションで動作します。
⚠️既知の問題:
firestore_list_collections
ツールは、クライアントログに Zod 検証エラーを返す場合があります。これは MCP SDK の誤った検証エラーであり、調査の結果、レスポンスにブール値が含まれていないことが確認されました。エラーメッセージが表示されても、クエリは正常に動作し、適切なコレクションデータを返します。これはログレベルのエラーであり、機能には影響しません。
⚡ クイックスタート
前提条件
- サービス アカウントの認証情報を持つ Firebase プロジェクト
- Node.js環境
1. MCPサーバーをインストールする
MCP 設定ファイルにサーバー構成を追加します。
- Claude デスクトップ:
~/Library/Application Support/Claude/claude_desktop_config.json
- 拡張:
~/Library/Application Support/Code/User/settings.json
- カーソル:
[project root]/.cursor/mcp.json
MCPサーバーは手動でインストールすることも、npx経由で実行時にインストールすることもできます(推奨)。インストール方法によって構成が異なります。
npx 用に設定する(推奨)
ローカルインストール用に設定する
2. インストールをテストする
AI クライアントに「すべての Firebase MCP ツールをテストしてください」と依頼します。
🛠️ セットアップと構成
1. Firebaseの設定
- Firebaseコンソール→プロジェクト設定→サービスアカウントに移動します
- 「新しい秘密鍵を生成」をクリックします
- JSONファイルを安全に保存する
2. 環境変数
必須
SERVICE_ACCOUNT_KEY_PATH
: Firebase サービス アカウント キー JSON へのパス (必須)
オプション
FIREBASE_STORAGE_BUCKET
: Firebase Storage のバケット名(デフォルトは[projectId].appspot.com
)MCP_TRANSPORT
: 使用するトランスポートタイプ(stdio
またはhttp
)(デフォルトはstdio
)MCP_HTTP_PORT
: HTTPトランスポートのポート(デフォルトは3000
)MCP_HTTP_HOST
: HTTPトランスポートのホスト(デフォルトはlocalhost
)MCP_HTTP_PATH
: HTTPトランスポートのパス(デフォルトは/mcp
)DEBUG_LOG_FILE
: ファイルログを有効にする:true
に設定すると、~/.firebase-mcp/debug.log
にログが記録されます。- カスタムの場所にログを記録するファイルパスを設定します
3. クライアント統合
クロードデスクトップ
編集: ~/Library/Application Support/Claude/claude_desktop_config.json
VSコード / 拡張
編集: ~/Library/Application Support/Code/User/settings.json
カーソル
編集: [project root]/.cursor/mcp.json
📚 APIリファレンス
Firestore ツール
道具 | 説明 | 必須パラメータ |
---|---|---|
firestore_add_document | コレクションにドキュメントを追加する | collection 、 data |
firestore_list_documents | フィルタリングしたドキュメントの一覧 | collection |
firestore_get_document | 特定の文書を取得する | collection 、 id |
firestore_update_document | 既存のドキュメントを更新する | collection 、 id 、 data |
firestore_delete_document | ドキュメントを削除する | collection 、 id |
firestore_list_collections | ルートコレクションの一覧 | なし |
firestore_query_collection_group | サブコレクション間のクエリ | collectionId |
ストレージツール
道具 | 説明 | 必須パラメータ |
---|---|---|
storage_list_files | ディレクトリ内のファイルを一覧表示する | なし(オプション: directoryPath ) |
storage_get_file_info | ファイルのメタデータとURLを取得する | filePath |
storage_upload | コンテンツからファイルをアップロード | filePath 、 content |
storage_upload_from_url | URLからファイルをアップロード | filePath 、 url |
認証ツール
道具 | 説明 | 必須パラメータ |
---|---|---|
auth_get_user | IDまたはメールでユーザーを取得する | identifier |
💻 開発者ガイド
設置と構築
テストの実行
まず、Firebase エミュレータをインストールして起動します。
次にテストを実行します。
プロジェクト構造
🌐 HTTP トランスポート
Firebase MCPは、デフォルトのstdioトランスポートに加えて、HTTPトランスポートをサポートするようになりました。これにより、サーバーを複数のクライアントからアクセスできるスタンドアロンのHTTPサービスとして実行できるようになります。
HTTPトランスポートで実行
HTTP トランスポートを使用してサーバーを実行するには:
HTTPクライアント構成
HTTP トランスポートを使用する場合は、MCP クライアントを HTTP エンドポイントに接続するように構成します。
セッション管理
HTTPトランスポートはセッション管理をサポートしており、複数のクライアントが同じサーバーインスタンスに接続できます。各クライアントは、リクエスト間の状態を維持するために使用される一意のセッションIDを受け取ります。
🔍 トラブルシューティング
よくある問題
ストレージバケットが見つかりません
「指定されたバケットが存在しません」というエラーが表示された場合:
- Firebaseコンソール→ストレージでバケット名を確認します
FIREBASE_STORAGE_BUCKET
環境変数に正しいバケット名を設定します
Firebaseの初期化に失敗しました
「Firebase が初期化されていません」というエラーが表示される場合:
- サービス アカウント キーのパスが正しく絶対であることを確認してください
- サービス アカウントに Firebase サービスに対する適切な権限があることを確認する
複合インデックスが必要です
「このクエリには複合インデックスが必要です」というエラーが表示された場合:
- エラーメッセージに記載されているURLを探します
- リンクに従って、Firebase コンソールで必要なインデックスを作成します。
- インデックスが作成された後にクエリを再試行してください(数分かかる場合があります)
firestore_list_collections
での Zod 検証エラー
firestore_list_collections
ツールの使用時に、「Expected object, received boolean」というメッセージを含む Zod 検証エラーが表示される場合:
⚠️既知の問題:
firestore_list_collections
ツールは、クライアントログに Zod 検証エラーを返す場合があります。これは MCP SDK の誤った検証エラーであり、調査の結果、レスポンスにブール値が含まれていないことが確認されました。エラーメッセージが表示されても、クエリは正常に動作し、適切なコレクションデータを返します。これはログレベルのエラーであり、機能には影響しません。
デバッグ
ファイルログを有効にする
問題の診断を支援するために、ファイル ログを有効にすることができます。
MCP クライアント構成でログ記録を有効にすることもできます。
リアルタイムログ表示
ログをリアルタイムで表示するには:
MCPインスペクターの使用
MCP インスペクタは対話型のデバッグを提供します。
📋 レスポンスのフォーマット
ストレージアップロードレスポンスの例
ユーザーには次のように表示されます:
🤝 貢献する
- リポジトリをフォークする
- 機能ブランチを作成する
- テストを使用して変更を実装する(80%以上のカバレッジが必要)
- プルリクエストを送信する
📄 ライセンス
MITライセンス - 詳細はLICENSEファイルを参照
🔗 関連リソース
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Firebase MCP サーバーは、Firebase Authentication、Firestore、Firebase Storage などの Firebase サービスと対話するための標準化されたインターフェースを提供します。
- 概要
- ⚡ クイックスタート
- 🛠️ セットアップと構成
- 📚 APIリファレンス
- 💻 開発者ガイド
- 🌐 HTTP トランスポート
- 🔍 トラブルシューティング
- 📋 レスポンスのフォーマット
- 🤝 貢献する
- 📄 ライセンス
- 🔗 関連リソース
Related Resources
Related MCP Servers
- AsecurityFlicenseAqualityA server providing a unified interface to interact with Firebase services, including Authentication, Firestore, and Storage.Last updated -97TypeScript
- -securityFlicense-qualityAn MCP server that provides access to Firebase Remote Config, allowing clients to interact with and manage Firebase remote configuration settings through the Model Context Protocol.Last updated -TypeScript
- -securityFlicense-qualityAuto-generated MCP server that enables interaction with the Firebase App Distribution API, allowing users to manage distribution of pre-release app builds to testers through natural language commands.Last updated -Python
- -securityFlicense-qualityAn MCP Server providing access to Google's Firebase API, allowing natural language interaction with Firebase services and resources.Last updated -Python