Сервер Firebase MCP

Вы можете использовать сервер Firebase MCP, чтобы предоставить инструментам разработки на базе ИИ возможность работать с вашими проектами Firebase и кодовой базой вашего приложения.

Сервер Firebase MCP работает с любым инструментом, который может выступать в роли клиента MCP, включая: Firebase Studio, Gemini CLI и Gemini Code Assist, Claude Code и Claude Desktop, Cline, Cursor, VS Code Copilot, Windsurf и другие!

Перейти к инструкциям по настройке

Преимущества сервера MCP

Редактор, настроенный на использование сервера 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

Это лишь частичные списки; полный список инструментов, доступных вашему редактору, смотрите в разделе « Возможности сервера» .

Настройте свой MCP-клиент

Сервер Firebase MCP может работать с любым клиентом MCP, который поддерживает стандартный ввод-вывод (stdio) в качестве транспортной среды.

При вызовах инструментов сервер Firebase MCP использует те же учётные данные пользователя, которые используются для авторизации Firebase CLI в среде, где он запущен. Это могут быть данные вошедшего в систему пользователя или учётные данные приложения по умолчанию , в зависимости от среды.

Прежде чем начать

Убедитесь, что у вас установлена ​​рабочая версия Node.js и npm.

Базовая конфигурация

Ниже приведены базовые инструкции по настройке для использования сервера Firebase MCP с некоторыми популярными инструментами на базе искусственного интеллекта:

Студия Firebase

Чтобы настроить Firebase Studio для использования сервера Firebase MCP, отредактируйте или создайте файл конфигурации: .idx/mcp.json .

Если файл ещё не существует, создайте его, щёлкнув правой кнопкой мыши родительский каталог и выбрав «Новый файл» . Добавьте в файл следующее содержимое:

{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "mcp"]
    }
  }
}

Gemini CLI

Рекомендуемый способ настройки Gemini CLI для использования сервера Firebase MCP — установка расширения Firebase для Gemini CLI :

gemini extensions install https://github.com/gemini-cli-extensions/firebase/

Установка расширения Firebase автоматически настраивает сервер Firebase MCP, а также содержит файл контекста, который может повысить производительность разработки приложений Gemini Firebase.

В качестве альтернативы вы можете настроить Gemini CLI для использования сервера Firebase MCP (но не файла контекста расширения Firebase), отредактировав или создав один из файлов конфигурации:

  • В вашем проекте: .gemini/settings.json
  • В вашем домашнем каталоге: ~/.gemini/settings.json

Если файл ещё не существует, создайте его, щёлкнув правой кнопкой мыши родительский каталог и выбрав «Новый файл» . Добавьте в файл следующее содержимое:

{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "mcp"]
    }
  }
}

Gemini Code Assist

Рекомендуемый способ настройки Gemini Code Assist для использования сервера Firebase MCP — установка расширения Firebase для Gemini CLI :

gemini extensions install https://github.com/gemini-cli-extensions/firebase/

Установка расширения Firebase автоматически настраивает сервер Firebase MCP, а также содержит файл контекста, который может повысить производительность разработки приложений Gemini Firebase.

Кроме того, вы можете настроить Gemini Code Assist на использование сервера Firebase MCP (но не файла контекста расширения Firebase), отредактировав или создав один из файлов конфигурации:

  • В вашем проекте: .gemini/settings.json
  • В вашем домашнем каталоге: ~/.gemini/settings.json

Если файл ещё не существует, создайте его, щёлкнув правой кнопкой мыши родительский каталог и выбрав «Новый файл» . Добавьте в файл следующее содержимое:

{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "mcp"]
    }
  }
}

Клод

Клод Код

Чтобы настроить Claude Code для использования сервера Firebase MCP, выполните следующую команду в папке вашего приложения:

claude mcp add firebase npx -- -y firebase-tools@latest mcp

Проверить установку можно, выполнив:

claude mcp list

Должно быть показано:

firebase: npx -y firebase-tools@latest mcp - ✓ Connected

Клод Десктоп

Чтобы настроить Claude Desktop для использования сервера Firebase MCP, отредактируйте файл claude_desktop_config.json . Вы можете открыть или создать этот файл в меню Claude > Настройки . Выберите вкладку «Разработчик» и нажмите «Изменить конфигурацию» .

{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "mcp"]
    }
  }
}

