Serwer MCP Firebase

Możesz używać serwera Firebase MCP, aby umożliwić narzędziom deweloperskim opartym na AI pracę z projektami Firebase. Serwer MCP Firebase współpracuje z każdym narzędziem, które może pełnić rolę klienta MCP, w tym z Claude Desktop, Cline, Cursorem, Visual Studio Code Copilot, Windsurf Editor i innymi.

Edytor skonfigurowany do korzystania z serwera MCP Firebase może używać funkcji AI, aby Ci pomóc:

  • Tworzenie projektów Firebase i zarządzanie nimi
  • Zarządzanie użytkownikami Uwierzytelniania Firebase
  • Praca z danymi w Cloud Firestore i Firebase Data Connect
  • Pobieranie schematów Firebase Data Connect
  • Poznaj reguły zabezpieczeń Firestore i Cloud Storage dla Firebase
  • Wysyłanie wiadomości za pomocą Komunikacji w chmurze Firebase

Niektóre narzędzia korzystają z Gemini w Firebase, aby Ci pomóc:

  • Generowanie schematu i operacji Firebase Data Connect
  • Konsultowanie się z Gemini w sprawie usług Firebase

To tylko częściowe listy. Pełną listę narzędzi dostępnych w edytorze znajdziesz w sekcji Możliwości serwera.

Gdy serwer Firebase MCP wykonuje wywołania narzędzi, używa tych samych danych logowania użytkownika, które autoryzują interfejs CLI Firebase w środowisku, w którym jest uruchomiony. Może to być zalogowany użytkownik lub domyślne dane logowania aplikacji w zależności od środowiska.

Zanim zaczniesz

  1. Sprawdź, czy masz działającą instalację Node.js i npm.

  2. Uwierzytelnij interfejs wiersza poleceń Firebase, uruchamiając to polecenie:

    npx -y firebase-tools@latest login --reauth

    Serwer Firebase MCP używa wiersza poleceń do obsługi uwierzytelniania w projektach Firebase. Zanim zaczniesz korzystać z serwera MCP, musisz uwierzytelnić się w interfejsie CLI. Jeśli spróbujesz użyć serwera bez zalogowania się lub jeśli Twój token uwierzytelniania wygasł, serwer wyświetli komunikat o błędzie z prośbą o ponowne uwierzytelnienie.

Konfigurowanie klienta MCP

Serwer MCP Firebase może współpracować z dowolnym klientem MCP, który obsługuje standardowe wejście/wyjście (stdio) jako medium transportowe. Poniżej znajdziesz szczegółowe instrukcje dotyczące niektórych popularnych narzędzi:

Podstawowa konfiguracja

Claude Desktop

Aby skonfigurować Claude Desktop do korzystania z serwera MCP Firebase, zmień plik claude_desktop_config.json. Możesz otworzyć lub utworzyć ten plik w menu Claude > Ustawienia. Kliknij kolejno kartę DeweloperEdytuj konfigurację.

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

Cline

Aby skonfigurować Cline tak, aby używał serwera MCP Firebase, zmień plik cline_mcp_settings.json. Aby otworzyć lub utworzyć ten plik, kliknij ikonę serwerów MCP u góry panelu Cline, a następnie kliknij przycisk Skonfiguruj serwery MCP.

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

Kursor

Aby skonfigurować Cursor do korzystania z serwera MCP Firebase, zmień plik .cursor/mcp.json (aby skonfigurować tylko konkretny projekt) lub plik ~/.cursor/mcp.json (aby udostępnić serwer MCP we wszystkich projektach):

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

Firebase Studio

Aby skonfigurować Firebase Studio do korzystania z serwera Firebase MCP, zmień lub utwórz pliki konfiguracyjne:

  • Gemini w Firebase Chat używa .idx/mcp.json.
  • Interfejs Gemini CLI korzysta z .gemini/settings.json.

Jeśli plik jeszcze nie istnieje, utwórz go, klikając prawym przyciskiem myszy katalog nadrzędny i wybierając Nowy plik. Dodaj do pliku te wiersze:

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

Visual Studio Code Copilot

Aby skonfigurować pojedynczy projekt, otwórz do edycji plik .vscode/mcp.json w obszarze roboczym:

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

Aby serwer był dostępny w każdym otwieranym projekcie, edytuj ustawienia użytkownika:

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

Edytujący windsurfing

Aby skonfigurować edytor Windsurf, zmodyfikuj plik~/.codeium/windsurf/mcp_config.json:

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

Konfiguracja opcjonalna

