Firebase Emulator MCP Server
Provides tools to interact with Firebase emulators, including Firestore, Auth, Realtime Database, and logs for local development workflows.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Firebase Emulator MCP Server list all users in the auth emulator"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Firebase Emulator MCP Server
A Model Context Protocol server that exposes Firebase emulator data — Firestore, Auth, Logs, and Realtime Database — to AI agents over stdio.
Designed for local development workflows where AI coding assistants (Claude Code, GitHub Copilot, etc.) need to inspect emulator state without leaving the editor.
Created by Laish Glenberg, please drop a star on the repo if this package helped you!
Features
Tool | Description |
| Ping all emulators and report reachability |
| List root-level collection IDs |
| Query documents with optional field filters ( |
| Fetch a single document by path (e.g. |
| Read any path from the Realtime Database emulator |
| List Firebase Auth users |
| Look up a user by email or localId |
| Stream recent log entries from the emulator hub WebSocket |
Related MCP server: Firebase MCP Server
Prerequisites
Node.js 18+ (native
fetchandWebSocket— v21+ recommended)Firebase emulators running locally — start from your project root:
firebase emulators:startThe server connects to the default emulator ports:
Firestore:
8080Auth:
9099Realtime Database:
9000Hub (logs):
4500
Install & Run
Via npm (recommended)
npm install -g firebase-emulator-mcp
firebase-emulator-mcpVS Code / MCP Client Setup
Add to your project's .vscode/mcp.json or VS Code user settings:
{
"servers": {
"firebase-emulator": {
"type": "stdio",
"command": "node",
"args": ["./mcp-server/lib/index.js"],
"env": {
"FIREBASE_PROJECT_ID": "<proj_id>",
"FIREBASE_RTDB_NAMESPACE": "<proj_id>-default-rtdb"
}
}
}
}Or if installed globally:
{
"servers": {
"firebase-emulator": {
"type": "stdio",
"command": "firebase-emulator-mcp",
"env": {
"FIREBASE_PROJECT_ID": "<proj_id>",
"FIREBASE_RTDB_NAMESPACE": "<proj_id>-default-rtdb"
}
}
}
}Optionally can skip install and run directly through npx
{
"servers": {
"firebase-emulator": {
"type": "stdio",
"command": "npx",
"args": ["@lglen/firebase-emulator-mcp"],
"env": {
"FIREBASE_PROJECT_ID": "<proj_id>",
"FIREBASE_RTDB_NAMESPACE": "<proj_id>-default-rtdb"
}
}
}
}For Claude Code or other MCP clients, use the same stdio configuration.
Project structure
mcp-server/
├── src/
│ └── index.ts # TypeScript source (all tools)
├── lib/ # Compiled output (git-ignored)
├── test.mjs # Smoke test runner
├── tsconfig.json
├── package.json
├── .gitignore
├── LICENSE # MIT
└── README.mdConfiguration
Default emulator ports are defined in src/index.ts under the EMULATORS constant.
Edit them to match your firebase.json if you use non-standard ports:
Service | Default Port |
Firestore | 8080 |
Auth | 9099 |
Realtime DB | 9000 |
Storage | 9199 |
Emulator UI | 4000 |
Hub (logs) | 4500 |
License
MIT
Author
Check me out on GitHub
Available Tools
8 toolsauth_get_userA
Get a single Auth user by email or localId
Inputs: identifier (required).
auth_list_usersB
List users from Auth emulator
Inputs: limit.
emulator_logsB
Stream recent log entries from the Firebase emulator hub WebSocket (ws://127.0.0.1:4500/)
Inputs: lines.
emulator_statusB
Check reachability of all Firebase emulators
Inputs: no named parameters.
firestore_getA
Get a single Firestore document by path (e.g. Member/abc123)
Inputs: path (required).
firestore_list_collectionsA
List root-level collection IDs from Firestore emulator
Inputs: no named parameters.
firestore_queryD
Query documents in a Firestore collection
Inputs: collection (required), limit, whereField, whereValue, +1 more.
rtdb_getA
Read data from Realtime Database emulator at a given path
Inputs: path.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Each tool targets a clear, distinct resource and action: Firestore operations are separate (list collections, query, get document), RTDB has a single get, Auth has list and get, and status/logs are emulator-wide. No two tools overlap in purpose.
Most tools follow a consistent {service}_{action} pattern (firestore_list_collections, firestore_get, auth_list_users), but emulator_status and emulator_logs deviate to a noun-based pattern. Still predictable and easy to navigate.
Eight tools is well-scoped for a Firebase emulator server, covering the core services (Firestore, RTDB, Auth) plus status and logs without unnecessary bloat.
The tool surface is heavily read-only: Firestore only supports list, query, and get, with no create, update, or delete operations. RTDB and Auth similarly lack write operations, making it impossible to fully manage data in the emulator.
Related MCP Connectors
Serves your design system and coding standards to coding agents, so they stop guessing.
Query your app's logs, metrics and incidents from your AI assistant.
Gives AI agents direct access to your Sanity projects and guidance for working with them
Manage FireCMS Cloud from an AI agent: Firestore data, collections, schemas and users.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to work directly with Firebase realtime database23 npm1MIT
- AlicenseBqualityDmaintenanceEnables inspection and querying of Firestore data and Cloud Function logs within the Firebase Emulator environment. It provides tools to navigate collections, retrieve documents, and filter function logs using regex and other criteria.966 npmMIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server that exposes Firebase Firestore and Authentication to AI agents, supporting multi-project configurations and read operations.5125 npmMIT

Firebase MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceEnables interaction with Firebase projects and services, including deployment, database management, authentication, and local emulation, through natural language.4,903,625 npm4,490MIT