Firebase MCP

Integrations

  • Provides integration with Firebase services including Authentication for user management and verification, Firestore for document database operations, and Storage for file storage and retrieval

Firebase MCP

Обзор

Firebase MCP позволяет помощникам на базе искусственного интеллекта работать напрямую со службами Firebase, включая:

  • Firestore : Операции с базой данных документов
  • Хранилище : управление файлами с надежными возможностями загрузки
  • Аутентификация : управление пользователями и проверка

Сервер работает с клиентскими приложениями MCP, такими как Claude Desktop , Augment Code , VS Code и Cursor .

⚡ Быстрый старт

Предпосылки

  • Проект Firebase с учетными данными сервисной учетной записи
  • Среда Node.js

1. Установите MCP-сервер

Добавьте конфигурацию сервера в файл настроек MCP:

  • Рабочий стол Клода: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Дополнение: ~/Library/Application Support/Code/User/settings.json
  • Курсор: [project root]/.cursor/mcp.json

MCP-серверы можно устанавливать вручную или во время выполнения через npx (рекомендуется). Способ установки определяет вашу конфигурацию:

Настроить для npx (рекомендуется)
{ "firebase-mcp": { "command": "npx", "args": [ "-y", "@gannonh/firebase-mcp" ], "env": { "SERVICE_ACCOUNT_KEY_PATH": "/absolute/path/to/serviceAccountKey.json", "FIREBASE_STORAGE_BUCKET": "your-project-id.firebasestorage.app" } } }
Настроить для локальной установки
{ "firebase-mcp": { "command": "node", "args": [ "/absolute/path/to/firebase-mcp/dist/index.js" ], "env": { "SERVICE_ACCOUNT_KEY_PATH": "/absolute/path/to/serviceAccountKey.json", "FIREBASE_STORAGE_BUCKET": "your-project-id.firebasestorage.app" } } }

2. Проверьте установку

Попросите своего клиента ИИ: «Пожалуйста, протестируйте все инструменты Firebase MCP».

🔥 Последние функции: загрузка хранилища (v1.3.3)

Firebase MCP теперь предлагает мощные возможности загрузки файлов с помощью двух специализированных инструментов:

  • storage_upload : загрузка файлов из текста, содержимого base64 или локальных путей к файлам
  • storage_upload_from_url : Импорт файлов напрямую с внешних URL-адресов

Основные преимущества

  • Постоянные публичные URL-адреса : все загрузки генерируют неограниченные публичные URL-адреса.
  • Определение типа контента : автоматическое определение по расширениям файлов и данным
  • Несколько методов загрузки : гибкие возможности для разных вариантов использования
  • Расширенное форматирование ответов : понятные, хорошо структурированные подтверждения загрузки

