项目简介
Firebase CLI 工具用于通过命令行测试、管理和部署您的 Firebase 项目。此仓库也是官方 Firebase MCP 服务器的所在地。MCP 服务器负责以标准化方式向 LLM 客户端提供上下文信息和功能,包括托管资源、注册和执行工具以及定义 Prompt 模板。
主要功能点
- 上下文服务标准化: 通过 Model Context Protocol (MCP) 提供统一接口,向 LLM 客户端提供 Firebase 相关的上下文信息。
- 资源管理: 托管和管理 Firebase 项目中的各种资源,如实时数据库数据、Cloud Firestore 文档、身份验证用户等,并提供数据访问能力。
- 工具调用: 注册和执行允许 LLM 调用外部功能的工具,例如部署代码和资产、运行本地模拟器、导入/导出身份验证用户、管理实时数据库和 Cloud Firestore 数据、配置和管理 Cloud Functions、管理扩展等。
- Prompt 模板支持: 定义和渲染 Prompt 模板,支持可定制的 LLM 交互模式。
- 多传输协议: 支持 Stdio、SSE、WebSocket 等多种传输协议,为 LLM 应用提供安全、可扩展的上下文服务框架。
安装步骤
您可以使用 npm (Node Package Manager) 安装 Firebase CLI。请注意,您需要先安装 Node.js 和 npm。 运行以下命令进行安装:
npm install -g firebase-tools
这将提供全局可用的 'firebase' 命令。
或者,您可以下载独立二进制文件:
curl -sL firebase.tools | bash
服务器配置
MCP 客户端需要配置 MCP 服务器的启动命令及其参数才能建立连接。以下是根据 Firebase CLI MCP 服务器生成配置信息的示例:
{ "name": "firebase-mcp-server", "command": "npx", "args": [ "-y", "firebase-tools", "experimental:mcp", "--dir", "." ], "comment_command": "命令可以是 'firebase' (如果已通过 'npm install -g' 全局安装) 或 'npx' (使用本地安装的包)", "comment_args": "参数 '-y' 用于在运行 'npx' 时自动确认安装;'firebase-tools' 是要运行的包名;'experimental:mcp' 是启动 MCP 服务器模式的关键参数;'--dir .' 指定服务器的工作目录为当前目录。其他可选参数可用于项目特定配置,例如 '--project <YOUR_PROJECT_ID>' 来指定操作的 Firebase 项目。" }
- server name: 'firebase-mcp-server'
- command: 'npx'
- 'npx' 用于运行 'firebase-tools' 包,无需全局安装。
- 如果 'firebase-tools' 已通过 'npm install -g firebase-tools' 全局安装,您也可以直接使用 'firebase' 作为命令。
- args: '["-y", "firebase-tools", "experimental:mcp", "--dir", "."]'
- '-y': 在 'npx' 命令中自动确认安装。
- 'firebase-tools': 指定要运行的包。
- 'experimental:mcp': 这是启动 Firebase CLI 作为 MCP 服务器模式的关键参数。
- '--dir .': 指定当前目录作为 MCP 服务器的工作目录。这对于服务器理解其操作的上下文(例如查找 'firebase.json' 或 '.firebaserc' 文件)可能很重要。
- 其他可选参数:您可以在此数组中添加其他 Firebase CLI 参数,例如 '--project <YOUR_PROJECT_ID>' 来指定操作的 Firebase 项目。
基本使用方法
安装完成后,您可以在命令行中使用 'firebase' 命令来管理您的 Firebase 项目。MCP 客户端将通过您配置的 'command' 和 'args' 连接到 Firebase MCP 服务器,从而可以:
- 查询 Firebase 资源: LLM 客户端可以请求访问 Firebase 实时数据库中的数据、Cloud Firestore 文档、身份验证用户列表等。
- 调用 Firebase 工具: LLM 客户端可以触发部署操作、启动模拟器、管理 Cloud Functions 配置、导入/导出用户数据等。
- 获取 Prompt 模板: LLM 客户端可以根据需要获取预定义的 Prompt 模板,以构建定制化的用户交互。 通过这些能力,您可以构建由 LLM 驱动的智能应用,与您的 Firebase 项目进行深度交互,实现智能化的项目管理和数据操作。
信息
分类
开发者工具