Вы можете использовать сервер 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 |