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
Sprawdź, czy masz działającą instalację Node.js i npm.
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ę Deweloper i Edytuj 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ącegofirebase.json
, aby ustawić kontekst projektu dla serwera MCP. Jeśli nie określono inaczej, dostępne stają się narzędziaget_project_directory
iset_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 . |