# Firebase Live MCP Server
MCP server for querying live Firebase projects - Firestore and Cloud Function logs.
## Setup
```bash
npm install
npm run build
```
## Authentication
Uses Application Default Credentials. Run:
```bash
gcloud auth application-default login
```
## Project Detection
The server auto-detects the Firebase project from `.firebaserc` in the current working directory.
Override with env var:
```bash
FIREBASE_PROJECT_ID=my-project
```
## Usage with Claude Desktop
Add to `claude_desktop_config.json`:
```json
{
"mcpServers": {
"firebase-live": {
"command": "node",
"args": ["/Users/nigelthorne/code/firebase_live_mcp_server/dist/index.js"],
"cwd": "/path/to/your/firebase/project",
"env": {
"FIREBASE_PROJECT_ID": "optional-override"
}
}
}
}
```
The `cwd` should point to a directory with `.firebaserc` for auto-detection.
## Tools
| Tool | Description |
|------|-------------|
| `list_collections` | List top-level Firestore collections |
| `list_subcollections` | List subcollections of a document |
| `list_documents` | List documents in a collection |
| `get_document` | Get a single document by path |
| `query_collection` | Query with filters, ordering, limit |
| `get_function_logs` | Get Cloud Function logs with grep filtering |
### get_function_logs options
- `pattern` - Regex to filter log messages
- `severity` - Minimum level: DEBUG/INFO/NOTICE/WARNING/ERROR/CRITICAL
- `functionName` - Filter by function name
- `limit` - Max entries (default 50)
- `hoursAgo` - Fetch logs from last N hours (default 1)
## Required Permissions
Your gcloud account needs:
- `roles/datastore.viewer` - Firestore read access
- `roles/logging.viewer` - Cloud Logging read access