Firebase MCP Server
Official Firebase MCP server built into the Firebase CLI. Covers Firestore, Auth, Cloud Functions, Realtime Database, Remote Config, Crashlytics, and more.
The Firebase MCP server is the official Model Context Protocol server maintained by Google as part of the Firebase CLI (firebase-tools). It lets AI assistants like Claude Desktop, Cursor, Gemini CLI, VS Code Copilot, Cline, and Windsurf manage Firebase projects directly: querying Firestore documents, retrieving Crashlytics issues, listing Cloud Functions, inspecting Auth users, generating security rules, and deploying resources.
Unlike many community MCP servers, this one ships inside the CLI itself. You launch it with npx firebase-tools@latest mcp, and it reuses your existing Firebase CLI credentials, so no separate API key is required. Tool surface is broad: project and app management, Firestore CRUD plus index/database administration, Realtime Database read/write, Data Connect (GraphQL/PostgreSQL), App Hosting logs, Cloud Messaging, Storage, Remote Config templates, Crashlytics issues and notes, and a developer knowledge search for Firebase/Google documentation.
The server also exposes prebuilt slash command prompts (/firebase:deploy, /firebase:init, /firestore:generate_security_rules, /crashlytics:connect, etc.) and documentation resources. You can scope which features are active via the --only flag, which is useful for keeping the tool list focused for the model.
Tools
| Tool | Description |
|---|---|
firebase_login / firebase_logout |
Sign in or out of the Firebase CLI from within the MCP session. |
firebase_list_projects / firebase_get_project / firebase_create_project |
Discover, inspect, and create Firebase projects. |
firebase_list_apps / firebase_create_app / firebase_get_sdk_config / firebase_create_android_sha |
Manage iOS, Android, and Web apps registered to a Firebase project, including SHA cert hashes and SDK config retrieval. |
firestore_query_collection / get_document / add_document / update_document / delete_document / list_documents / list_collections |
Full CRUD plus listing against Firestore documents and collections. |
firestore_create_database / get_database / list_databases / update_database / delete_database |
Manage Firestore database instances. |
firestore_create_index / get_index / list_indexes / delete_index |
Manage Firestore composite indexes. |
realtimedatabase_get_data / realtimedatabase_set_data |
Read and write data at a Realtime Database location. |
auth_get_users / auth_update_user / auth_set_sms_region_policy |
Retrieve Firebase Auth users by UID or email, disable/enable accounts, set custom claims, and configure SMS region allow/deny lists. |
functions_list_functions / functions_get_logs |
List deployed Cloud Functions and fetch their logs with advanced filters. |
storage_get_object_download_url |
Get a download URL for a Cloud Storage object. |
messaging_send_message |
Send a Firebase Cloud Messaging message to device tokens or topics. |
remoteconfig_get_template / remoteconfig_update_template |
Retrieve, publish, or roll back Remote Config templates. |
crashlytics_get_issue / list_events / batch_get_events / list_notes / create_note / delete_note / get_report / update_issue |
Inspect Crashlytics issues and events, generate reports, and manage issue notes and state. |
apphosting_list_backends / apphosting_fetch_logs |
List App Hosting backends and fetch backend/build logs. |
dataconnect_build / dataconnect_list_services / dataconnect_execute |
Compile schemas, list services, and execute GraphQL operations against Firebase Data Connect (PostgreSQL). |
firebase_get_security_rules / firebase_validate_security_rules |
Retrieve and syntactically validate security rules for Firestore, Storage, and Realtime Database. |
firebase_init |
Initialize Firebase services (Firestore, Data Connect, Realtime Database, AI Logic) in a project. |
firebase_get_environment / firebase_update_environment |
Inspect and update the current CLI environment (active project, account). |
developerknowledge_search_documents / answer_query / get_documents |
Search and retrieve Google/Firebase developer documentation, with grounded answer generation (quota limited). |
Prerequisites
- Node.js and npm installed
- A Google account with access to one or more Firebase projects
- Firebase CLI authentication (run
firebase loginonce, or use Application Default Credentials for service accounts)
Install / Run
The server runs from the firebase-tools npm package. No separate install is needed if you use npx:
npx -y firebase-tools@latest mcp
Claude Desktop
Edit claude_desktop_config.json (Settings > Developer):
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Cursor
Add to .cursor/mcp.json or ~/.cursor/mcp.json:
{
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
VS Code Copilot
Add to .vscode/mcp.json:
{
"servers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Claude Code
claude mcp add firebase npx -- -y firebase-tools@latest mcp
Optional flags
--dir ABSOLUTE_PATHpoints to a directory containingfirebase.json--only feature1,feature2restricts which tool groups load (e.g.auth,firestore,storage)
Example:
{
"firebase": {
"command": "npx",
"args": [
"-y",
"firebase-tools@latest",
"mcp",
"--dir", "/Users/you/my-project",
"--only", "auth,firestore,crashlytics"
]
}
}
Inspecting capabilities
npx firebase-tools@latest mcp --generate-tool-list
npx firebase-tools@latest mcp --generate-prompt-list
npx firebase-tools@latest mcp --generate-resource-list
- Query and mutate Firestore documents from a chat session: pull a user record by email, update a custom claim, or add a new entry without writing CRUD boilerplate
- Investigate Crashlytics issues conversationally: list top events for an app, fetch a specific issue, generate a report, and annotate it with notes
- Tail Cloud Functions logs and App Hosting build logs while debugging a failing deploy
- Generate and validate Firestore or Cloud Storage security rules, then deploy them via
/firebase:deploy - Bootstrap a new project end to end: create the project, register a web app, retrieve SDK config, and initialize Firestore, Auth, and AI Logic
- "List all Firestore documents in the
orderscollection wherestatus == 'pending'and were created in the last 24 hours." - "Show the top Crashlytics issues for my Android app this week and summarize the stack traces."
- "Find the Firebase Auth user with email alice@example.com and set a custom claim
role: admin." - "Fetch the last 200 log entries from the
sendWelcomeEmailCloud Function and tell me why it's failing." - "Generate Firestore security rules so only authenticated users can read their own
/users/{uid}document, then validate them."
- Official, maintained by the Firebase team and shipped inside the
firebase-toolsCLI - Very broad surface area: Firestore, Auth, Functions, Storage, RTDB, Data Connect, Remote Config, Crashlytics, App Hosting, FCM
- Reuses existing Firebase CLI credentials, no extra API keys to manage
--onlyflag lets you scope tools per project, plus prebuilt slash command prompts for common workflows
- Requires Node.js and a Firebase CLI login; service account setups need Application Default Credentials configured
- Large tool count can crowd a model's context window unless you scope with
--only - Some advanced surfaces (Performance Monitoring, A/B Testing, App Distribution) are listed as supported services but have limited direct tool coverage
- Supabase MCP server for Postgres + Auth + Storage workflows
- MongoDB MCP server if your data lives in Atlas instead of Firestore
- Community Firestore-only MCP servers, for users who want a smaller surface than the full Firebase CLI