@gannonh/firebase-mcp

中文文档
1.4.9发布于 2025/05/11MITTypeScriptES Module近 30 天下载 6476

通过示范背景协议与Firebase服务互动的 Firebase MCP 服务器

中文使用文档
文档目录29 节
  1. 概览
  2. QQ 快速启动
  3. 先决条件
  4. 1. 安装 MCP 服务器
  5. 2. 测试安装
  6. QQ 设置配置( S)
  7. 1. 消防基地配置
  8. 2. 环境变量
  9. 3. 客户一体化
  10. API 参考
  11. 消防工具
  12. 存储工具
  13. 认证工具
  14. QQ 开发者指南
  15. 安装和大楼
  16. 运行测试
  17. 项目结构
  18. HTTP 运输
  19. 与 HTTP 运输运行
  20. HTTP 客户端配置
  21. 会话管理
  22. * 解决问题
  23. 共同问题
  24. 调试
  25. 答复格式
  26. 存储上传响应示例
  27. 捐款
  28. 许可证
  29. 有关资源

火场MCP

Project Logo

Firebase MCP server

Firebase Tests CI

概览

火场MCP 使AI助理能够直接与Firebase服务合作,包括:

  • 消防车: 文档数据库操作
  • 存储: 具有强大上传能力的文件管理
  • 认证: 用户管理和核查

服务器与 MCP 客户端应用程序合作, 例如 克劳德桌面, (中文(简体) ), 增强码, (中文(简体) ), VS 代码,以及 光标。 。 。 .

⚠️ 已知问题编号: firestore_list_collections 工具可能返回客户端日志中的 Zod 验证错误。 这在MCP SDK中是一个错误的验证错误,因为我们的调查证实答复中没有布尔值. 尽管有错误消息,但查询仍然正确,并返回适当的收集数据. 这是一个日志级别错误,不影响功能.

QQ 快速启动

先决条件

  • 具有服务账户证书的消防基地项目
  • 节点.js 环境

1. 安装 MCP 服务器

将服务器配置添加到您的 MCP 设置文件 :

  • 克劳德桌面 : ~/Library/Application Support/Claude/claude_desktop_config.json
  • 增强: ~/Library/Application Support/Code/User/settings.json
  • 光标 : [project root]/.cursor/mcp.json

MCP服务器可以通过npx(被推荐)手动安装或在运行时间安装. 您如何安装决定您的配置 :

{
  "firebase-mcp": {
    "command": "npx",
    "args": [
      "-y",
      "@gannonh/firebase-mcp"
    ],
    "env": {
      "SERVICE_ACCOUNT_KEY_PATH": "/absolute/path/to/serviceAccountKey.json",
      "FIREBASE_STORAGE_BUCKET": "your-project-id.firebasestorage.app"
    }
  }
}

本地安装配置

{
  "firebase-mcp": {
    "command": "node",
    "args": [
      "/absolute/path/to/firebase-mcp/dist/index.js"
    ],
    "env": {
      "SERVICE_ACCOUNT_KEY_PATH": "/absolute/path/to/serviceAccountKey.json",
      "FIREBASE_STORAGE_BUCKET": "your-project-id.firebasestorage.app"
    }
  }
}

2. 测试安装

询问你的AI客户端:"请测试所有的Firebase MCP工具"

QQ 设置配置( S)

1. 消防基地配置

  1. 转到 火地控台 项目设置 服务账户
  2. 点击“ 生成新私人密钥 ”
  3. 安全保存 JSON 文件

2. 环境变量

需求

  • SERVICE_ACCOUNT_KEY_PATH: 您的 Firebase 服务账户密钥的路径( 需要)

