Вы можете использовать сервер Firebase MCP , чтобы предоставить инструментам разработки на базе ИИ возможность работать с вашими проектами Firebase. Сервер Firebase MCP работает с любым инструментом, который может выступать в роли клиента MCP, включая Claude Desktop, Cline, Cursor, Visual Studio Code Copilot, Windsurf Editor и другие.
Редактор, настроенный на использование сервера Firebase MCP, может использовать его возможности искусственного интеллекта, чтобы помочь вам:
- Создавайте и управляйте проектами Firebase
- Управление пользователями аутентификации Firebase
- Работа с данными в Cloud Firestore и Firebase Data Connect
- Извлечение схем Firebase Data Connect
- Изучите правила безопасности для Firestore и Cloud Storage для Firebase.
- Отправка сообщений с помощью Firebase Cloud Messaging
Некоторые инструменты используют Gemini в Firebase, чтобы помочь вам:
- Генерация схемы и операций Firebase Data Connect
- Проконсультируйтесь с Gemini по поводу продуктов Firebase
Это лишь частичные списки; полный список инструментов, доступных вашему редактору, смотрите в разделе « Возможности сервера» .
При вызовах инструментов сервер Firebase MCP использует те же учётные данные пользователя, которые используются для авторизации Firebase CLI в среде, где он запущен. Это могут быть данные вошедшего в систему пользователя или учётные данные приложения по умолчанию , в зависимости от среды.
Прежде чем начать
Убедитесь, что у вас установлена рабочая версия Node.js и npm.
Настройте свой MCP-клиент
Сервер Firebase MCP может работать с любым клиентом MCP, поддерживающим стандартный ввод-вывод (stdio) в качестве транспортной среды. Ниже приведены инструкции для некоторых популярных инструментов:
Базовая конфигурация
Студия Firebase
Чтобы настроить Firebase Studio для использования сервера Firebase MCP, отредактируйте или создайте файл конфигурации: .idx/mcp.json
.
Если файл ещё не существует, создайте его, щёлкнув правой кнопкой мыши родительский каталог и выбрав «Новый файл» . Добавьте в файл следующее содержимое:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
}
Gemini CLI и Gemini Code Assist
Чтобы настроить Gemini CLI или Gemini Code Assist для использования сервера Firebase MCP, отредактируйте или создайте файл(ы) конфигурации:
- В вашем проекте:
.gemini/settings.json
- В вашем домашнем каталоге:
~/.gemini/settings.json
Если файл ещё не существует, создайте его, щёлкнув правой кнопкой мыши родительский каталог и выбрав «Новый файл» . Добавьте в файл следующее содержимое:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
}
Клод Десктоп
Чтобы настроить Claude Desktop для использования сервера Firebase MCP, отредактируйте файл claude_desktop_config.json
. Вы можете открыть или создать этот файл в меню Claude > Настройки . Выберите вкладку «Разработчик» и нажмите «Изменить конфигурацию» .
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
}
Клод Код
Чтобы настроить Claude Code для использования сервера Firebase MCP, выполните следующую команду в папке вашего приложения:
claude mcp add firebase npx -- -y firebase-tools@latest experimental:mcp
Проверить установку можно, выполнив:
claude mcp list
Должно быть показано:
firebase: npx -y firebase-tools@latest experimental:mcp - ✓ Connected
Клайн
Чтобы настроить Cline для использования сервера Firebase MCP, отредактируйте файл cline_mcp_settings.json
. Вы можете открыть или создать этот файл, щёлкнув значок «Серверы MCP» в верхней части панели Cline, а затем нажав кнопку « Настроить серверы MCP» .
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"],
"disabled": false
}
}
}
Курсор
Чтобы настроить Cursor для использования сервера Firebase MCP, отредактируйте либо файл .cursor/mcp.json
(чтобы настроить только определенный проект), либо файл ~/.cursor/mcp.json
(чтобы сделать сервер MCP доступным во всех проектах):
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
Visual Studio Code Copilot
Чтобы настроить отдельный проект, отредактируйте файл .vscode/mcp.json
в рабочей области:
"servers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
Чтобы сделать сервер доступным в каждом открываемом проекте, измените настройки пользователя :
"mcp": {
"servers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
}
Редактор виндсерфинга
Чтобы настроить Windsurf Editor, отредактируйте файл ~/.codeium/windsurf/mcp_config.json
:
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
Дополнительная конфигурация
Помимо базовой конфигурации для каждого клиента, показанной ранее, вы можете указать два дополнительных параметра:
--dir ABSOLUTE_DIR_PATH
: Абсолютный путь к каталогу, содержащемуfirebase.json
, для установки контекста проекта для сервера MCP. Если не указан, становятся доступны инструментыget_project_directory
иset_project_directory
, а каталогом по умолчанию будет рабочий каталог, в котором был запущен сервер MCP.--only FEATURE_1 , FEATURE_2
: список групп функций, которые необходимо активировать, разделённый запятыми. Используйте это, чтобы ограничить доступ к инструментам только теми функциями, которые вы активно используете. Обратите внимание, что основные инструменты всегда доступны.
Например:
"firebase": {
"command": "npx",
"args": [
"-y",
"firebase-tools@latest", "experimental:mcp",
"--dir", "/Users/turing/my-project",
"--only", "auth,firestore,storage"
]
}
Возможности сервера MCP
В следующей таблице перечислены инструменты, доступные на сервере MCP. Вы также можете просмотреть эту информацию, выполнив команду:
npx firebase-tools@latest experimental:mcp --generate-tool-list
Название инструмента | Группа функций | Описание |
---|---|---|
firebase_login | основной | Регистрирует пользователя в Firebase CLI и на сервере MCP. |
firebase_logout | основной | Выйдите из CLI в Firebase |
firebase_get_project | основной | Извлекает информацию о текущем активном проекте Firebase. |
firebase_list_apps | основной | Извлекает приложения, зарегистрированные в текущем проекте Firebase. |
firebase_get_admin_sdk_config | основной | Получает конфигурацию Admin SDK для текущего проекта. |
firebase_list_projects | основной | Извлекает список проектов Firebase до указанного общего количества. |
firebase_get_sdk_config | основной | Получает информацию о конфигурации Firebase SDK для указанной платформы. Необходимо указать либо платформу, либо app_id. |
firebase_create_project | основной | Создает новый проект Firebase. |
firebase_create_app | основной | Создает новое приложение в вашем проекте Firebase для Web, iOS или Android. |
firebase_create_android_sha | основной | Добавляет хэш сертификата SHA к существующему приложению Android. |
firebase_consult_assistant | основной | Воспользуйтесь помощью ИИ-помощника, специализирующегося на всех аспектах Firebase . Используйте этот инструмент, чтобы получить подробную информацию , рекомендации , инструкции по устранению неполадок , примеры кода и контекстную справку по сервисам, функциям и конфигурации проекта Firebase. Сюда входят вопросы о Firestore, аутентификации, облачных функциях, хостинге, хранилище, аналитике и многом другом. Он также может предоставить информацию, основанную на текущем контексте проекта Firebase . |
firebase_get_environment | основной | Извлекает информацию о текущей среде Firebase, включая текущего аутентифицированного пользователя, каталог проекта, активный проект и многое другое. |
firebase_update_environment | основной | Обновляет конфигурацию среды Firebase, такую как каталог проекта, активный проект, активная учётная запись пользователя и т. д. Используйте firebase_get_environment для просмотра текущей настроенной среды. |
firebase_init | основной | Инициализирует выбранные функции Firebase в рабочей области (Firestore, Data Connect, Realtime Database). Все функции необязательны; укажите только те продукты, которые вы хотите настроить. Вы можете инициализировать новые функции в существующем каталоге проекта, но повторная инициализация существующей функции может перезаписать конфигурацию. Чтобы развернуть инициализированные функции, выполните команду firebase deploy после инструмента firebase_init . |
firestore_delete_document | пожарный склад | Удаляет документы Firestore из базы данных текущего проекта по полному пути к документам. Используйте этот метод, если вам известен точный путь к документу. |
firestore_get_documents | пожарный склад | Извлекает один или несколько документов Firestore из базы данных текущего проекта по полным путям к документам. Используйте этот метод, если вам известен точный путь к документу. |
firestore_list_collections | пожарный склад | Извлекает список коллекций из базы данных Firestore в текущем проекте. |
firestore_query_collection | пожарный склад | Извлекает один или несколько документов Firestore из коллекции, которая находится в базе данных текущего проекта, по коллекции с полным путём к документу. Используйте этот метод, если вам известен точный путь к коллекции и нужный параметр фильтрации для документа. |
firestore_get_rules | пожарный склад | Извлекает активные правила безопасности Firestore для текущего проекта. |
firestore_validate_rules | пожарный склад | Проверяет предоставленный исходный код правил Firestore на наличие синтаксических ошибок и ошибок валидации. Укажите ЛИБО исходный код для проверки, ЛИБО путь к исходному файлу. |
auth_get_user | аутентификация | Находит пользователя по адресу электронной почты, номеру телефона или UID. |
auth_disable_user | аутентификация | Отключает или включает пользователя на основе UID. |
auth_list_users | аутентификация | Извлекает всех пользователей в проекте до указанного лимита. |
auth_set_claim | аутентификация | Устанавливает пользовательское утверждение для учётной записи конкретного пользователя. Используется для создания доверенных значений, связанных с пользователем, например, для обозначения его как администратора. Утверждения ограничены по размеру и должны иметь краткое имя и значение. Укажите ТОЛЬКО ОДИН ИЗ параметров value или json_value . |
auth_set_sms_region_policy | аутентификация | Устанавливает политику региона SMS для аутентификации Firebase, чтобы ограничить регионы, в которых разрешено получать SMS, на основе списка разрешенных или запрещенных кодов стран. Эта политика при установке переопределяет все существующие политики. |
dataconnect_build | подключение к данным | Используйте это для компиляции схемы, операций и/или коннекторов Firebase Data Connect, а также для проверки ошибок сборки. |
dataconnect_generate_schema | подключение к данным | Создает схему Firebase Data Connect на основе описания приложения пользователем. |
dataconnect_generate_operation | подключение к данным | Формирует один запрос или мутацию Firebase Data Connect на основе текущей развернутой схемы и предоставленного запроса. |
dataconnect_list_services | подключение к данным | Перечислите существующие локальные и внутренние службы Firebase Data Connect. |
dataconnect_execute | подключение к данным | Выполняет операцию GraphQL над службой Data Connect или ее эмулятором. |
storage_get_rules | хранилище | Извлекает активные правила безопасности хранилища для текущего проекта. |
правила_проверки_хранения | хранилище | Проверяет предоставленный источник правил хранения на наличие синтаксических ошибок и ошибок валидации. Укажите ЛИБО исходный код для проверки, ЛИБО путь к исходному файлу. |
storage_get_object_download_url | хранилище | Извлекает URL-адрес для загрузки объекта в Firebase Storage. |
отправка_сообщений | обмен сообщениями | Отправляет сообщение на регистрационный токен или тему Firebase Cloud Messaging. В одном вызове можно указать ТОЛЬКО ОДИН из registration_token или topic . |
remoteconfig_get_template | удаленная конфигурация | Извлекает шаблон удаленной конфигурации для проекта. |
remoteconfig_publish_template | удаленная конфигурация | Публикует новый шаблон удаленной конфигурации для проекта. |
remoteconfig_rollback_template | удаленная конфигурация | Откат к определенной версии шаблона Remote Config для проекта |
crashlytics_add_note | крашлитики | Добавить заметку к проблеме из Crashlytics. |
crashlytics_delete_note | крашлитики | Удалить заметку из задачи в Crashlytics. |
crashlytics_get_issue_details | крашлитики | Получает подробную информацию о конкретной проблеме Crashlytics. |
crashlytics_get_sample_crash_for_issue | крашлитики | Получает пример сбоя для проблемы. |
crashlytics_list_notes | крашлитики | Перечислите все заметки по проблеме в Crashlytics. |
crashlytics_list_top_devices | крашлитики | Перечислите лучшие устройства из Crashlytics для приложения. |
crashlytics_list_top_issues | крашлитики | Перечислите основные сбои по данным crashlytics, происходящие в приложении. |
crashlytics_list_top_operating_systems | крашлитики | Перечислите лучшие операционные системы из Crashlytics для приложения. |
crashlytics_list_top_versions | крашлитики | Перечислите лучшие версии из Crashlytics для приложения. |
crashlytics_update_issue | крашлитики | Обновите состояние проблемы в Crashlytics. |
apphosting_fetch_logs | apphosting | Получает самые последние журналы для указанного бэкэнда App Hosting. Если указано buildLogs , возвращаются журналы процесса сборки для последней сборки. Самые последние журналы отображаются первыми. |
apphosting_list_backends | apphosting | Возвращает список бэкендов App Hosting в текущем проекте. Пустой список означает, что бэкендов нет. uri — это публичный URL бэкенда. Рабочий бэкенд будет иметь массив managed_resources , содержащий запись run_service . run_service.service — это имя ресурса службы Cloud Run, обслуживающей бэкенд App Hosting. Последний сегмент этого имени — идентификатор службы. domains — это список доменов, связанных с бэкендом. Они имеют тип CUSTOM или DEFAULT . У каждого бэкенда должен быть домен DEFAULT . Фактический домен, который пользователь будет использовать для подключения к бэкенду, — это последний параметр имени ресурса домена. Если пользовательский домен настроен правильно, его статусы будут заканчиваться на ACTIVE . |
database_get_data | база данных | Возвращает данные RTDB из указанного места |
database_set_data | база данных | Записывает данные RTDB в указанное место |
database_get_rules | база данных | Получить правила базы данных RTDB |
database_validate_rules | база данных | Проверяет правила базы данных RTDB |