From 0b0f25487ece245b8fb2738a775d7d39f7fd00b7 Mon Sep 17 00:00:00 2001 From: Fred Zhang Date: Thu, 18 Sep 2025 16:41:34 -0700 Subject: [PATCH] update mcp readme --- src/mcp/README.md | 106 +++++++++++++++++++++++++--------------------- 1 file changed, 58 insertions(+), 48 deletions(-) diff --git a/src/mcp/README.md b/src/mcp/README.md index bba4bc7ce70..88f5e5c85ac 100644 --- a/src/mcp/README.md +++ b/src/mcp/README.md @@ -43,51 +43,61 @@ npx -y firebase-tools login ## Tools -| Tool Name | Feature Group | Description | -| -------------------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| firebase_get_project | core | Retrieves information about the currently active Firebase project. | -| firebase_list_apps | core | Retrieves apps registered in the current Firebase project. | -| firebase_get_admin_sdk_config | core | Gets the Admin SDK config for the current project. | -| firebase_list_projects | core | Retrieves a list of Firebase projects up to the specified total count. | -| firebase_get_sdk_config | core | Retrieves the Firebase SDK configuration information for the specified platform. You must specify either a platform or an app_id. | -| firebase_create_project | core | Creates a new Firebase project. | -| firebase_create_app | core | Creates a new app in your Firebase project for Web, iOS, or Android. | -| firebase_create_android_sha | core | Adds a SHA certificate hash to an existing Android app. | -| firebase_consult_assistant | core | Send a question to an AI assistant specifically enhanced to answer Firebase questions. | -| firebase_get_environment | core | Retrieves information about the current Firebase environment including current authenticated user, project directory, active project, and more. | -| firebase_update_environment | core | Updates Firebase environment config such as project directory, active project, active user account, and more. Use `firebase_get_environment` to see the currently configured environment. | -| firebase_init | core | Initializes selected Firebase features in the workspace (Firestore, Data Connect, Realtime Database). All features are optional; provide only the products you wish to set up. You can initialize new features into an existing project directory, but re-initializing an existing feature may overwrite configuration. To deploy the initialized features, run the `firebase deploy` command after `firebase_init` tool. | -| firestore_delete_document | firestore | Deletes a Firestore documents from a database in the current project by full document paths. Use this if you know the exact path of a document. | -| firestore_get_documents | firestore | Retrieves one or more Firestore documents from a database in the current project by full document paths. Use this if you know the exact path of a document. | -| firestore_list_collections | firestore | Retrieves a list of collections from a Firestore database in the current project. | -| firestore_query_collection | firestore | Retrieves one or more Firestore documents from a collection is a database in the current project by a collection with a full document path. Use this if you know the exact path of a collection and the filtering clause you would like for the document. | -| firestore_get_rules | firestore | Retrieves the active Firestore security rules for the current project. | -| firestore_validate_rules | firestore | Checks the provided Firestore Rules source for syntax and validation errors. Provide EITHER the source code to validate OR a path to a source file. | -| auth_get_user | auth | Retrieves a user based on an email address, phone number, or UID. | -| auth_disable_user | auth | Disables or enables a user based on a UID. | -| auth_list_users | auth | Retrieves all users in the project up to the specified limit. | -| auth_set_claim | auth | Sets a custom claim on a specific user's account. Use to create trusted values associated with a user e.g. marking them as an admin. Claims are limited in size and should be succinct in name and value. Specify ONLY ONE OF `value` or `json_value` parameters. | -| auth_set_sms_region_policy | auth | Sets an SMS Region Policy for Firebase Auth to restrict the regions which can receive text messages based on an ALLOW or DENY list of country codes. This policy will override any existing policies when set. | -| dataconnect_list_services | dataconnect | List the Firebase Data Connect services available in the current project. | -| dataconnect_generate_schema | dataconnect | Generates a Firebase Data Connect Schema based on the users description of an app. | -| dataconnect_generate_operation | dataconnect | Generates a single Firebase Data Connect query or mutation based on the currently deployed schema and the provided prompt. | -| dataconnect_get_schema | dataconnect | Retrieve information about the Firebase Data Connect Schema in the project, including Cloud SQL data sources and the GraphQL Schema describing the data model. | -| dataconnect_get_connectors | dataconnect | Get the Firebase Data Connect Connectors in the project, which includes the pre-defined GraphQL queries accessible to client SDKs. | -| dataconnect_execute_graphql | dataconnect | Executes an arbitrary GraphQL against a Data Connect service or its emulator. | -| dataconnect_execute_graphql_read | dataconnect | Executes an arbitrary GraphQL query against a Data Connect service or its emulator. Cannot write data. | -| dataconnect_execute_mutation | dataconnect | Executes a deployed Data Connect mutation against a service or its emulator. Can read and write data. | -| dataconnect_execute_query | dataconnect | Executes a deployed Data Connect query against a service or its emulator. Cannot write any data. | -| storage_get_rules | storage | Retrieves the active Storage security rules for the current project. | -| storage_validate_rules | storage | Checks the provided Storage Rules source for syntax and validation errors. Provide EITHER the source code to validate OR a path to a source file. | -| storage_get_object_download_url | storage | Retrieves the download URL for an object in Firebase Storage. | -| messaging_send_message | messaging | Sends a message to a Firebase Cloud Messaging registration token or topic. ONLY ONE of `registration_token` or `topic` may be supplied in a specific call. | -| remoteconfig_get_template | remoteconfig | Retrieves a remote config template for the project | -| remoteconfig_publish_template | remoteconfig | Publishes a new remote config template for the project | -| remoteconfig_rollback_template | remoteconfig | Rollback to a specific version of Remote Config template for a project | -| crashlytics_list_top_issues | crashlytics | List the top crashes from crashlytics happening in the application. | -| apphosting_fetch_logs | apphosting | Fetches the most recent logs for a specified App Hosting backend. If `buildLogs` is specified, the logs from the build process for the latest build are returned. The most recent logs are listed first. | -| apphosting_list_backends | apphosting | Retrieves a list of App Hosting backends in the current project. An empty list means that there are no backends. The `uri` is the public URL of the backend. A working backend will have a `managed_resources` array that will contain a `run_service` entry. That `run_service.service` is the resource name of the Cloud Run service serving the App Hosting backend. The last segment of that name is the service ID. `domains` is the list of domains that are associated with the backend. They either have type `CUSTOM` or `DEFAULT`. Every backend should have a `DEFAULT` domain. The actual domain that a user would use to conenct to the backend is the last parameter of the domain resource name. If a custom domain is correctly set up, it will have statuses ending in `ACTIVE`. | -| database_get_data | realtime database | Returns RTDB data from the specified location. | -| database_set_data | realtime database | Sets RTDB data at the specified location. | -| database_get_rules | realtime database | Retrieves the security rules for the database. | -| database_validate_rules | realtime database | Validates the security rules for the database. | +| Tool Name | Feature Group | Description | +| -------------------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| firebase_get_project | core | Retrieves information about the currently active Firebase project. | +| firebase_list_apps | core | Retrieves apps registered in the current Firebase project. | +| firebase_get_admin_sdk_config | core | Gets the Admin SDK config for the current project. | +| firebase_list_projects | core | Retrieves a list of Firebase projects up to the specified total count. | +| firebase_get_sdk_config | core | Retrieves the Firebase SDK configuration information for the specified platform. You must specify either a platform or an app_id. | +| firebase_create_project | core | Creates a new Firebase project. | +| firebase_create_app | core | Creates a new app in your Firebase project for Web, iOS, or Android. | +| firebase_create_android_sha | core | Adds a SHA certificate hash to an existing Android app. | +| firebase_consult_assistant | core | Access an AI assistant specialized in all aspects of **Firebase**. Use this tool to get **detailed information**, **best practices**, **troubleshooting steps**, **code examples**, and **contextual help** regarding Firebase services, features, and project configuration. This includes questions about Firestore, Authentication, Cloud Functions, Hosting, Storage, Analytics, and more. It can also provide insights based on the **current Firebase project context**. | +| firebase_get_environment | core | Retrieves information about the current Firebase environment including current authenticated user, project directory, active project, and more. | +| firebase_update_environment | core | Updates Firebase environment config such as project directory, active project, active user account, and more. Use `firebase_get_environment` to see the currently configured environment. | +| firebase_init | core | Initializes selected Firebase features in the workspace (Firestore, Data Connect, Realtime Database). All features are optional; provide only the products you wish to set up. You can initialize new features into an existing project directory, but re-initializing an existing feature may overwrite configuration. To deploy the initialized features, run the `firebase deploy` command after `firebase_init` tool. | +| firestore_delete_document | firestore | Deletes a Firestore documents from a database in the current project by full document paths. Use this if you know the exact path of a document. | +| firestore_get_documents | firestore | Retrieves one or more Firestore documents from a database in the current project by full document paths. Use this if you know the exact path of a document. | +| firestore_list_collections | firestore | Retrieves a list of collections from a Firestore database in the current project. | +| firestore_query_collection | firestore | Retrieves one or more Firestore documents from a collection is a database in the current project by a collection with a full document path. Use this if you know the exact path of a collection and the filtering clause you would like for the document. | +| firestore_get_rules | firestore | Retrieves the active Firestore security rules for the current project. | +| firestore_validate_rules | firestore | Checks the provided Firestore Rules source for syntax and validation errors. Provide EITHER the source code to validate OR a path to a source file. | +| auth_get_user | auth | Retrieves a user based on an email address, phone number, or UID. | +| auth_disable_user | auth | Disables or enables a user based on a UID. | +| auth_list_users | auth | Retrieves all users in the project up to the specified limit. | +| auth_set_claim | auth | Sets a custom claim on a specific user's account. Use to create trusted values associated with a user e.g. marking them as an admin. Claims are limited in size and should be succinct in name and value. Specify ONLY ONE OF `value` or `json_value` parameters. | +| auth_set_sms_region_policy | auth | Sets an SMS Region Policy for Firebase Auth to restrict the regions which can receive text messages based on an ALLOW or DENY list of country codes. This policy will override any existing policies when set. | +| dataconnect_build | dataconnect | Use this to compile Firebase Data Connect schema, operations, and/or connectors and check for build errors. | +| dataconnect_list_services | dataconnect | List the Firebase Data Connect services available in the current project. | +| dataconnect_generate_schema | dataconnect | Generates a Firebase Data Connect Schema based on the users description of an app. | +| dataconnect_generate_operation | dataconnect | Generates a single Firebase Data Connect query or mutation based on the currently deployed schema and the provided prompt. | +| dataconnect_get_schema | dataconnect | Retrieve information about the Firebase Data Connect Schema in the project, including Cloud SQL data sources and the GraphQL Schema describing the data model. | +| dataconnect_get_connectors | dataconnect | Get the Firebase Data Connect Connectors in the project, which includes the pre-defined GraphQL queries accessible to client SDKs. | +| dataconnect_execute_graphql | dataconnect | Executes an arbitrary GraphQL against a Data Connect service or its emulator. | +| dataconnect_execute_graphql_read | dataconnect | Executes an arbitrary GraphQL query against a Data Connect service or its emulator. Cannot write data. | +| dataconnect_execute_mutation | dataconnect | Executes a deployed Data Connect mutation against a service or its emulator. Can read and write data. | +| dataconnect_execute_query | dataconnect | Executes a deployed Data Connect query against a service or its emulator. Cannot write any data. | +| storage_get_rules | storage | Retrieves the active Storage security rules for the current project. | +| storage_validate_rules | storage | Checks the provided Storage Rules source for syntax and validation errors. Provide EITHER the source code to validate OR a path to a source file. | +| storage_get_object_download_url | storage | Retrieves the download URL for an object in Firebase Storage. | +| messaging_send_message | messaging | Sends a message to a Firebase Cloud Messaging registration token or topic. ONLY ONE of `registration_token` or `topic` may be supplied in a specific call. | +| remoteconfig_get_template | remoteconfig | Retrieves a remote config template for the project | +| remoteconfig_publish_template | remoteconfig | Publishes a new remote config template for the project | +| remoteconfig_rollback_template | remoteconfig | Rollback to a specific version of Remote Config template for a project | +| crashlytics_add_note | crashlytics | Add a note to an issue from crashlytics. | +| crashlytics_delete_note | crashlytics | Delete a note from an issue in Crashlytics. | +| crashlytics_get_issue_details | crashlytics | Gets the details about a specific crashlytics issue. | +| crashlytics_get_sample_crash_for_issue | crashlytics | Gets the sample crash for an issue. | +| crashlytics_list_notes | crashlytics | List all notes for an issue in Crashlytics. | +| crashlytics_list_top_devices | crashlytics | List the top devices from Crashlytics for an application. | +| crashlytics_list_top_issues | crashlytics | List the top crashes from crashlytics happening in the application. | +| crashlytics_list_top_operating_systems | crashlytics | List the top operating systems from Crashlytics for an application. | +| crashlytics_list_top_versions | crashlytics | List the top versions from Crashlytics for an application. | +| crashlytics_update_issue | crashlytics | Update the state of an issue in Crashlytics. | +| apphosting_fetch_logs | apphosting | Fetches the most recent logs for a specified App Hosting backend. If `buildLogs` is specified, the logs from the build process for the latest build are returned. The most recent logs are listed first. | +| apphosting_list_backends | apphosting | Retrieves a list of App Hosting backends in the current project. An empty list means that there are no backends. The `uri` is the public URL of the backend. A working backend will have a `managed_resources` array that will contain a `run_service` entry. That `run_service.service` is the resource name of the Cloud Run service serving the App Hosting backend. The last segment of that name is the service ID. `domains` is the list of domains that are associated with the backend. They either have type `CUSTOM` or `DEFAULT`. Every backend should have a `DEFAULT` domain. The actual domain that a user would use to conenct to the backend is the last parameter of the domain resource name. If a custom domain is correctly set up, it will have statuses ending in `ACTIVE`. | +| database_get_data | database | Returns RTDB data from the specified location | +| database_set_data | database | Writes RTDB data to the specified location | +| database_get_rules | database | Get an RTDB database's rules | +| database_validate_rules | database | Validates an RTDB database's rules |