🔥 Firestore アドバンス MCP
Firebase Firestore 用の高度な MCP (モデル コンテキスト プロトコル) サーバー。Claude のような大規模な言語モデルが Firebase データベースと完全に対話できるようになります。
✨ 特徴
📝 Firestore の完全サポート: CRUD、複合クエリ、複数のフィルター
⚡高度な操作: トランザクション、アトミック操作、バッチ更新
🔄特殊なデータ型: GeoPoint、ドキュメント参照、タイムスタンプ
⏱️ TTL管理:ドキュメントのTTL設定
🔍スマートな欠落インデックス検出:必要なインデックスを作成するための自動指示
🎯高度な検索: コレクショングループ、複雑なフィルターのクエリ
Related MCP server: MCP TapData Server
📋 前提条件
Node.js >= 16.0.0
Firestore が有効になっている Firebase プロジェクト
Firebase サービス アカウント キー (JSON ファイル)
🚀 インストール
npm経由
npm install -g firestore-advanced-mcpGitHub経由
git clone https://github.com/diez7lm/firestore-advanced-mcp.git
cd firestore-advanced-mcp
npm install🔧 構成
Firebase サービス アカウント キーを取得します。
プロジェクトを選択
プロジェクト設定 > サービスアカウント
新しい秘密鍵を生成し、JSONファイルをアップロードします
環境変数を設定します:
export SERVICE_ACCOUNT_KEY_PATH="/chemin/vers/votre/serviceAccountKey.json"🖥️ 使用
npmグローバル
SERVICE_ACCOUNT_KEY_PATH="/chemin/vers/votre/serviceAccountKey.json" firestore-advanced-mcpnpxの場合
SERVICE_ACCOUNT_KEY_PATH="/chemin/vers/votre/serviceAccountKey.json" npx firestore-advanced-mcpクローンしたディレクトリから
SERVICE_ACCOUNT_KEY_PATH="/chemin/vers/votre/serviceAccountKey.json" node index.jsクロードでの構成
この MCP サーバーを Claude で使用するには、 claude_desktop_config.jsonファイルに次の構成を追加します。
"firebase-mcp": {
"command": "npx",
"args": ["firestore-advanced-mcp"],
"env": {
"SERVICE_ACCOUNT_KEY_PATH": "/chemin/vers/votre/serviceAccountKey.json"
}
}または、ローカルにインストールされたバージョンの場合:
"firebase-mcp": {
"command": "node",
"args": ["/chemin/vers/firestore-advanced-mcp/index.js"],
"env": {
"SERVICE_ACCOUNT_KEY_PATH": "/chemin/vers/votre/serviceAccountKey.json"
}
}🛠️ 利用可能なツール
サーバーは、Claude に次のツールを提供します。
基本操作
firestore_get- ドキュメントを取得するfirestore_create- 新しいドキュメントを作成するfirestore_update- 既存のドキュメントを更新するfirestore_delete- ドキュメントを削除するfirestore_query- フィルターを使用してクエリを実行するfirestore_list_collections- 利用可能なコレクションを一覧表示する
高度なクエリ
firestore_collection_group_query- コレクショングループクエリfirestore_composite_query- 複数のフィルターと並べ替えを含むクエリfirestore_count_documents- すべてを取得せずにドキュメントをカウントする
特殊なタイプと高度な機能
firestore_special_data_types- ジオポイントと参照を管理するfirestore_set_ttl- ドキュメントの自動有効期限を設定するfirestore_transaction- 複数の操作からなるトランザクションを実行するfirestore_batch- バッチ操作を実行するfirestore_field_operations- アトミック操作 (increment、arrayUnion など)firestore_full_text_search- ドキュメント内の全文検索
📝 例
ドキュメントを取得する
{
"collection": "users",
"id": "user123"
}別の文書を参照して文書を作成する
{
"collection": "orders",
"data": {
"product": "Laptop",
"price": 999.99,
"fields": [
{
"fieldPath": "user",
"type": "reference",
"value": "users/user123"
}
]
}
}ドキュメントのTTLを設定する
{
"collection": "temporaryData",
"id": "session123",
"expiresIn": 86400000,
"fieldName": "expires_at"
}複数のフィルターを使用してクエリを実行する
{
"collection": "products",
"filters": [
{
"field": "category",
"operator": "==",
"value": "electronics"
},
{
"field": "price",
"operator": "<",
"value": 1000
}
],
"orderBy": {
"field": "price",
"direction": "asc"
},
"limit": 10
}📄 ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
👨🏽💻 著者
ディエズ7lm
🙏 謝辞
🦾 貢献
貢献を歓迎します!お気軽にプル リクエストを送信したり、GitHub の問題から問題を報告してください。
📚 追加ドキュメント
Firebase で Firestore を使用する方法の詳細については、公式の Firebase ドキュメントをご覧ください。
モデル コンテキスト プロトコル (MCP) と Claude での使用の詳細については、 Anthropic のドキュメントを参照してください。