Клайн

Чтобы настроить Cline для использования сервера Firebase MCP, отредактируйте файл cline_mcp_settings.json . Вы можете открыть или создать этот файл, щёлкнув значок «Серверы MCP» в верхней части панели Cline, а затем нажав кнопку « Настроить серверы MCP» .

{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "mcp"],
      "disabled": false
    }
  }
}

Курсор

Чтобы настроить Cursor для использования сервера Firebase MCP, отредактируйте либо файл .cursor/mcp.json (чтобы настроить только определенный проект), либо файл ~/.cursor/mcp.json (чтобы сделать сервер MCP доступным во всех проектах):

"mcpServers": {
  "firebase": {
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "mcp"]
  }
}

VS Code Copilot

Чтобы настроить отдельный проект, отредактируйте файл .vscode/mcp.json в рабочей области:

"servers": {
  "firebase": {
    "type": "stdio",
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "mcp"]
  }
}

Чтобы сделать сервер доступным в каждом открываемом проекте, измените настройки пользователя :

"mcp": {
  "servers": {
    "firebase": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "mcp"]
    }
  }
}

Виндсерфинг

Чтобы настроить Windsurf Editor, отредактируйте файл ~/.codeium/windsurf/mcp_config.json :

"mcpServers": {
  "firebase": {
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "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", "mcp",
    "--dir", "/Users/turing/my-project",
    "--only", "auth,firestore,storage"
  ]
}

Возможности сервера MCP

Сервер Firebase MCP предоставляет три различные категории функций MCP:

  • Подсказки : библиотека готовых подсказок, которые вы можете запустить. Они оптимизированы для разработки и запуска приложений с помощью Firebase.

  • Инструменты : набор инструментов, предназначенных для использования магистрами права, которые помогают им работать напрямую с вашим проектом Firebase (с вашего одобрения!)

  • Ресурсы : файлы документации, предназначенные для использования магистрами права (LLM) в качестве дополнительных рекомендаций и контекста для выполнения задачи или достижения цели.

Подсказки

Сервер Firebase MCP поставляется с библиотекой готовых подсказок, оптимизированных для разработки и запуска приложений с Firebase. Вы можете запускать эти подсказки для выполнения различных распространённых задач или достижения целей.

В следующей таблице описываются подсказки, которые выводит сервер MCP.

Большинство инструментов разработки, поддерживающих MCP, предоставляют удобный способ вызова этих команд. Например, в Gemini CLI эти команды доступны в виде слэш-команд:

/firebase:init

В Gemini CLI начните вводить /firebase: чтобы увидеть список доступных команд.

Имя подсказки Группа функций Описание
firebase:deploy основной Используйте эту команду для развертывания ресурсов в Firebase.

Аргументы:
<prompt> (необязательно): любые конкретные инструкции, которые вы хотите предоставить по развертыванию
firebase:init основной Используйте эту команду для настройки служб Firebase, таких как функции бэкэнда и ИИ.
firebase:consult основной Используйте эту команду для обращения к Firebase Assistant с доступом к подробной актуальной документации по платформе Firebase.

Аргументы:
<prompt>: вопрос для передачи модели Gemini в Firebase
crashlytics:подключиться крашлитики Доступ к данным Crashlytics приложения Firebase.

Инструменты

Сервер Firebase MCP также предоставляет ряд инструментов, предназначенных для LLM-программистов, которые помогают им работать напрямую с вашим проектом Firebase (с вашего разрешения!). В отличие от командных запросов, вы не вызываете эти инструменты напрямую; вместо этого модели, поддерживающие вызов инструментов (например, Gemini, Claude и GPT), могут автоматически вызывать их для выполнения задач разработки при необходимости.

В следующей таблице описываются инструменты, предоставляемые сервером MCP.

