Skip to main content
Glama
diez7lm

Firestore Advanced MCP

by diez7lm

🔥 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-mcp

GitHub経由

git clone https://github.com/diez7lm/firestore-advanced-mcp.git
cd firestore-advanced-mcp
npm install

🔧 構成

  1. Firebase サービス アカウント キーを取得します

    • Firebaseコンソールへ移動

    • プロジェクトを選択

    • プロジェクト設定 > サービスアカウント

    • 新しい秘密鍵を生成し、JSONファイルをアップロードします

  2. 環境変数を設定します:

export SERVICE_ACCOUNT_KEY_PATH="/chemin/vers/votre/serviceAccountKey.json"

🖥️ 使用

npmグローバル

SERVICE_ACCOUNT_KEY_PATH="/chemin/vers/votre/serviceAccountKey.json" firestore-advanced-mcp

npxの場合

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 のドキュメントを参照してください。

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/diez7lm/firestore-advanced-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server