使用说明
项目简介
Firebase MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,它使用 Firebase 作为数据存储和工具执行平台。该服务器旨在为 LLM 客户端提供访问和操作 Firebase Firestore 数据库的能力,并可以通过工具的形式集成到 LLM 应用的工作流程中。它支持两种部署模式:本地 Node.js 模式 (使用 Firebase Admin SDK) 和 Cloudflare Workers 模式 (使用 Firebase REST API),以适应不同的运行环境和需求。
主要功能点
- Firestore 数据库操作: 提供对 Firebase Firestore 数据库的文档进行 CRUD (创建、读取、更新、删除) 操作的工具。
- 集合和子集合查询: 支持列出 Firestore 数据库中的集合和子集合,方便 LLM 应用浏览和管理数据结构。
- 条件过滤查询: 允许 LLM 客户端使用过滤条件查询 Firestore 文档,以获取更精确的数据。
- 多模式部署: 支持本地 Node.js 模式和 Cloudflare Workers 模式,灵活适应开发、测试和生产环境。
- MCP 协议标准: 遵循 MCP 协议,易于与任何兼容 MCP 协议的 LLM 客户端集成。
安装步骤
-
克隆仓库
git clone https://github.com/sheep52031/mcp-server-firebase.git cd mcp-server-firebase -
安装依赖
npm install
服务器配置
1. 本地 Node.js 模式 (Firebase Admin SDK)
-
MCP服务器配置 (JSON):
{ "serverName": "firebase-mcp-nodejs", "command": "node", "args": ["dist/index.js"] }参数说明:
- 'serverName': MCP 服务器的名称,客户端用于标识和连接。
- 'command': 启动 MCP 服务器的命令,这里使用 'node' 运行 JavaScript 文件。
- 'args': 传递给 'node' 命令的参数,'dist/index.js' 是编译后的服务器入口文件。
-
Firebase 配置:
- 下载服务帐户密钥文件: 从 Firebase 控制台下载服务帐户密钥 JSON 文件,并将其保存在项目目录下。
- 设置环境变量 'SERVICE_ACCOUNT_KEY_PATH': 指向您下载的服务帐户密钥 JSON 文件的路径。例如:
export SERVICE_ACCOUNT_KEY_PATH="/path/to/your-service-account.json"
2. Cloudflare Workers 模式 (Firebase REST API)
-
MCP服务器配置 (JSON):
{ "serverName": "firebase-mcp-workers", "command": "npm", "args": ["run", "dev:worker"] }参数说明:
- 'serverName': MCP 服务器的名称,客户端用于标识和连接。
- 'command': 启动 Cloudflare Workers 开发服务器的命令,这里使用 'npm' 运行 npm script。
- 'args': 传递给 'npm run' 命令的参数,'dev:worker' 是 'package.json' 中定义的用于本地运行 Workers 的脚本。
-
Firebase 配置:
- 配置 'wrangler.toml' 或 Cloudflare Secrets:
- 在 'wrangler.toml' 文件中配置 'FIREBASE_PROJECT_ID', 'FIREBASE_API_KEY', 'FIREBASE_AUTH_DOMAIN' 环境变量。
- 或者使用 Cloudflare Secrets 通过 'wrangler secret put' 命令设置这些环境变量。
- 配置 'wrangler.toml' 或 Cloudflare Secrets:
基本使用方法
-
启动 MCP 服务器
- 本地 Node.js 模式: 运行 'npm run dev' 或 'node dist/index.js' (确保已设置 'SERVICE_ACCOUNT_KEY_PATH' 环境变量)。
- Cloudflare Workers 模式 (本地开发): 运行 'npm run dev:worker'。
- Cloudflare Workers 模式 (部署后): 部署到 Cloudflare Workers 后,通过 Worker 的 URL 访问。
-
在 MCP 客户端中使用
-
使用 MCP 客户端 SDK (如 '@modelcontextprotocol/sdk') 连接到服务器。
-
调用 'mcp.get_tools()' 获取可用的工具列表。
-
使用 'mcp.execute_tool()' 调用 Firestore 相关的工具,例如:
// 示例:使用 firestore_add_document 工具添加文档 const result = await mcp.tools.mcp_firebase_mcp_firestore_add_document({ documentPath: "my_collection", data: { name: "example", value: 123 } }); console.log(result); // 示例:使用 firestore_get_document 工具获取文档 const doc = await mcp.tools.mcp_firebase_mcp_firestore_get_document({ documentPath: "my_collection/document_id" }); console.log(doc);
-
注意: 请根据您选择的运行模式配置相应的 Firebase 环境和 MCP 服务器连接参数。详细的工具参数和使用方法请参考仓库 'README.md' 文件和代码注释。
信息
分类
数据库与文件