Название инструмента Группа функций Описание
firebase_login основной Используйте эту функцию для входа пользователя в Firebase CLI и сервер Firebase MCP. Для этого требуется учётная запись Google, которая также необходима для создания и работы с проектами Firebase.
firebase_logout основной Используйте это для выхода пользователя из Firebase CLI и сервера Firebase MCP.
firebase_validate_security_rules основной Используйте это для проверки правил безопасности Firebase для Firestore, Storage или Realtime Database на наличие ошибок синтаксиса и проверки.
firebase_get_project основной Используйте это для получения информации о текущем активном проекте Firebase.
firebase_list_apps основной Используйте этот метод для получения списка приложений Firebase, зарегистрированных в текущем активном проекте Firebase. Приложения Firebase могут быть для iOS, Android или веб-приложений.
firebase_list_projects основной Используйте это для получения списка проектов Firebase, к которым имеет доступ вошедший в систему пользователь.
firebase_get_sdk_config основной Используйте этот метод для получения информации о конфигурации Firebase для приложения Firebase. Необходимо указать ЛИБО платформу, ЛИБО идентификатор приложения Firebase для приложения Firebase, зарегистрированного в текущем активном проекте Firebase.
firebase_create_project основной Используйте это для создания нового проекта Firebase.
firebase_create_app основной Используйте это, чтобы создать новое приложение Firebase в текущем активном проекте Firebase. Приложения Firebase могут быть для iOS, Android или веб-приложения.
firebase_create_android_sha основной Используйте это для добавления указанного хеша сертификата SHA в указанное приложение Firebase Android.
firebase_get_environment основной Используйте это для получения текущей конфигурации среды Firebase для Firebase CLI и сервера Firebase MCP, включая текущего аутентифицированного пользователя, каталог проекта, активный проект Firebase и многое другое.
firebase_update_environment основной Используйте эту функцию для обновления конфигурации среды для Firebase CLI и сервера Firebase MCP, например, каталога проекта, активного проекта, активной учётной записи пользователя, принятия условий обслуживания и т. д. Используйте firebase_get_environment для просмотра текущей настроенной среды.
firebase_init основной Используйте эту команду для инициализации выбранных сервисов Firebase в рабочей области (база данных Cloud Firestore, Firebase Data Connect, Firebase Realtime Database, Firebase AI Logic). Все сервисы необязательны; укажите только те продукты, которые вы хотите настроить. Вы можете инициализировать новые функции в существующем каталоге проекта, но повторная инициализация существующего компонента может перезаписать конфигурацию. Чтобы развернуть инициализированные функции, выполните команду firebase deploy после инструмента firebase_init .
firebase_get_security_rules основной Используйте этот метод для получения правил безопасности для указанного сервиса Firebase. Если в продукте есть несколько экземпляров этого сервиса, возвращаются правила для экземпляра по умолчанию.
firebase_read_resources основной Используйте это для чтения содержимого firebase:// resources или для вывода списка доступных ресурсов.
firestore_delete_document пожарный склад Используйте эту функцию для удаления документов Firestore из базы данных текущего проекта по полному пути к документам. Используйте эту функцию, если вам известен точный путь к документу.
firestore_get_documents пожарный склад Используйте эту функцию для извлечения одного или нескольких документов Firestore из базы данных текущего проекта по полному пути к документам. Используйте эту функцию, если вам известен точный путь к документу.
firestore_list_collections пожарный склад Используйте это для получения списка коллекций из базы данных Firestore в текущем проекте.
firestore_query_collection пожарный склад Используйте этот метод для извлечения одного или нескольких документов Firestore из коллекции, которая находится в базе данных текущего проекта, по коллекции с полным путём к документу. Используйте этот метод, если вам известен точный путь к коллекции и нужный вам фильтр для документа.
auth_get_users аутентификация Используйте это для извлечения одного или нескольких пользователей Firebase Auth на основе списка UID или списка адресов электронной почты.
auth_update_user аутентификация Используйте это, чтобы отключить, включить или установить пользовательское утверждение для учетной записи конкретного пользователя.
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_object_download_url хранилище Используйте это для получения URL-адреса загрузки объекта в контейнере Cloud Storage for Firebase.
отправка_сообщений обмен сообщениями Используйте это для отправки сообщения на регистрационный токен или тему Firebase Cloud Messaging. В одном вызове можно указать ТОЛЬКО ОДИН из registration_token или topic .
функции_получить_логи функции Используйте это для получения страницы записей журнала Cloud Functions с использованием расширенных фильтров Google Cloud Logging.
remoteconfig_get_template удаленная конфигурация Используйте это для извлечения указанного шаблона удаленной конфигурации Firebase из текущего активного проекта Firebase.
remoteconfig_update_template удаленная конфигурация Используйте это, чтобы опубликовать новый шаблон удаленной конфигурации или вернуться к определенной версии проекта.
crashlytics_create_note крашлитики Добавить заметку к проблеме из Crashlytics.
crashlytics_delete_note крашлитики Удалить заметку из проблемы Crashlytics.
crashlytics_get_issue крашлитики Получает данные по проблеме Crashlytics, которые можно использовать в качестве отправной точки для отладки.
crashlytics_list_events крашлитики Используйте это для вывода списка последних событий, соответствующих заданным фильтрам.
Может использоваться для получения примеров сбоев и исключений для проблемы,
который будет включать трассировки стека и другие данные, полезные для отладки.
crashlytics_batch_get_events крашлитики Получает определенные события по имени ресурса.
Может использоваться для получения примеров сбоев и исключений для проблемы,
который будет включать трассировки стека и другие данные, полезные для отладки.
crashlytics_list_notes крашлитики Используйте это для вывода списка всех заметок по проблеме в Crashlytics.
crashlytics_get_top_issues крашлитики Используйте это для подсчета событий и отдельных затронутых пользователей, сгруппированных по проблеме .
Группы сортируются по количеству событий в порядке убывания.
Учитываются только события, соответствующие заданным фильтрам.
crashlytics_get_top_variants крашлитики Подсчитывает события и отдельных затронутых пользователей, сгруппированных по варианту проблемы.
Группы сортируются по количеству событий в порядке убывания.
Учитываются только события, соответствующие заданным фильтрам.
crashlytics_get_top_versions крашлитики Подсчитывает события и отдельных затронутых пользователей, сгруппированных по версии .
Группы сортируются по количеству событий в порядке убывания.
Учитываются только события, соответствующие заданным фильтрам.
crashlytics_get_top_apple_devices крашлитики Подсчитывает события и отдельных затронутых пользователей, сгруппированных по устройству Apple.
Группы сортируются по количеству событий в порядке убывания.
Учитываются только события, соответствующие заданным фильтрам.
Актуально только для приложений iOS, iPadOS и macOS.
crashlytics_get_top_android_devices крашлитики Подсчитывает события и отдельных затронутых пользователей, сгруппированных по устройствам Android.
Группы сортируются по количеству событий в порядке убывания.
Учитываются только события, соответствующие заданным фильтрам.
Актуально только для приложений Android.
crashlytics_get_top_operating_systems крашлитики Подсчитывает события и отдельных затронутых пользователей, сгруппированных по операционной системе .
Группы сортируются по количеству событий в порядке убывания.
Учитываются только события, соответствующие заданным фильтрам.
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 .
realtimedatabase_get_data база данных в реальном времени Используйте это для извлечения данных из указанного места в базе данных Firebase Realtime.
realtimedatabase_set_data база данных в реальном времени Используйте это для записи данных в указанное место в базе данных Firebase Realtime.