Методы загрузки

  1. Локальный путь к файлу (рекомендуется для всех типов файлов)
    { filePath: "my-report.pdf", content: "/path/to/local/file.pdf" }
  2. URL-адрес данных Base64 (для файлов меньшего размера)
    { filePath: "my-image.png", content: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." }
  3. Обычный текст (для текстовых файлов)
    { filePath: "readme.md", content: "# My README\n\nThis is a markdown file." }
  4. Внешний URL (используя storage_upload_from_url)
    { filePath: "document.pdf", url: "https://example.com/document.pdf" }

⚠️ Важно: для двоичных файлов, таких как изображения и PDF-файлы, всегда используйте метод прямого пути к файлу для большей надежности.

🛠️ Настройка и конфигурирование

1. Конфигурация Firebase

  1. Перейдите в Firebase Console → Настройки проекта → Учетные записи служб.
  2. Нажмите «Сгенерировать новый закрытый ключ».
  3. Сохраните файл JSON в надежном месте

2. Переменные среды

  • SERVICE_ACCOUNT_KEY_PATH : путь к ключу учетной записи службы Firebase в формате JSON (обязательно)
  • FIREBASE_STORAGE_BUCKET : Имя контейнера для Firebase Storage (необязательно, по умолчанию [projectId].appspot.com )

3. Интеграция клиента

Клод Десктоп

Редактировать: ~/Library/Application Support/Claude/claude_desktop_config.json

VS Code / Дополнение

Редактировать: ~/Library/Application Support/Code/User/settings.json

Курсор

Редактировать: [project root]/.cursor/mcp.json

📚 API-ссылка

Инструменты для пожаротушения

ИнструментОписаниеТребуемые параметры
firestore_add_documentДобавить документ в коллекциюcollection data
firestore_list_documentsСписок документов с фильтрациейcollection
firestore_get_documentПолучить конкретный документcollection , id
firestore_update_documentОбновить существующий документcollection , id , data
firestore_delete_documentУдалить документcollection , id
firestore_list_collectionsСписок корневых коллекцийНикто
firestore_query_collection_groupЗапрос по подколлекциямcollectionId

Инструменты для хранения

ИнструментОписаниеТребуемые параметры
storage_list_filesСписок файлов в каталогеНет (необязательно: directoryPath )
storage_get_file_infoПолучить метаданные файла и URLfilePath
storage_uploadЗагрузить файл из контентаfilePath , content
storage_upload_from_urlЗагрузить файл с URLfilePath , url

Инструменты аутентификации

ИнструментОписаниеТребуемые параметры
auth_get_userПолучить пользователя по ID или адресу электронной почтыidentifier

💻 Руководство разработчика

Монтаж и строительство

git clone https://github.com/gannonh/firebase-mcp cd firebase-mcp npm install npm run build

Проведение тестов

Сначала установите и запустите эмуляторы Firebase:

npm install -g firebase-tools firebase init emulators firebase emulators:start

Затем проведите тесты:

# Run tests with emulator npm run test:emulator # Run tests with coverage npm run test:coverage:emulator

Структура проекта

src/ ├── index.ts # Server entry point ├── utils/ # Utility functions └── lib/ └── firebase/ # Firebase service clients ├── authClient.ts # Authentication operations ├── firebaseConfig.ts # Firebase configuration ├── firestoreClient.ts # Firestore operations └── storageClient.ts # Storage operations

🔍 Устранение неполадок

Общие проблемы

Контейнер для хранения не найден

Если вы видите ошибку «Указанный контейнер не существует»:

  1. Проверьте имя вашего контейнера в Firebase Console → Storage
  2. Установите правильное имя контейнера в переменной среды FIREBASE_STORAGE_BUCKET
Инициализация Firebase не удалась

Если вы видите ошибку «Firebase не инициализирован»:

  1. Проверьте правильность и полноту пути к ключу учетной записи службы.
  2. Убедитесь, что учетная запись службы имеет необходимые разрешения для служб Firebase.
Требуется составной индекс

Если вы получили сообщение об ошибке «Для этого запроса требуется составной индекс»:

  1. Найдите указанный URL в сообщении об ошибке.
  2. Перейдите по ссылке, чтобы создать необходимый индекс в Firebase Console.
  3. Повторите запрос после создания индекса (это может занять несколько минут)

📋 Форматирование ответа

Пример ответа на загрузку хранилища

{ "name": "reports/quarterly.pdf", "size": "1024000", "contentType": "application/pdf", "updated": "2025-04-11T15:37:10.290Z", "downloadUrl": "https://storage.googleapis.com/bucket/reports/quarterly.pdf?alt=media", "bucket": "your-project.appspot.com" }

Отображается пользователю как:

## File Successfully Uploaded! 📁 Your file has been uploaded to Firebase Storage: **File Details:** - **Name:** reports/quarterly.pdf - **Size:** 1024000 bytes - **Type:** application/pdf - **Last Updated:** April 11, 2025 at 15:37:10 UTC **[Click here to download your file](https://storage.googleapis.com/bucket/reports/quarterly.pdf?alt=media)**

🤝 Вклад

  1. Форк репозитория
  2. Создать ветку функций
  3. Внедрение изменений с помощью тестов (требуется покрытие 80%+)
  4. Отправить запрос на извлечение

📄 Лицензия

Лицензия MIT — подробности см. в файле LICENSE

🔗 Связанные ресурсы

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Сервер Firebase MCP предоставляет стандартизированный интерфейс для взаимодействия со службами Firebase, включая Firebase Authentication, Firestore и Firebase Storage.

  1. Обзор
    1. ⚡ Быстрый старт
      1. Предпосылки
      2. 1. Установите MCP-сервер
      3. 2. Проверьте установку
    2. 🔥 Последние функции: загрузка хранилища (v1.3.3)
      1. Основные преимущества
      2. Методы загрузки
    3. 🛠️ Настройка и конфигурирование
      1. 1. Конфигурация Firebase
      2. 2. Переменные среды
      3. 3. Интеграция клиента
    4. 📚 API-ссылка
      1. Инструменты для пожаротушения
      2. Инструменты для хранения
      3. Инструменты аутентификации
    5. 💻 Руководство разработчика
      1. Монтаж и строительство
      2. Проведение тестов
      3. Структура проекта
    6. 🔍 Устранение неполадок
      1. Общие проблемы
    7. 📋 Форматирование ответа
      1. Пример ответа на загрузку хранилища
    8. 🤝 Вклад
      1. 📄 Лицензия
        1. 🔗 Связанные ресурсы

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            An MCP server that provides tools for interacting with Supabase databases, storage, and edge functions.
            Last updated -
            14
            41
            JavaScript
            MIT License
          • A
            security
            A
            license
            A
            quality
            Provides integration between Genkit and the Model Context Protocol (MCP).
            Last updated -
            6
            480
            1,814
            TypeScript
            Apache 2.0
          • A
            security
            F
            license
            A
            quality
            A server providing a unified interface to interact with Firebase services, including Authentication, Firestore, and Storage.
            Last updated -
            9
            7
            TypeScript
          • -
            security
            A
            license
            -
            quality
            The Firefly.ai MCP server is a TypeScript-based server that enables seamless integration with the Firefly platform. It allows you to discover, manage, and codify resources across your Cloud and SaaS accounts connected to Firefly.
            Last updated -
            66
            5
            TypeScript
            MIT License

          View all related MCP servers

          ID: x4i8z2xmrq