Firebase Emulator MCP Server
Provides tools to interact with Firebase emulators, including Firestore, Auth, Realtime Database, and logs for local development workflows.
Click on "Install 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 Serverlist 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
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/LaishGlenberg/firebase-emulator-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server