可选

  • FIREBASE_STORAGE_BUCKET: Firebase 存储(默认为 [projectId].appspot.com(中文(简体) )
  • MCP_TRANSPORT: 要使用的运输类型(stdio 或者说 http) (违约 stdio(中文(简体) )
  • MCP_HTTP_PORT: HTTP 运输的端口(默认为 3000(中文(简体) )
  • MCP_HTTP_HOSTHTTP 传输主机( 默认为 localhost(中文(简体) )
  • MCP_HTTP_PATH: HTTP 传输路径( 默认为 /mcp(中文(简体) )
  • DEBUG_LOG_FILE: 启用文件记录 :
    • 设定为 true 日志为 ~/.firebase-mcp/debug.log
    • 设定为要登录到自定义位置的文件路径

3. 客户一体化

克劳德桌面

编辑 : ~/Library/Application Support/Claude/claude_desktop_config.json

VS 代码/ 增加

编辑 : ~/Library/Application Support/Code/User/settings.json

光标

编辑 : [project root]/.cursor/mcp.json

API 参考

消防工具

工具说明所需参数
firestore_add_document将文档添加到收藏中collection, (中文(简体) ), data
firestore_list_documents列出带有过滤功能的文档collection
firestore_get_document获取特定文档collection, (中文(简体) ), id
firestore_update_document更新现有文档collection, (中文(简体) ), id, (中文(简体) ), data
firestore_delete_document删除文档collection, (中文(简体) ), id
firestore_list_collections列出根收藏无
firestore_query_collection_group查询所有子收藏collectionId

存储工具

工具说明所需参数
storage_list_files在目录中列出文件无( 可选 : directoryPath(中文(简体) )
storage_get_file_info获取文件元数据和 URLfilePath
storage_upload从内容上传文件filePath, (中文(简体) ), content
storage_upload_from_url从 URL 上传文件filePath, (中文(简体) ), url

认证工具

工具说明所需参数
auth_get_user通过ID或电子邮件获取用户identifier

QQ 开发者指南

安装和大楼

git clone https://github.com/gannonh/firebase-mcp
cd firebase-mcp
npm install
npm run build

运行测试

首先,安装并启动 Firebase 模拟器:

npm install -g firebase-tools
firebase init emulators
firebase emulators:start

然后运行测试:

# Run tests with emulator
npm run test:emulator

# Run tests with coverage
npm run test:coverage:emulator

项目结构

src/
├── index.ts                  # Server entry point
├── utils/                    # Utility functions
└── lib/
    └── firebase/              # Firebase service clients
        ├── authClient.ts     # Authentication operations
        ├── firebaseConfig.ts   # Firebase configuration
        ├── firestoreClient.ts # Firestore operations
        └── storageClient.ts  # Storage operations

HTTP 运输

Firebase MCP现在除了默认的stdio运输外,还支持HTTP运输. 这使得您可以将服务器运行为一个独立的HTTP服务,可以被多个客户端访问.

与 HTTP 运输运行

用 HTTP 传输运行服务器 :

# Using environment variables
MCP_TRANSPORT=http MCP_HTTP_PORT=3000 node dist/index.js

# Or with npx
MCP_TRANSPORT=http MCP_HTTP_PORT=3000 npx @gannonh/firebase-mcp

HTTP 客户端配置

当使用 HTTP 传输时, 配置您的 MCP 客户端连接到 HTTP 端点 :

{
  "firebase-mcp": {
    "url": "http://localhost:3000/mcp"
  }
}

会话管理

HTTP运输支持会话管理,允许多个客户端连接到同一个服务器实例. 每个客户端都会收到一个独特的会话ID,用于在请求之间保持状态.

* 解决问题

共同问题

未找到存储桶

如果您看到“ 指定的桶不存在 ” 错误 :

  1. 在 Firebase 控制台中验证您的桶名 – 存储
  2. 设置正确的桶名 FIREBASE_STORAGE_BUCKET 环境变量

启动失败

如果您看到“ Firebase 未初始化 ” 错误 :

  1. 检查您的服务账户密钥路径是否正确和绝对
  2. 确保服务账户对消防基地服务有适当的授权

所需综合指数

如果您收到“ 此查询需要综合索引” 错误 :

  1. 查找错误消息中提供的 URL
  2. 跟踪链接在 Firebase 控制台创建所需的索引
  3. 在索引创建后重试您的查询( 可能需要几分钟)

Zod 校验错误 firestore_list_collections

如果您看到 Zod 验证错误, 信件“ 期望对象 ” , 在使用时为布尔 firestore_list_collections 工具:

⚠️ 已知问题编号: firestore_list_collections 工具可能返回客户端日志中的 Zod 验证错误。 这在MCP SDK中是一个错误的验证错误,因为我们的调查证实答复中没有布尔值. 尽管有错误消息,但查询仍然正确,并返回适当的收集数据. 这是一个日志级别错误,不影响功能.

调试

启用文件日志

为了帮助诊断问题, 您可以启用文件记录 :

# Log to default location (~/.firebase-mcp/debug.log)
DEBUG_LOG_FILE=true npx @gannonh/firebase-mcp

# Log to a custom location
DEBUG_LOG_FILE=/path/to/custom/debug.log npx @gannonh/firebase-mcp

您也可以在 MCP 客户端配置中启用日志 :

{
  "firebase-mcp": {
    "command": "npx",
    "args": ["-y", "@gannonh/firebase-mcp"],
    "env": {
      "SERVICE_ACCOUNT_KEY_PATH": "/path/to/serviceAccountKey.json",
      "FIREBASE_STORAGE_BUCKET": "your-project-id.firebasestorage.app",
      "DEBUG_LOG_FILE": "true"
    }
  }
}

实时日志查看

要实时查看日志 :

# Using tail to follow the log file
tail -f ~/.firebase-mcp/debug.log

# Using a split terminal to capture stderr
npm start 2>&1 | tee logs.txt

使用 MCP 检查员

MCP检查员提供交互式调试:

# Install MCP Inspector
npm install -g @mcp/inspector

# Connect to your MCP server
mcp-inspector --connect stdio --command "node ./dist/index.js"

答复格式

存储上传响应示例

{
  "name": "reports/quarterly.pdf",
  "size": "1024000",
  "contentType": "application/pdf",
  "updated": "2025-04-11T15:37:10.290Z",
  "downloadUrl": "https://storage.googleapis.com/bucket/reports/quarterly.pdf?alt=media",
  "bucket": "your-project.appspot.com"
}

显示为用户 :

## File Successfully Uploaded! 📁

Your file has been uploaded to Firebase Storage:

**File Details:**
- **Name:** reports/quarterly.pdf
- **Size:** 1024000 bytes
- **Type:** application/pdf
- **Last Updated:** April 11, 2025 at 15:37:10 UTC

**[Click here to download your file](https://storage.googleapis.com/bucket/reports/quarterly.pdf?alt=media)**

捐款

  1. 叉子存储器
  2. 创建特性分支
  3. 通过测试实施变革(需要80+%覆盖)
  4. 提交拉动请求

许可证

麻省理工学院执照 - 看 自由主义 详细文件

版本与发布记录

@gannonh/firebase-mcp 共发布 18 个版本,首次发布于 2025/03/09;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.4.9latest2025/05/111.5 年前
1.4.82025/05/101.5 年前
1.4.72025/05/101.5 年前
1.4.62025/05/091.5 年前
1.4.52025/05/091.5 年前
1.4.42025/05/091.5 年前

关于 @gannonh/firebase-mcp 的常见问题

@gannonh/firebase-mcp 是什么?

通过示范背景协议与Firebase服务互动的 Firebase MCP 服务器

如何安装 @gannonh/firebase-mcp?

在项目目录运行 npm install @gannonh/firebase-mcp,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 firebase-mcp,可以用 npx firebase-mcp 直接运行。

@gannonh/firebase-mcp 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@gannonh/firebase-mcp 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@gannonh/firebase-mcp 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=16.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@gannonh/firebase-mcp 可以商用吗?

@gannonh/firebase-mcp 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@gannonh/firebase-mcp 的下载量有多少?

根据 npm 官方下载统计,@gannonh/firebase-mcp 在 2026/10/16 – 2026/11/14 这 30 天内被下载 6,476 次,日均约 216 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@gannonh/firebase-mcp 还在维护吗?

最新版本 1.4.9 发布于 2025/05/11(1.5 年前);至今共发布 18 个版本,其中过去 12 个月发布了 0 个;首次发布于 2025/03/09。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。