Firebase MCP
Description
# Firebase MCP Server A Firebase Admin SDK MCP (Model-Controller-Provider) server that provides a set of tools for managing Firebase Authentication and Firestore operations. This server can be used with Cursor IDE or Claude Desktop for seamless integration with AI assistants. ##…
About
# Firebase MCP Server A Firebase Admin SDK MCP (Model-Controller-Provider) server that provides a set of tools for managing Firebase Authentication and Firestore operations. This server can be used with Cursor IDE or Claude Desktop for seamless integration with AI assistants. ## Features ### Authentication Tools -…
Details
- Author
- robertodevs
- GitHub stars
- 6
- Downloads
- 394
- Categories
- Cloud Service
Jump to
- Create, read, update, and delete Firebase Auth users
- Generate email verification and password reset links
- Full CRUD operations on Firestore documents
- List all Firestore collections and documents
- Atomic batch write operations on Firestore
- Consistent success/error response format for all tools
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Firebase MCPCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install dependencies (pip install firebase-admin fastmcp), configure the server with a Firebase service account key, and run using mcp dev firebase.py or mcp install firebase.py for Claude Desktop. Tools can be called via the MCP protocol.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"firebase mcp": {
"mcp-firebase": {
"command": "python",
"args": [
"firebase.py"
]
}
}
}
}
McpServers
{
"mcp-firebase": {
"command": "python",
"args": [
"firebase.py"
]
}
}
Firebase MCP Server
A Firebase Admin SDK MCP (Model-Controller-Provider) server that provides a set of tools for managing Firebase Authentication and Firestore operations. This server can be used with Cursor IDE or Claude Desktop for seamless integration with AI assistants.
Features
Authentication Tools
- create_user: Create new Firebase users
- get_users: List all users in Firebase Auth
- get_user: Get specific user details
- update_user: Update user properties (email, display name, password)
- delete_user: Remove users from Firebase Auth
- verify_email: Generate email verification links
- reset_password: Generate password reset links
Firestore Tools
- get_collections: List all Firestore collections
- get_documents: List all documents in a collection
- get_document: Get specific document data
- create_document: Create new documents
- update_document: Update existing documents
- delete_document: Remove documents from Firestore
- batch_write: Perform multiple write operations atomically
Prerequisites
- Python 3.7 or higher
- Firebase project with Admin SDK enabled
- Firebase service account key
- Cursor IDE or Claude Desktop (for AI assistant integration)
Setup
1. Create a Firebase Project
- Go to Firebase Console
- Create a new project or select an existing one
- Enable Authentication and Firestore services
2. Get Firebase Admin SDK Credentials
- In Firebase Console, go to Project Settings > Service Accounts
- Click "Generate New Private Key"
- Save the JSON file as service-account-key.json in your project root
3. Install Dependencies
pip install firebase-admin fastmcp
4. Configure the Server
- Update the service account key path in firebase.py:
cred = credentials.Certificate("path/to/your/service-account-key.json")
Running the Server
1. Start the MCP Server
You can run the server in several ways:
# Using the MCP CLI (recommended)
mcp dev firebase.py
# With environment variables
mcp dev firebase.py -v FIREBASE_KEY=path/to/key.json
# With custom name
mcp dev firebase.py --name "Firebase Tools Server"
# Load environment variables from file
mcp dev firebase.py -f .env
2. Install in Claude Desktop
# Basic installation
mcp install firebase.py
# Install with custom name
mcp install firebase.py --name "Firebase Tools"
# Install with environment variables
mcp install firebase.py -v FIREBASE_KEY=path/to/key.json -v OTHER_VAR=value
mcp install firebase.py -f .env
3. Direct Execution
For advanced scenarios, you can run the server directly:
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("Firebase Tools")
if __name__ == "__main__":
mcp.run()
Then run with:
python firebase.py
# or
mcp run firebase.py
Debugging
1. Server Logs
The MCP server provides detailed logging. You can enable debug logs by setting the environment variable:
mcp dev firebase.py -v MCP_LOG_LEVEL=debug
2. Lifespan Management
For debugging initialization and cleanup, implement the lifespan API:
from contextlib import asynccontextmanager
from collections.abc import AsyncIterator
from mcp.server import Server
@asynccontextmanager
async def server_lifespan(server: Server) -> AsyncIterator[dict]:
# Initialize Firebase on startup
firebase_app = initialize_firebase()
try:
yield {"firebase": firebase_app}
finally:
# Cleanup on shutdown
await firebase_app.delete()
# Pass lifespan to server
server = Server("firebase-tools", lifespan=server_lifespan)
3. Tool Testing
You can test individual tools using the MCP CLI:
# Test a specific tool
mcp test firebase.py --tool create_user
# Test with specific arguments
mcp test firebase.py --tool create_user --args '{"email": "test@example.com"}'
4. Integration Testing
For testing the full server integration:
# Start server in test mode
mcp dev firebase.py --test
# In another terminal, run integration tests
mcp test-integration firebase.py
Usage Examples
Authentication Operations
```python
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.

