Lazy loaded image
Firebase MCP Server
Words 700Read Time 2 min
2025-4-2
2025-4-2
type
status
date
slug
summary
tags
category
icon
password
地址:https://github.com/gannonh/firebase-mcp
 
 

项目概述

Firebase MCP 是一个桥接 LLM 客户端和 Firebase 服务的中间层,支持以下 Firebase 核心服务:
  • 身份验证(Authentication): 用户管理和验证
  • Firestore: 文档数据库操作
  • 存储(Storage): 文件存储和检索
该服务器通过 MCP 工具暴露 Firebase 服务,使支持 MCP 协议的 LLM 客户端(如 Claude Desktop、Cursor、Roo Code 和 Cline)能够访问这些功能,同时处理身份验证和连接管理。

设置步骤

1. Firebase 配置

要使用此服务器,您需要:
  • 导航至"项目设置 > 服务账号"
  • 点击"生成新的私钥"
  • 安全保存生成的 JSON 文件

2. 环境变量

服务器需要以下环境变量:
  • SERVICE_ACCOUNT_KEY_PATH: Firebase 服务账号密钥 JSON 文件的路径(必需)
  • FIREBASE_STORAGE_BUCKET: Firebase 存储桶名称(可选,默认为 [projectId].appspot.com

3. 安装 MCP 服务器

您需要将服务器配置添加到 MCP 设置文件中,根据不同的 LLM 客户端,配置文件位置不同:
  • Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Cursor: [项目根目录]/.cursor/mcp.json
  • Roo Code: ~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
  • Cline: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
安装方式有两种:通过 npx 运行时安装(推荐)或本地安装。

npx 配置示例

本地安装配置示例

功能特性

身份验证工具

  • auth_get_user: 通过 ID 或电子邮件获取用户详细信息

    Firestore 工具

    • firestore_add_document: 向集合添加文档
    • firestore_list_collections: 列出可用集合
    • firestore_list_documents: 列出文档(支持筛选)
    • firestore_get_document: 获取特定文档
    • firestore_update_document: 更新现有文档
    • firestore_delete_document: 删除文档

    存储工具

    • storage_list_files: 列出目录中的文件
    • storage_get_file_info: 获取文件元数据和下载 URL

    项目架构

    服务器结构分为三个主要组件:
    每个客户端模块实现特定的 Firebase 服务操作,并将它们作为 MCP 工具暴露。

    常见问题排查

    1. "指定的存储桶不存在"错误
        • 确保 Firebase 项目已启用存储功能
        • 验证正确的存储桶名称
        • 设置正确的 FIREBASE_STORAGE_BUCKET 环境变量
    1. "Firebase 未初始化"错误
        • 验证服务账号密钥路径
        • 检查服务账号权限
    1. JSON 解析错误
        • 确保代码中没有 console.log 语句
        • 检查请求中的语法错误
     
     
     
     
     
    上一篇
    Dart MCP Server
    下一篇
    nest mcp sse