Вы можете использовать сервер 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.
Выполните аутентификацию Firebase CLI, выполнив следующую команду:
npx -y firebase-tools@latest login --reauth
Сервер Firebase MCP использует CLI для аутентификации в ваших проектах Firebase. Перед использованием сервера MCP необходимо пройти аутентификацию в CLI. Если вы попытаетесь использовать сервер без входа в систему или если срок действия вашего токена аутентификации истёк, сервер выдаст сообщение об ошибке с предложением повторной аутентификации.
Настройте свой MCP-клиент
Сервер Firebase MCP может работать с любым клиентом MCP, поддерживающим стандартный ввод-вывод (stdio) в качестве транспортной среды. Ниже приведены инструкции для некоторых популярных инструментов:
Базовая конфигурация
Клод Десктоп
Чтобы настроить Claude Desktop для использования сервера Firebase MCP, отредактируйте файл claude_desktop_config.json
. Вы можете открыть или создать этот файл в меню Claude > Настройки . Выберите вкладку «Разработчик» и нажмите «Изменить конфигурацию» .
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
}
Клайн
Чтобы настроить 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"]
}
}
Студия Firebase
Чтобы настроить Firebase Studio для использования сервера Firebase MCP, отредактируйте или создайте файл(ы) конфигурации:
- Gemini в чате Firebase использует
.idx/mcp.json
. - Gemini CLI использует
.gemini/settings.json
.
Если файл ещё не существует, создайте его, щёлкнув правой кнопкой мыши родительский каталог и выбрав «Новый файл» . Добавьте в файл следующее содержимое:
{
"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
Название инструмента | Группа функций | Описание |
---|---|---|
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_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_list_services | подключение к данным | Перечислите службы Firebase Data Connect, доступные в текущем проекте. |
dataconnect_generate_schema | подключение к данным | Создает схему Firebase Data Connect на основе описания приложения пользователем. |
dataconnect_generate_operation | подключение к данным | Формирует один запрос или мутацию Firebase Data Connect на основе текущей развернутой схемы и предоставленного запроса. |
dataconnect_get_schema | подключение к данным | Получите информацию о схеме Firebase Data Connect в проекте, включая источники данных Cloud SQL и схему GraphQL, описывающую модель данных. |
dataconnect_get_connectors | подключение к данным | Получите в проекте коннекторы Firebase Data Connect, которые включают в себя предопределенные запросы GraphQL, доступные для клиентских SDK. |
dataconnect_execute_graphql | подключение к данным | Выполняет произвольный GraphQL для службы Data Connect или ее эмулятора. |
dataconnect_execute_graphql_read | подключение к данным | Выполняет произвольный запрос GraphQL к службе Data Connect или её эмулятору. Не удаётся записать данные. |
dataconnect_execute_mutation | подключение к данным | Выполняет развёрнутую мутацию Data Connect в отношении сервиса или его эмулятора. Может читать и записывать данные. |
dataconnect_execute_query | подключение к данным | Выполняет развернутый запрос 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_list_top_issues | крашлитики | Перечислите основные сбои по данным 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 . |