Ресурсы

Сервер MCP предоставляет ресурсы — файлы документации, предназначенные для использования магистрами права (LLM). Модели, поддерживающие использование ресурсов, автоматически включают соответствующие ресурсы в контекст сеанса.

В следующей таблице описываются ресурсы, которые предоставляет сервер MCP.

Имя ресурса Описание
backend_init_guide Руководство по инициализации бэкэнда Firebase: помогает программисту настроить бэкэнд-сервисы Firebase в текущем проекте.
ai_init_guide Руководство по инициализации Firebase GenAI: помогает программисту настроить возможности GenAI в текущем проекте с использованием Firebase.
data_connect_init_guide Руководство по инициализации Firebase Data Connect: помогает программисту настроить Data Connect для доступа к PostgreSQL в текущем проекте.
firestore_init_guide Руководство по инициализации Firestore: помогает программисту настроить Firestore в текущем проекте.
firestore_rules_init_guide Руководство по инициализации правил Firestore: помогает программисту настроить правила безопасности Firestore в проекте.
rtdb_init_guide Руководство по инициализации базы данных Firebase Realtime: помогает программисту настроить базу данных Realtime в текущем проекте.
auth_init_guide Руководство по инициализации аутентификации Firebase: помогает программисту настроить аутентификацию Firebase в текущем проекте.
hosting_init_guide Руководство по развертыванию Firebase Hosting: помогает программисту выполнить развертывание на Firebase Hosting в текущем проекте.
документы Firebase Docs: загружает текстовый контент из документации Firebase, например, https://firebase.google.com/docs/functions становится firebase://docs/functions