Сервер Firebase MCP

Вы можете использовать сервер 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 в среде, где он запущен. Это могут быть данные вошедшего в систему пользователя или учётные данные приложения по умолчанию , в зависимости от среды.

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

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

  2. Выполните аутентификацию 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 .