Firestore高级MCP服务

Firestore高级MCP服务是一个为Firebase Firestore设计的模型上下文协议服务器,支持大型语言模型如Claude与Firebase数据库进行全面的交互。

  • by diez7lm
  • JavaScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 diez7lm/firestore-advanced-mcp

使用说明

🔥 Firestore高级MCP

Firebase Firestore的高级模型上下文协议(MCP)服务器,允许像Claude这样的大型语言模型与Firebase数据库完全交互。

✨ 功能

  • 📝 消防仓库配套 :CRUD、复合查询、多个过滤器
  • ⚡ 高级操作 :事务、原子操作、批量更新
  • 🔄 特殊数据类型 :geopoint、文档引用、时间戳
  • ⏱️ 妊娠TTL :配置文档的生存时间
  • 🔍 缺失索引的智能检测 :创建必要索引的自动说明
  • 🎯 高级搜索 :对集合组、复杂过滤器的查询

📋 Prérequis

  • 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 Global合作

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

Claude中的配置

要将此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 -原子操作(增量、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许可-请参阅文件 许可证 更多详情。

👨🏽‍💻 作者

  • 迪兹7lm

🙏 致谢

🦾 贡献

欢迎捐款!请随时提交拉取请求或通过GitHub问题报告问题。

📚 补充文件

有关在Firebase中使用Firestore的更多信息,请参阅 Firebase官方文档.

要了解有关模型上下文协议(MCP)及其与Claude的使用的更多信息,请参阅 人类学文献.