modelscope·@gannonh/firebase-mcp
Firebase MCP服务器提供了一个标准化的接口来与Firebase服务进行交互,包括Firebase身份验证、Firestore和Firebase存储。

模型上下文协议 (MCP) 是一个开放协议,使 LLM 客户端应用程序能够使用工具并访问外部数据源。此 MCP 服务器允许任何支持 MCP 协议的 LLM 客户端与 Firebase 服务进行交互,包括:
该服务器通过 MCP 工具公开 Firebase 服务,使其可以被包括 Claude Desktop、Cursor、Roo Code 和 Cline 在内的 LLM 客户端访问,同时处理身份验证和连接管理。
Firebase MCP 现在支持在 Firestore 中查询子集合(集合组)!这使您可以跨所有同名的子集合进行查询,无论其父文档如何——从而可以通过单个查询轻松搜索整个数据库层次结构。非常适合跨文档搜索、活动流和统一仪表板。
最简单的安装 Firebase MCP 服务器的方法是将 llms-install.md 文件提供给您的 LLM 客户端(如 Cline)。
服务器需要以下环境变量:
SERVICE_ACCOUNT_KEY_PATH:Firebase 服务账户密钥 JSON 文件的路径(必需)FIREBASE_STORAGE_BUCKET:Firebase 存储桶名称(可选)
[projectId].appspot.com将服务器配置添加到您的 MCP 设置文件中:
~/Library/Application Support/Claude/claude_desktop_config.json[project root]/.cursor/mcp.json~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json)~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.jsonMCP 服务器可以通过 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"
}
}
}
git clone https://github.com/gannonh/firebase-mcp
cd firebase-mcp
npm install
npm run build
为了确保一切正常,请提示您的客户:请运行并测试所有的 Firebase MCP 工具。
auth_get_user: 通过 ID 或电子邮件获取用户详细信息
{
identifier: string // 用户 ID 或电子邮件地址
}
firestore_add_document: 向集合中添加文档
{
collection: string,
data: object
}
firestore_list_collections: 列出可用的集合
{
documentPath?: string, // 可选的父文档路径
limit?: number, // 默认值:20
pageToken?: string // 用于分页
}
firestore_list_documents: 列出文档,可选过滤条件
{
collection: string,
filters?: Array<{
field: string,
operator: string,
value: any
}>,
limit?: number,
pageToken?: string
}
firestore_get_document: 获取特定文档
{
collection: string,
id: string
}
firestore_update_document: 更新现有文档
{
collection: string,
id: string,
data: object
}
firestore_delete_document: 删除文档
{
collection: string,
id: string
}
firestore_query_collection_group: 查询所有子集合中的文档 🆕
{
collectionId: string, // 要查询的集合 ID
filters?: Array<{ // 可选过滤条件
field: string,
operator: string, // ==, !=, <, <=, >, >=, array-contains, array-contains-any, in, not-in
value: any
}>,
orderBy?: Array<{ // 可选排序字段
field: string,
direction?: 'asc' | 'desc' // 默认值:'asc'
}>,
limit?: number, // 返回的最大文档数(默认值:20,最大值:100)
pageToken?: string // 分页令牌
}
storage_list_files: 列出目录中的文件
{
directoryPath?: string, // 可选路径,默认为根目录
pageSize?: number, // 每页项目数,默认为 10
pageToken?: string // 分页令牌
}
storage_get_file_info: 获取文件元数据和下载 URL
{
filePath: string // 存储中的文件路径
}
npm run build
该项目使用 Vitest 进行测试。可以针对 Firebase 模拟器运行测试,以避免影响生产数据。
安装 Firebase 模拟器
npm install -g firebase-tools
firebase init emulators
启动模拟器
firebase emulators:start
运行测试
npm run test:emulator
服务器分为三个主要组件:
src/
├── index.ts # Server entry point
└── lib/
└── firebase/
├── authClient.ts # Authentication operations
├── firebaseConfig.ts # Firebase configuration
├── firestoreClient.ts # Firestore operations
└── storageClient.ts # Storage operations
每个客户端模块实现了特定的 Firebase 服务操作,并将其作为 MCP 工具公开。
MIT 许可证 - 详情请参阅 LICENSE 文件
如果您在尝试访问 Firebase Storage 时遇到此错误:
检查您的 Firebase 项目是否已启用 Storage
验证正确的存储桶名称
[projectId].appspot.com[projectId].firebasestorage.app审计 npm 包依赖项以查找安全漏洞,提供详细的报告和修复建议,并集成 MCP。
通过API层将克劳德桌面版直接连接到数据库,使其能够探索数据库结构、编写SQL查询、分析数据集和创建报告。该API层还包含用于表探索和查询执行的工具。
DBCode 是一个 Visual Studio Code 扩展,允许你管理许多数据库,包括 PostgreSQL、MySQL、SQL Server、DuckDB、Redis、MongoDB 等更多数据库。 DBCode 提供了运行 MCP 服务器的选项,可以访问这些数据库、它们的模式以及执行查询的能力。
AI 首选的统一数据访问通道,支持30多种数据源(阿里云全系/主流数据库/数仓)的安全访问。
后端服务,实现了模型控制面板协议,可连接到 Apache Doris 数据库,允许用户执行 SQL 查询、管理元数据,并且有可能利用大语言模型(LLMs)完成自然语言到 SQL 的转换等任务。
提供对Excel文件的操纵功能。此服务器启用工作簿创建、数据操纵、格式设置和高级Excel功能。