FireCMS MCP server
OFFICIAL SERVERRun a FireCMS Cloud project from a chat client: Firestore documents, collection schemas, users and settings
Firebase's own MCP server, run from the Firebase CLI, for managing projects, data and deploys
Official · Firebase JavaScript Local · stdio Cloud platformsDatabasesDeveloper tools
105 popularity score ★ 4.5k ↓ 4.8M/wk
Opens the app, which asks before it adds the server.
claude mcp add firebase -- npx -y firebase-tools@latest mcp{
"mcpServers": {
"firebase": {
"command": "npx",
"args": [
"-y",
"firebase-tools@latest",
"mcp"
]
}
}
}{
"mcpServers": {
"firebase": {
"command": "npx",
"args": [
"-y",
"firebase-tools@latest",
"mcp"
]
}
}
}{
"servers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"firebase-tools@latest",
"mcp"
]
}
}
}[mcp_servers.firebase]
command = "npx"
args = ["-y", "firebase-tools@latest", "mcp"]gemini mcp add --scope user firebase npx -- -y firebase-tools@latest mcpGOOGLE_APPLICATION_CREDENTIALS |
Optional: Path to a service account key JSON file, used instead of a firebase login session or gcloud Application Default Credentials. |
|---|
The Firebase MCP Server ships inside the Firebase CLI package (firebase-tools) and starts with its mcp subcommand. It runs on your machine over stdio and acts with the same credentials the CLI uses, so an assistant in an editor can work on your Firebase projects and the code in your project folder.
Its tools cover creating projects and apps, reading SDK config, running firebase init and deploys, checking and fetching security rules, Auth users, Firestore documents, databases and indexes, Realtime Database reads and writes, SQL Connect, Cloud Functions logs, Crashlytics issues, Remote Config templates, Cloud Messaging pushes and App Hosting logs. Besides tools it offers prompts such as firebase:init and firebase:deploy, and guide documents as resources.
Tools are grouped by feature. With --only you pick the groups to expose; the core group is always added. Without it, the server shows the groups it detects in your project and drops tools that report themselves unavailable. In the code at v15.33.0 (src/mcp/tools/index.ts and src/mcp/onemcp/index.ts), the Firestore, SQL Connect and developerknowledge groups also pull tool lists from Google-hosted MCP endpoints at start, so those tools run on Google's side. An apptesting group (run_tests, check_status) is registered only when the CLI's mcpalpha experiment is on, and is not in the docs' tool table.
| Runtime | Node.js 20+ |
|---|
Node.js 20 or later with npm, so npx can fetch firebase-tools. A Google account with access to a Firebase project, signed in with firebase login (or the firebase_login tool), or a service account key in GOOGLE_APPLICATION_CREDENTIALS, or gcloud Application Default Credentials. Some features need the matching product turned on in the project, such as Crashlytics or SQL Connect. An MCP client that supports stdio.
Stdio only: the docs give no HTTP mode. The docs' tool table lists 69 tools, and it prints the Firestore backup and backup-schedule rows twice. The firestore, dataconnect and developerknowledge tools come from Google-hosted endpoints, so they need sign-in and network access, and their list can change without a new CLI release. developerknowledge_answer_query has limited quota and returns 429 when that runs out. The apptesting tools only appear with the mcpalpha experiment on. Without --dir, the project directory defaults to the folder the server was started in.
Suits developers who already use Firebase and the Firebase CLI and want an assistant to set up services, deploy, read logs and Crashlytics issues, or edit data. Use --only to narrow it to a few groups, since the full set is large. It writes to live projects (deploys, Firestore and Realtime Database writes, deletes, push messages), so it suits a development project or an account with limited roles better than production. If you only need to read Firestore data from a non-Google client, a smaller single-purpose server may be easier to review, but this one is the version Firebase maintains.
apphosting_fetch_logsapphosting_list_backendsauth_get_usersauth_update_userauth_set_sms_region_policyfirebase_loginfirebase_logoutfirebase_validate_security_rulesfirebase_get_projectfirebase_list_appsfirebase_list_projectsfirebase_get_sdk_configfirebase_create_projectfirebase_create_appfirebase_create_android_shafirebase_get_environmentfirebase_update_environmentfirebase_initfirebase_get_security_rulesfirebase_read_resourcesfirebase_deployfirebase_deploy_statuscrashlytics_create_notecrashlytics_delete_notecrashlytics_get_issuecrashlytics_list_eventscrashlytics_batch_get_eventscrashlytics_list_notescrashlytics_get_reportcrashlytics_update_issuerealtimedatabase_get_datarealtimedatabase_set_datadataconnect_builddataconnect_list_servicesdataconnect_executefunctions_get_logsfunctions_list_functionsmessaging_send_messageremoteconfig_get_templateremoteconfig_update_templatestorage_get_object_download_urlfirestore_get_documentfirestore_add_documentfirestore_update_documentfirestore_delete_documentfirestore_list_documentsfirestore_list_collectionsfirestore_query_collectionfirestore_run_aggregation_queryfirestore_create_databasefirestore_get_databasefirestore_list_databasesfirestore_update_databasefirestore_delete_databasefirestore_create_indexfirestore_list_indexesfirestore_delete_indexdeveloperknowledge_search_documentsdeveloperknowledge_answer_querydeveloperknowledge_get_documents