Oprócz podstawowej konfiguracji każdego klienta, która została pokazana wcześniej, możesz określić 2 parametry opcjonalne:

  • --dir ABSOLUTE_DIR_PATH: bezwzględna ścieżka do katalogu zawierającego firebase.json, aby ustawić kontekst projektu dla serwera MCP. Jeśli nie określono inaczej, dostępne stają się narzędzia get_project_directoryset_project_directory, a domyślnym katalogiem będzie katalog roboczy, w którym uruchomiono serwer MCP.

  • --only FEATURE_1,FEATURE_2: lista grup funkcji do aktywowania rozdzielona przecinkami. Użyj tej opcji, aby ograniczyć liczbę narzędzi do tych funkcji, z których aktywnie korzystasz. Pamiętaj, że podstawowe narzędzia są zawsze dostępne.

Przykład:

"firebase": {
  "command": "npx",
  "args": [
    "-y",
    "firebase-tools@latest", "experimental:mcp",
    "--dir", "/Users/turing/my-project",
    "--only", "auth,firestore,storage"
  ]
}

Możliwości serwera MCP

Nazwa narzędzia Grupa cech Opis
firebase_get_project jądro Pobiera informacje o aktualnie aktywnym projekcie Firebase.
firebase_list_apps jądro Pobiera aplikacje zarejestrowane w bieżącym projekcie Firebase.
firebase_get_admin_sdk_config jądro Pobiera konfigurację pakietu Admin SDK dla bieżącego projektu.
firebase_list_projects jądro Pobiera listę projektów Firebase do określonej łącznej liczby.
firebase_get_sdk_config jądro Pobiera informacje o konfiguracji pakietu SDK Firebase na potrzeby określonej platformy. Musisz określić platformę lub app_id.
firebase_create_project jądro Tworzy nowy projekt Firebase.
firebase_create_app jądro Tworzy nową aplikację w projekcie Firebase na potrzeby internetu, iOS lub Androida.
firebase_create_android_sha jądro Dodaje do istniejącej aplikacji na Androida skrót certyfikatu SHA.
firebase_consult_assistant jądro Zadaj pytanie asystentowi AI, który został specjalnie ulepszony, aby odpowiadać na pytania dotyczące Firebase.
firebase_get_environment jądro Pobiera informacje o bieżącym środowisku Firebase, w tym o bieżącym uwierzytelnionym użytkowniku, katalogu projektu, aktywnym projekcie i innych elementach.
firebase_update_environment jądro Aktualizuje konfigurację środowiska Firebase, np. katalog projektu, aktywny projekt, aktywne konto użytkownika itp. Użyj firebase_get_environment, aby wyświetlić aktualnie skonfigurowane środowisko.
firebase_init jądro Inicjuje wybrane usługi Firebase w obszarze roboczym (Firestore, Data Connect, Baza danych czasu rzeczywistego). Wszystkie funkcje są opcjonalne. Podaj tylko produkty, które chcesz skonfigurować. Nowe funkcje możesz zainicjować w istniejącym katalogu projektu, ale ponowne zainicjowanie istniejącej funkcji może spowodować nadpisanie konfiguracji. Aby wdrożyć zainicjowane funkcje, uruchom polecenie firebase deploy po narzędziu firebase_init.
firestore_delete_document firestore Usuwa dokumenty Firestore z bazy danych w bieżącym projekcie według pełnych ścieżek dokumentów. Użyj tej opcji, jeśli znasz dokładną ścieżkę dokumentu.
firestore_get_documents firestore Pobiera co najmniej 1 dokument Firestore z bazy danych w bieżącym projekcie za pomocą pełnych ścieżek do dokumentów. Użyj tej opcji, jeśli znasz dokładną ścieżkę dokumentu.
firestore_list_collections firestore Pobiera listę kolekcji z bazy danych Firestore w bieżącym projekcie.
firestore_query_collection firestore Pobiera co najmniej 1 dokument Firestore z kolekcji w bieżącym projekcie za pomocą kolekcji z pełną ścieżką do dokumentu. Użyj tej opcji, jeśli znasz dokładną ścieżkę kolekcji i klauzulę filtrowania, której chcesz użyć w przypadku dokumentu.
firestore_get_rules firestore Pobiera aktywne reguły zabezpieczeń Firestore w bieżącym projekcie.
firestore_validate_rules firestore Sprawdza podany kod źródłowy reguł Firestore pod kątem błędów składniowych i weryfikacyjnych. Podaj KOD ŹRÓDŁOWY do zweryfikowania LUB ścieżkę do pliku źródłowego.
auth_get_user uwierzytelnienie Pobiera użytkownika na podstawie adresu e-mail, numeru telefonu lub identyfikatora UID.
auth_disable_user uwierzytelnienie Włącza lub wyłącza użytkownika na podstawie identyfikatora UID.
auth_list_users uwierzytelnienie Pobiera wszystkich użytkowników w projekcie do określonego limitu.
auth_set_claim uwierzytelnienie Ustawia niestandardowe roszczenie na koncie konkretnego użytkownika. Użyj tej funkcji, aby utworzyć zaufane wartości powiązane z użytkownikiem, np. oznaczyć go jako administratora. Roszczenia mają ograniczony rozmiar, a ich nazwa i wartość powinny być zwięzłe. Określ TYLKO JEDEN z parametrów value lub json_value.
auth_set_sms_region_policy uwierzytelnienie Ustawia zasady regionu SMS-ów dla usługi Firebase Authentication, aby ograniczyć regiony, które mogą otrzymywać SMS-y, na podstawie listy kodów krajów ALLOW lub DENY. Po skonfigurowaniu ta zasada zastępuje wszystkie dotychczasowe zasady.
dataconnect_list_services dataconnect Wyświetla listę usług Firebase Data Connect dostępnych w bieżącym projekcie.
dataconnect_generate_schema dataconnect Generuje schemat Firebase Data Connect na podstawie opisu aplikacji podanego przez użytkownika.
dataconnect_generate_operation dataconnect Generuje pojedyncze zapytanie lub mutację Firebase Data Connect na podstawie aktualnie wdrożonego schematu i podanego promptu.
dataconnect_get_schema dataconnect Pobieranie informacji o schemacie Firebase Data Connect w projekcie, w tym źródeł danych Cloud SQL i schematu GraphQL opisującego model danych.
dataconnect_get_connectors dataconnect Pobierz z projektu konektory Firebase Data Connect, które zawierają predefiniowane zapytania GraphQL dostępne dla pakietów SDK klienta.
dataconnect_execute_graphql dataconnect Wykonuje dowolne zapytanie GraphQL względem usługi Data Connect lub jej emulatora.
dataconnect_execute_graphql_read dataconnect Wykonuje dowolne zapytanie GraphQL w usłudze Data Connect lub jej emulatorze. Nie można zapisać danych.
dataconnect_execute_mutation dataconnect Wykonuje wdrożoną mutację Data Connect na usłudze lub jej emulatorze. Może odczytywać i zapisywać dane.
dataconnect_execute_query dataconnect Wykonuje wdrożone zapytanie Data Connect w usłudze lub jej emulatorze. Nie można zapisać żadnych danych.
storage_get_rules magazynowanie Pobiera aktywne reguły zabezpieczeń usługi Storage dla bieżącego projektu.
storage_validate_rules magazynowanie Sprawdza podane źródło reguł Storage pod kątem błędów składni i weryfikacji. Podaj KOD ŹRÓDŁOWY do zweryfikowania LUB ścieżkę do pliku źródłowego.
storage_get_object_download_url magazynowanie Pobiera adres URL pobierania obiektu w Firebase Storage.
messaging_send_message wiadomości, Wysyła wiadomość na token rejestracyjny lub temat Komunikacji w chmurze Firebase. W ramach jednego wywołania można podać TYLKO JEDNĄ z wartości registration_token lub topic.
remoteconfig_get_template remoteconfig Pobiera szablon Zdalnej konfiguracji dla projektu.
remoteconfig_publish_template remoteconfig Publikuje nowy szablon Zdalnej konfiguracji dla projektu.
remoteconfig_rollback_template remoteconfig Cofanie do określonej wersji szablonu Zdalnej konfiguracji w projekcie
crashlytics_list_top_issues crashlytics Wyświetl listę najczęstszych awarii w aplikacji na podstawie danych z Crashlytics.
apphosting_fetch_logs apphosting Pobiera najnowsze logi określonego backendu hostingu aplikacji. Jeśli podano wartość buildLogs, zwracane są dzienniki z procesu kompilacji najnowszej wersji. Najnowsze logi są wyświetlane jako pierwsze.
apphosting_list_backends apphosting Pobiera listę backendów App Hosting w bieżącym projekcie. Pusta lista oznacza, że nie ma backendów. uri to publiczny adres URL backendu. Działający backend będzie miał tablicę managed_resources, która będzie zawierać wpis run_service. run_service.service to nazwa zasobu usługi Cloud Run obsługującej backend hostingu aplikacji. Ostatni segment tej nazwy to identyfikator usługi. domains to lista domen powiązanych z backendem. Mogą być typu CUSTOM lub DEFAULT. Każdy backend powinien mieć domenę DEFAULT. Ostatni parametr nazwy zasobu domeny to rzeczywista domena, której użytkownik używa do łączenia się z backendem. Jeśli domena niestandardowa jest prawidłowo skonfigurowana, jej stan będzie kończyć się na ACTIVE.