Skip to main content
Glama
gemini-dk

Firebase MCP Server

by gemini-dk
README.md
# Firebase MCP Server

## Overview
This is a Firebase MCP (Model Context Protocol) server that provides a unified interface to interact with various Firebase services including Authentication, Firestore, and Storage.

## Setup
1. Clone and build the project:
   ```bash
   git clone https://github.com/gemini-dk/mcp-server-firebase
   cd mcp-server-firebase
   npm install
   npm run build
   ```

2. Get Firebase service account key:
   - Go to Firebase Console > Project Settings > Service accounts
   - Click "Generate new private key"
   - Save the JSON file to your project directory

3. Configure `mcp_settings.json`:
   ```json
   {
     "firebase-mcp": {
       "command": "node",
       "args": [
         "/path/to/mcp-server-firebase/dist/index.js"
       ],
       "env": {
         "SERVICE_ACCOUNT_KEY_PATH": "/path/to/serviceAccountKey.json"
       }
     }
   }
   ```
   Replace `/path/to/mcp-server-firebase` with the actual path where you cloned the repository.
   Replace `/path/to/serviceAccountKey.json` with the path to your service account key file.

## Available APIs
### Authentication
- Get user by ID or email

### Firestore
- Add/update/delete documents
- List collections/documents

### Storage
- List files in a directory
- Get File metadata and Download URL

## License
- MIT License

TDQS

A3.5/5.0

Scored across 9 tools

Disambiguation5/5

Every tool has a clearly distinct purpose with no ambiguity. The tools are organized by Firebase service (Authentication, Firestore, Storage) and specific operations within each service, making it easy to distinguish between them. For example, firestore_get_document retrieves a single document while firestore_list_documents lists multiple documents with filtering.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout, with clear service prefixes (auth_, firestore_, storage_). All tools use snake_case consistently, and the naming convention is predictable and readable across all nine tools.

Tool Count5/5

With 9 tools, this server is well-scoped for covering core Firebase operations across multiple services. Each tool earns its place by addressing distinct functionality without being overwhelming. The count is appropriate for the server's purpose of providing access to Firebase Authentication, Firestore, and Storage.

Completeness4/5

The tool surface provides excellent coverage for Firestore (full CRUD operations plus listing) and good coverage for Storage and Authentication. Minor gaps exist, such as no user creation/update/deletion in Authentication and no file upload/download in Storage, but agents can work around these limitations for many common workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues