Firebase MCP Server for Cloudflare Workers
40 tools available in the Firebase MCP server. Each tool can be called by AI assistants to perform specific actions.
firebase_auth_list_usersList Firebase Auth users.
Args:
Returns: List of users with their profile information.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 1000,
"minimum": 1,
"description": "Maximum users to return"
}
}
}firebase_auth_get_userGet a Firebase Auth user by UID.
Args:
Returns: The user's profile information.
{
"type": "object",
"required": [
"uid"
],
"properties": {
"uid": {
"type": "string",
"description": "User UID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}firebase_auth_get_user_by_emailGet a Firebase Auth user by email address.
Args:
Returns: The user's profile information.
{
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"description": "User email"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}firebase_auth_get_user_by_phoneGet a Firebase Auth user by phone number.
Args:
Returns: The user's profile information.
{
"type": "object",
"required": [
"phoneNumber"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"phoneNumber": {
"type": "string",
"description": "Phone number in E.164 format"
}
}
}firebase_auth_create_userCreate a new Firebase Auth user.
Args:
Returns: The created user.
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "User email"
},
"disabled": {
"type": "boolean",
"default": false,
"description": "Account disabled status"
},
"password": {
"type": "string",
"description": "User password"
},
"photoUrl": {
"type": "string",
"description": "Profile photo URL"
},
"displayName": {
"type": "string",
"description": "Display name"
},
"phoneNumber": {
"type": "string",
"description": "Phone number (E.164)"
},
"emailVerified": {
"type": "boolean",
"default": false,
"description": "Email verified status"
}
}
}firebase_auth_update_userUpdate an existing Firebase Auth user.
Args:
Returns: The updated user.
{
"type": "object",
"required": [
"uid"
],
"properties": {
"uid": {
"type": "string",
"description": "User UID"
},
"email": {
"type": "string"
},
"disabled": {
"type": "boolean"
},
"password": {
"type": "string"
},
"photoUrl": {
"type": "string"
},
"displayName": {
"type": "string"
},
"phoneNumber": {
"type": "string"
},
"emailVerified": {
"type": "boolean"
},
"customAttributes": {
"type": "string",
"description": "Custom claims JSON"
}
}
}firebase_auth_delete_userDelete a Firebase Auth user.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"uid"
],
"properties": {
"uid": {
"type": "string",
"description": "User UID to delete"
}
}
}firebase_auth_delete_usersDelete multiple Firebase Auth users at once.
Args:
Returns: Success and failure counts.
{
"type": "object",
"required": [
"uids"
],
"properties": {
"uids": {
"type": "array",
"items": {
"type": "string"
},
"description": "User UIDs to delete"
}
}
}firebase_auth_send_email_verificationSend an email verification link to a user.
Args:
Returns: Confirmation that the email was sent.
{
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"description": "User email"
}
}
}firebase_auth_send_password_resetSend a password reset email to a user.
Args:
Returns: Confirmation that the email was sent.
{
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"description": "User email"
}
}
}firebase_auth_set_custom_claimsSet custom claims on a Firebase Auth user (for role-based access control).
Args:
Returns: Confirmation that claims were set.
{
"type": "object",
"required": [
"uid",
"claims"
],
"properties": {
"uid": {
"type": "string",
"description": "User UID"
},
"claims": {
"type": "object",
"description": "Custom claims object"
}
}
}firebase_fcm_send_to_tokenSend a push notification to a specific device token.
Args:
Returns: Message ID of the sent notification.
{
"type": "object",
"required": [
"token",
"title",
"body"
],
"properties": {
"body": {
"type": "string",
"description": "Notification body"
},
"data": {
"type": "object",
"description": "Custom data payload"
},
"title": {
"type": "string",
"description": "Notification title"
},
"token": {
"type": "string",
"description": "Device registration token"
}
}
}firebase_fcm_send_to_topicSend a push notification to all devices subscribed to a topic.
Args:
Returns: Message ID of the sent notification.
{
"type": "object",
"required": [
"topic",
"title",
"body"
],
"properties": {
"body": {
"type": "string",
"description": "Notification body"
},
"data": {
"type": "object",
"description": "Custom data payload"
},
"title": {
"type": "string",
"description": "Notification title"
},
"topic": {
"type": "string",
"description": "Topic name"
}
}
}firebase_fcm_sendSend an advanced FCM message with full configuration options.
Args:
Returns: Message ID of the sent notification.
{
"type": "object",
"properties": {
"ttl": {
"type": "string"
},
"apns": {
"type": "object"
},
"body": {
"type": "string"
},
"data": {
"type": "object"
},
"icon": {
"type": "string"
},
"color": {
"type": "string"
},
"image": {
"type": "string"
},
"sound": {
"type": "string"
},
"topic": {
"type": "string"
},
"android": {
"type": "object"
},
"message": {
"type": "object",
"description": "Full FCM message object"
},
"payload": {
"type": "object"
},
"webpush": {
"type": "object"
},
"priority": {
"enum": [
"normal",
"high"
],
"type": "string"
},
"channelId": {
"type": "string"
},
"condition": {
"type": "string"
},
"notification": {
"type": "object"
}
}
}firebase_firestore_listList documents in a Firestore collection.
Args:
Returns: List of documents with their fields and metadata.
{
"type": "object",
"required": [
"collectionPath"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Number of documents to return"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
},
"collectionPath": {
"type": "string",
"description": "Path to the collection"
}
}
}firebase_firestore_getGet a single Firestore document by path.
Args:
Returns: The document with all fields and metadata.
{
"type": "object",
"required": [
"documentPath"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"documentPath": {
"type": "string",
"description": "Path to the document"
}
}
}firebase_firestore_createCreate a new document in a Firestore collection.
Args:
Returns: The created document.
{
"type": "object",
"required": [
"collectionPath",
"fields"
],
"properties": {
"fields": {
"type": "object",
"description": "Document fields"
},
"documentId": {
"type": "string",
"description": "Custom document ID"
},
"collectionPath": {
"type": "string",
"description": "Path to the collection"
}
}
}firebase_firestore_updateUpdate an existing Firestore document.
Args:
Returns: The updated document.
{
"type": "object",
"required": [
"documentPath",
"fields"
],
"properties": {
"fields": {
"type": "object",
"description": "Fields to update"
},
"updateMask": {
"type": "array",
"items": {
"type": "string"
},
"description": "Field paths to update"
},
"documentPath": {
"type": "string",
"description": "Path to the document"
}
}
}firebase_firestore_deleteDelete a Firestore document.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"documentPath"
],
"properties": {
"documentPath": {
"type": "string",
"description": "Path to the document"
}
}
}firebase_firestore_queryQuery documents in a Firestore collection.
Args:
Returns: Matching documents.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Maximum documents to return"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Documents to skip"
},
"collectionPath": {
"type": "string",
"description": "Path to the collection"
}
}
}firebase_firestore_batch_getGet multiple documents by their paths in a single request.
Args:
Returns: The requested documents.
{
"type": "object",
"required": [
"documentPaths"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"documentPaths": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of document paths"
}
}
}firebase_firestore_list_collectionsList collection IDs under a document or at the database root.
Args:
Returns: List of collection IDs.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"documentPath": {
"type": "string",
"description": "Document path (omit for root collections)"
}
}
}firebase_firestore_list_indexesList all composite indexes in the Firestore database.
Returns: List of indexes with their configuration.
{
"type": "object",
"properties": {}
}firebase_firestore_create_indexCreate a composite index in Firestore.
Args:
Returns: The created index (may be in CREATING state).
{
"type": "object",
"required": [
"queryScope"
],
"properties": {
"queryScope": {
"enum": [
"COLLECTION",
"COLLECTION_GROUP"
],
"type": "string",
"description": "Index query scope"
}
}
}firebase_remoteconfig_getGet the current Remote Config template.
Returns: The Remote Config template with parameters, conditions, and version info.
{
"type": "object",
"properties": {}
}firebase_remoteconfig_updateUpdate the Remote Config template.
Args:
Returns: The updated Remote Config template.
{
"type": "object",
"required": [
"etag"
],
"properties": {
"etag": {
"type": "string",
"description": "ETag from previous get (use * to force update)"
}
}
}firebase_remoteconfig_rollbackRollback Remote Config to a previous version.
Args:
Returns: The rolled-back Remote Config template.
{
"type": "object",
"required": [
"versionNumber"
],
"properties": {
"versionNumber": {
"type": "string",
"description": "Version number to rollback to"
}
}
}firebase_remoteconfig_list_versionsList Remote Config version history.
Args:
Returns: List of version history entries.
{
"type": "object",
"properties": {
"pageSize": {
"type": "integer",
"default": 10,
"maximum": 100,
"minimum": 1,
"description": "Number of versions"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
}
}
}firebase_rtdb_getRead data from a Realtime Database path.
Args:
Returns: The data at the specified path.
{
"type": "object",
"required": [
"path"
],
"properties": {
"path": {
"type": "string",
"description": "Database path"
},
"endAt": {
"type": "string",
"description": "End at value"
},
"equalTo": {
"type": "string",
"description": "Equal to value"
},
"orderBy": {
"type": "string",
"description": "Field to order by"
},
"shallow": {
"type": "boolean",
"default": false,
"description": "Return only keys"
},
"startAt": {
"type": "string",
"description": "Start at value"
},
"limitToLast": {
"type": "integer",
"minimum": 1,
"description": "Limit to last N"
},
"limitToFirst": {
"type": "integer",
"minimum": 1,
"description": "Limit to first N"
}
}
}firebase_rtdb_setWrite data to a Realtime Database path (overwrites existing data).
Args:
Returns: Confirmation of write.
{
"type": "object",
"required": [
"path",
"data"
],
"properties": {
"data": {
"description": "Data to write"
},
"path": {
"type": "string",
"description": "Database path"
}
}
}firebase_rtdb_updateUpdate specific fields at a Realtime Database path (merges with existing data).
Args:
Returns: Confirmation of update.
{
"type": "object",
"required": [
"path",
"data"
],
"properties": {
"data": {
"type": "object",
"description": "Fields to update"
},
"path": {
"type": "string",
"description": "Database path"
}
}
}firebase_rtdb_pushPush a new item to a Realtime Database list (auto-generates unique key).
Args:
Returns: The generated key for the new item.
{
"type": "object",
"required": [
"path",
"data"
],
"properties": {
"data": {
"description": "Data to push"
},
"path": {
"type": "string",
"description": "Database path to list"
}
}
}firebase_rtdb_deleteDelete data at a Realtime Database path.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"path"
],
"properties": {
"path": {
"type": "string",
"description": "Database path to delete"
}
}
}firebase_storage_list_bucketsList all Cloud Storage buckets in the project.
Returns: List of storage buckets with metadata.
{
"type": "object",
"properties": {}
}firebase_storage_get_bucketGet metadata for a Cloud Storage bucket.
Args:
Returns: Bucket metadata.
{
"type": "object",
"required": [
"bucketName"
],
"properties": {
"bucketName": {
"type": "string",
"description": "Bucket name"
}
}
}firebase_storage_list_objectsList objects in a Cloud Storage bucket.
Args:
Returns: List of objects and prefixes (folders).
{
"type": "object",
"required": [
"bucketName"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"prefix": {
"type": "string",
"description": "Filter by prefix"
},
"delimiter": {
"type": "string",
"description": "Delimiter for hierarchy"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
},
"bucketName": {
"type": "string",
"description": "Bucket name"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 1000,
"minimum": 1,
"description": "Max results"
}
}
}firebase_storage_get_objectGet metadata for a Cloud Storage object.
Args:
Returns: Object metadata including size, content type, timestamps.
{
"type": "object",
"required": [
"bucketName",
"objectName"
],
"properties": {
"bucketName": {
"type": "string",
"description": "Bucket name"
},
"objectName": {
"type": "string",
"description": "Object name/path"
}
}
}firebase_storage_delete_objectDelete an object from Cloud Storage.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"bucketName",
"objectName"
],
"properties": {
"bucketName": {
"type": "string",
"description": "Bucket name"
},
"objectName": {
"type": "string",
"description": "Object name/path"
}
}
}firebase_storage_copy_objectCopy an object within or between buckets.
Args:
Returns: The copied object metadata.
{
"type": "object",
"required": [
"sourceBucket",
"sourceObject",
"destBucket",
"destObject"
],
"properties": {
"destBucket": {
"type": "string",
"description": "Destination bucket"
},
"destObject": {
"type": "string",
"description": "Destination object path"
},
"sourceBucket": {
"type": "string",
"description": "Source bucket"
},
"sourceObject": {
"type": "string",
"description": "Source object path"
}
}
}firebase_storage_update_metadataUpdate custom metadata for a Cloud Storage object.
Args:
Returns: The updated object metadata.
{
"type": "object",
"required": [
"bucketName",
"objectName",
"metadata"
],
"properties": {
"metadata": {
"type": "object",
"description": "Custom metadata"
},
"bucketName": {
"type": "string",
"description": "Bucket name"
},
"objectName": {
"type": "string",
"description": "Object name/path"
}
}
}