Firebase MCP
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Provides integration with Firebase services including Authentication for user management and verification, Firestore for document database operations, and Storage for file storage and retrieval
Firebase MCP サーバー
概要
モデルコンテキストプロトコル(MCP)は、LLMクライアントアプリケーションがツールを使用したり、外部データソースにアクセスしたりできるようにするオープンプロトコルです。このMCPサーバーにより、MCPプロトコルをサポートするあらゆるLLMクライアントが、以下のFirebaseサービスと連携できるようになります。
- 認証: ユーザー管理と検証
- Firestore : ドキュメントデータベース操作
- ストレージ: ファイルの保存と取得
サーバーは、MCP ツールを通じて Firebase サービスを公開し、認証と接続管理を処理しながら、 Claude Desktop 、 Cursor 、 Roo Code 、 Clineなどの LLM クライアントがアクセスできるようにします。
🔥 v1.3.0 の新機能: コレクショングループクエリ
Firebase MCP が Firestore のサブコレクション(コレクショングループ)へのクエリをサポートしました。これにより、親ドキュメントに関係なく、同じ名前を持つすべてのサブコレクションに対してクエリを実行できるようになります。これにより、単一のクエリでデータベース階層全体を簡単に検索できるようになります。ドキュメント間検索、アクティビティフィード、統合ダッシュボードに最適です。
設定
Firebase MCP サーバーをインストールする最も簡単な方法は、LLM クライアント (Cline など) にllms-install.mdファイルを入力するだけです。
1. Firebaseの設定
- Firebaseコンソールへ移動
- プロジェクト設定 > サービスアカウントに移動します
- 「新しい秘密鍵を生成」をクリックします
- JSONファイルを安全に保存する
2. 環境変数
サーバーには次の環境変数が必要です。
SERVICE_ACCOUNT_KEY_PATH
: Firebase サービス アカウント キーの JSON ファイルへのパス (必須)FIREBASE_STORAGE_BUCKET
: Firebase Storage のバケット名(オプション)- 指定されていない場合は、
[projectId].appspot.com
がデフォルトになります。
- 指定されていない場合は、
3. MCPサーバーをインストールする
MCP 設定ファイルにサーバー構成を追加します。
- Claude デスクトップ:
~/Library/Application Support/Claude/claude_desktop_config.json
- カーソル:
[project root]/.cursor/mcp.json
- Roo Code (VS Code 拡張機能): (
~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
) - Cline (VS Code 拡張機能):
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
MCPサーバーは手動でインストールすることも、npx経由で実行時にインストールすることもできます(推奨)。インストール方法によって構成が異なります。
npx用の設定
ローカルインストール用に設定する
手動インストール
依存関係をインストールする
プロジェクトを構築する
インストールをテストする
すべてが機能していることを確認するには、クライアントにPlease run through and test all of your Firebase MCP tools.
特徴
認証ツール
auth_get_user
: IDまたはメールでユーザーの詳細を取得するCopy
Firestore ツール
firestore_add_document
: コレクションにドキュメントを追加するCopyfirestore_list_collections
: 利用可能なコレクションを一覧表示するCopyfirestore_list_documents
: オプションのフィルタリングを使用してドキュメントを一覧表示するCopyfirestore_get_document
: 特定のドキュメントを取得するCopyfirestore_update_document
: 既存のドキュメントを更新するCopyfirestore_delete_document
: ドキュメントを削除するCopyfirestore_query_collection_group
: すべてのサブコレクションにわたってドキュメントをクエリします 🆕Copy
ストレージツール
storage_list_files
: ディレクトリ内のファイルを一覧表示するCopystorage_get_file_info
: ファイルのメタデータとダウンロード URL を取得するCopy
発達
建物
テスト
このプロジェクトではテストにVitestを使用しています。本番環境のデータに影響を与えないように、Firebaseエミュレータでテストを実行できます。
- Firebase エミュレータをインストールするCopy
- エミュレータを起動するCopy
- テストを実行するCopy
建築
サーバーは 3 つの主要コンポーネントで構成されています。
各クライアント モジュールは、特定の Firebase サービス操作を実装し、MCP ツールとして公開します。
貢献
- リポジトリをフォークする
- 機能ブランチを作成する
- テストを使用して変更を実装する(CI ワークフローに合格するには 80% 以上のカバレッジが必要)
- プルリクエストを送信する
ライセンス
MITライセンス - 詳細はLICENSEファイルを参照
関連リソース
トラブルシューティング
よくある問題
「指定されたバケットは存在しません」エラー
Firebase Storage にアクセスしようとしたときにこのエラーが発生した場合:
- Firebase プロジェクトでストレージが有効になっていることを確認します
- Firebaseコンソールへ移動
- ストレージに移動
- まだ初期設定が完了していない場合は完了してください
- 正しいバケット名を確認する
- デフォルトのバケット名は通常、
[projectId].appspot.com
です。 - 一部のプロジェクトでは代わりに
[projectId].firebasestorage.app
を使用します - Firebaseコンソールのストレージの下にあるバケット名を確認できます。
- デフォルトのバケット名は通常、
FIREBASE_STORAGE_BUCKET
環境変数を設定する- MCP設定に正しいバケット名を追加します
- 例:
"FIREBASE_STORAGE_BUCKET": "your-project-id.firebasestorage.app"
「Firebase が初期化されていません」エラー
このエラーが表示された場合:
- サービス アカウント キーのパスを確認する
SERVICE_ACCOUNT_KEY_PATH
のパスが正しく絶対パスであることを確認してください- ファイルが存在し、読み取り可能であることを確認する
- サービスアカウントの権限を確認する
- サービス アカウントに、使用している Firebase サービスに必要な権限があることを確認します。
- ストレージの場合、サービス アカウントにはストレージ管理者のロールが必要です
「このクエリには複合インデックスが必要です」エラー
フィルターまたは順序付けを使用してfirestore_query_collection_group
を使用するときにこのエラーが表示される場合:
- エラーメッセージに示されたURLに従って、必要なインデックスを作成してください。
- インデックスが作成されたら(数分かかる場合があります)、クエリを再試行してください。
- 複数のフィールドを持つ複雑なクエリの場合は、複数のインデックスを作成する必要がある場合があります。
JSON解析エラー
無効な JSON に関するエラーが表示される場合:
- コード内に
console.log
ステートメントがないことを確認してください- すべてのログはJSON通信の妨害を避けるために
console.error
を使用する必要があります。 - MCPプロトコルはJSON通信にstdoutを使用する
- すべてのログはJSON通信の妨害を避けるために
- リクエストの構文エラーをチェックする
- すべてのパラメータが正しくフォーマットされていることを確認する
- フィールド名に誤字がないか確認する
You must be authenticated.
Tools
Firebase MCP サーバーは、Firebase Authentication、Firestore、Firebase Storage などの Firebase サービスと対話するための標準化されたインターフェースを提供します。
- Overview
- 🔥 New in v1.3.0: Collection Group Queries
- Setup
- Features
- Development
- Contributing
- License
- Related Resources
- Troubleshooting