Inspect and query Firebase Emulator Firestore and function logs.
Firebase MCP Server
MCP server for inspecting Firebase Emulator Firestore and function logs.
Setup
npm install
npm run build
Config
Copy .env.example to .env and adjust:
FIRESTORE_EMULATOR_HOST=localhost:8080
FIREBASE_PROJECT_ID=demo-project
FIREBASE_EMULATOR_HUB=localhost:4000
Usage with Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"firebase": {
"command": "node",
"args": ["/path/to/firebase_mcp_server/dist/index.js"],
"env": {
"FIRESTORE_EMULATOR_HOST": "localhost:8080",
"FIREBASE_PROJECT_ID": "your-project-id",
"FIREBASE_EMULATOR_HUB": "localhost:4000"
}
}
}
}
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 function logs with grep-style filtering |
get_function_logs options
pattern- Regex to filter log messageslevel- DEBUG/INFO/WARN/ERRORfunctionName- Filter by function namelimit- Max entries (default 50)since- ISO timestamp cutoff
Tools (6)
list_collectionsList top-level Firestore collectionslist_subcollectionsList subcollections of a documentlist_documentsList documents in a collectionget_documentGet a single document by pathquery_collectionQuery with filters, ordering, limitget_function_logsGet function logs with grep-style filteringEnvironment Variables
FIRESTORE_EMULATOR_HOSTrequiredHost and port for the Firestore emulatorFIREBASE_PROJECT_IDrequiredThe Firebase project IDFIREBASE_EMULATOR_HUBrequiredHost and port for the Firebase emulator hubConfiguration
{"mcpServers": {"firebase": {"command": "node", "args": ["/path/to/firebase_mcp_server/dist/index.js"], "env": {"FIRESTORE_EMULATOR_HOST": "localhost:8080", "FIREBASE_PROJECT_ID": "your-project-id", "FIREBASE_EMULATOR_HUB": "localhost:4000"}}}}