F

Firestore 高级功能服务器

@diez7lm/firestore-advanced-mcp
0 Stars 127 次浏览 diez7lm 更新于 2026-08-23

一种模型上下文协议服务器,使大型语言模型(如 Claude)能够与 Firebase Firestore 数据库进行综合交互,支持完整的 CRUD 操作、复杂查询以及事务处理和 TTL 管理等高级功能。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

🔥 Firestore 高级 MCP

Version
License
Node

适用于 Firebase Firestore 的高级 MCP(Model Context Protocol)服务器,允许像 Claude 这样的大型语言模型与您的 Firebase 数据库进行全面交互。

✨ 功能

  • 📝 全面支持 Firestore:CRUD、复合查询、多重过滤
  • 高级操作:事务、原子操作、批量更新
  • 🔄 特殊数据类型:GeoPoint、文档引用、时间戳
  • ⏱️ TTL 管理:配置文档的生存时间
  • 🔍 智能检测缺失索引:自动提供创建所需索引的指令
  • 🎯 高级搜索:跨集合组查询、复杂过滤器

📋 先决条件

  • 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

在 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 - 处理 GeoPoints 和引用
  • 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 文件。

👨🏽‍💻 作者

  • Diez7lm

🙏 致谢

  • Anthropic 提供 Claude 和 Model Context Protocol
  • Firebase 提供 Firestore 和开发工具

🦾 贡献

欢迎贡献!请随时提交 pull request 或通过 GitHub issues 报告问题。

📚 其他文档

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

要了解有关 Model Context Protocol (MCP) 及其与 Claude 的使用情况,请查阅Anthropic 文档

相关 MCP 服务