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

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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