Servidor MCP do Firebase

Você pode usar o servidor MCP do Firebase para permitir que seus Projetos do Firebase e base de código do app usem ferramentas para desenvolvedores com tecnologia de IA.

O servidor MCP do Firebase funciona com qualquer ferramenta que pode atuar como cliente MCP, incluindo: Firebase Studio, CLI do Gemini e Gemini Code Assist, Claude Code e Claude Desktop, Cline, Cursor, VS Code Copilot, Windsurf e mais!

Ir para as instruções de configuração

Benefícios do servidor MCP

Um editor configurado para usar o servidor MCP do Firebase pode utilizar os recursos de IA para ajudar a:

  • Criar e gerenciar projetos do Firebase
  • Gerenciar seus usuários do Firebase Authentication.
  • Trabalhar com dados no Cloud Firestore e no Firebase Data Connect
  • Recuperar esquemas do Firebase Data Connect
  • Entender as regras de segurança do Firestore e do Cloud Storage para Firebase
  • Enviar mensagens com o Firebase Cloud Messaging

Algumas das ferramentas usam o Gemini no Firebase para ajudar você a:

  • Gerar esquema e operações do Firebase Data Connect
  • Consultar o Gemini sobre produtos do Firebase

Estas são apenas listas parciais. Consulte a seção de recursos do servidor para obter uma lista completa das ferramentas disponíveis para o editor.

Configure seu cliente MCP

O servidor MCP do Firebase pode trabalhar com qualquer cliente MCP que ofereça suporte à E/S padrão (stdio) como meio de transporte.

Quando o servidor MCP do Firebase faz chamadas de função, ele usa as mesmas credenciais de usuário que autorizam a CLI do Firebase no ambiente em que ela está sendo executada. Pode ser um usuário conectado ou Application Default Credentials, dependendo do ambiente.

Antes de começar

Verifique se você tem uma instalação funcional do Node.js e do npm.

Configuração básica

Confira as instruções básicas de configuração para usar o servidor MCP do Firebase com algumas ferramentas assistidas por IA conhecidas:

Firebase Studio

Para configurar o Firebase Studio para usar o servidor MCP do Firebase, edite ou crie os arquivos de configuração: .idx/mcp.json

Se o arquivo ainda não existir, crie-o clicando com o botão direito do mouse no diretório principal e selecionando Novo arquivo. Adicione o seguinte conteúdo ao arquivo:

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

CLI do Gemini

A configuração recomendada para que a CLI do Gemini use o servidor MCP do Firebase é instalar a extensão do Firebase para a CLI do Gemini:

gemini extensions install https://github.com/gemini-cli-extensions/firebase/

Instalar a extensão do Firebase configura automaticamente o servidor MCP do Firebase e também disponibiliza um arquivo de contexto que pode melhorar o desempenho do desenvolvimento de Apps do Firebase com o Gemini.

Outra possibilidade para configurar a CLI do Gemini com servidor MCP do Firebase (mas não o arquivo de contexto da extensão do Firebase) é editar ou criar um dos arquivos de configuração:

  • No seu projeto: .gemini/settings.json
  • No diretório principal: ~/.gemini/settings.json

Se o arquivo ainda não existir, crie-o clicando com o botão direito do mouse no diretório principal e selecionando Novo arquivo. Adicione o seguinte conteúdo ao arquivo:

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

Gemini Code Assist

A configuração recomendada para que o Gemini Code Assist use o servidor MCP do Firebase é instalar a extensão do Firebase para a CLI do Gemini:

gemini extensions install https://github.com/gemini-cli-extensions/firebase/

Instalar a extensão do Firebase configura automaticamente o servidor MCP do Firebase e também disponibiliza um arquivo de contexto que pode melhorar o desempenho do desenvolvimento de Apps do Firebase com o Gemini.

Outra possibilidade para configurar o Gemini Code Assist com servidor MCP do Firebase (mas não o arquivo de contexto da extensão do Firebase) é editar ou criar um dos arquivos de configuração:

  • No seu projeto: .gemini/settings.json
  • No diretório principal: ~/.gemini/settings.json

Se o arquivo ainda não existir, crie-o clicando com o botão direito do mouse no diretório principal e selecionando Novo arquivo. Adicione o seguinte conteúdo ao arquivo:

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

Claude

Claude Code

Para configurar o Claude Code para usar o servidor MCP do Firebase, execute o seguinte comando na pasta do app:

claude mcp add firebase npx -- -y firebase-tools@latest mcp

Para verificar a instalação, execute:

claude mcp list

Ela vai ser:

firebase: npx -y firebase-tools@latest mcp - ✓ Connected

Claude Desktop

Para configurar o Claude Desktop para usar o servidor MCP, do Firebase edite o arquivo claude_desktop_config.json. Você pode abrir ou criar esse arquivo no menu Claude > Configurações. Selecione a guia Desenvolvedor e clique em Editar configuração.

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

Cline

Para configurar o Cline para usar o servidor MCP do Firebase, edite o arquivo cline_mcp_settings.json. Você pode abrir ou criar esse arquivo clicando no ícone Servidores MCP na parte superior do painel Cline e clicando no botão Configurar servidores MCP.

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

Cursor

Para configurar o Cursor para usar o servidor MCP do Firebase, edite o arquivo .cursor/mcp.json(para configurar apenas um projeto específico) ou o arquivo ~/.cursor/mcp.json (para tornar o servidor MCP disponível em todos os projetos):

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

VS Code Copilot

Para configurar um único projeto, edite o arquivo .vscode/mcp.json em seu espaço de trabalho:

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

Para tornar o servidor disponível em todos os projetos que abrir, edite as configurações do usuário:

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

Windsurf

Para configurar o Windsurf Editor, edite o arquivo ~/.codeium/windsurf/mcp_config.json:

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

Configuração opcional

Além da configuração básica de cada cliente, mostrada anteriormente, há dois parâmetros opcionais que você pode especificar:

  • --dir ABSOLUTE_DIR_PATH: o caminho absoluto de um diretório que contém firebase.json, para definir um contexto de projeto para o servidor MCP. Se não for especificado, as ferramentas get_project_directory e set_project_directory ficarão disponíveis e o diretório padrão será o diretório de trabalho em que o servidor MCP foi iniciado.

  • --only FEATURE_1,FEATURE_2: uma lista separada por vírgulas de grupos de recursos a serem ativados. Utilize para limitar as ferramentas expostas apenas aos recursos que você está usando ativamente. Observe que as ferramentas principais estão sempre disponíveis

Exemplo:

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

Recursos do servidor MCP

O servidor MCP do Firebase oferece três categorias diferentes de recursos MCP:

  • Comandos: uma biblioteca de comandos pré-escritos que podem ser executados e são otimizados para desenvolver e executar um app com o Firebase

  • Ferramentas: um conjunto de ferramentas voltadas ao uso por LLMs que os ajudam a trabalhar diretamente com seu Projeto do Firebase (com sua aprovação!).

  • Recursos: arquivos de documentação voltados ao uso por LLMs que dão a eles mais contexto e orientação para concluir uma tarefa ou meta

Comandos

O servidor MCP do Firebase vem com uma biblioteca de comandos pré-escritos otimizados para desenvolver e executar um app com o Firebase. É possível executar esses comandos para concluir várias tarefas ou metas comuns.

A tabela a seguir descreve os comandos disponibilizados pelo servidor MCP.

A maioria das ferramentas para desenvolvedores compatíveis com o MCP oferece um jeito prático de executar esses comandos. Por exemplo, a CLI do Gemini disponibiliza esses comandos como comandos de barra:

/firebase:init

Na CLI do Gemini, comece a digitar /firebase: para ver uma lista de comandos disponíveis.

Nome do comando Grupo de atributos Descrição
firebase:deploy core Use esse comando para implantar recursos no Firebase.

Argumentos:
<comando> (opcional): qualquer instrução específica sobre a implantação que queira fornecer
firebase:init core Use esse comando para configurar serviços do Firebase, como recursos de IA e back-end.
firebase:consult core Use esse comando para consultar o Firebase Assistente com acesso à documentação detalhada e atualizada da plataforma Firebase.

Argumentos:
<comando>: uma pergunta feita ao modelo do Gemini no Firebase
crashlytics:connect crashlytics Acesse os dados do Crashlytics de um aplicativo do Firebase.

Ferramentas

O servidor MCP do Firebase também oferece várias ferramentas voltadas ao uso por LLMs que os ajudam a trabalhar diretamente com seu Projeto do Firebase (com sua aprovação!). Ao contrário dos comandos, você não chama essas ferramentas diretamente. Em vez disso, modelos que aceitam a chamada de ferramentas (como o Gemini, Claude e GPT) podem chamar essas ferramentas automaticamente para que realizem tarefas de desenvolvimento quando necessário.

A tabela a seguir descreve as ferramentas disponibilizadas pelo servidor MCP.

Nome da ferramenta Grupo de atributos Descrição
firebase_login core Use-a para fazer login do usuário na CLI do Firebase e no servidor MCP do Firebase. Ela requer uma Conta do Google, e é necessário fazer login para criar e trabalhar com Projetos do Firebase.
firebase_logout core Use-a para desconectar o usuário da CLI do Firebase e do servidor MCP do Firebase.
firebase_validate_security_rules core Use-a para verificar se há erros de sintaxe e validação nas regras de segurança do Firebase para Firestore, Storage ou Realtime Database.
firebase_get_project core Use-a para recuperar informações sobre o Projeto do Firebase ativo no momento.
firebase_list_apps core Use-a para recuperar uma lista dos Apps do Firebase registrados no Projeto do Firebase ativo no momento. Os Apps do Firebase podem ser para iOS, Android ou Web.
firebase_list_projects core Use-a para recuperar uma lista de Projetos do Firebase a que o usuário conectado tem acesso.
firebase_get_sdk_config core Use-a para recuperar as informações de configuração de um App do Firebase. É necessário especificar uma plataforma OU o ID do App do Firebase registrado no Projeto do Firebase ativo no momento.
firebase_create_project core Use-a para criar um novo Projeto do Firebase.
firebase_create_app core Use-a para criar um novo App do Firebase no Projeto do Firebase ativo. Os Apps do Firebase podem ser para iOS, Android ou Web.
firebase_create_android_sha core Use-a para adicionar o hash de certificado SHA específico ao App do Firebase para Android especificado.
firebase_get_environment core Use-a para recuperar a configuração do ambiente atual do Firebase para a CLI do Firebase e o servidor MCP do Firebase, incluindo o usuário autenticado atual, o diretório do projeto, o Projeto do Firebase ativo e mais.
firebase_update_environment core Use-a para atualizar a configuração do ambiente da CLI do Firebase e do servidor MCP do Firebase, como diretório do projeto, projeto ativo, conta de usuário ativa, aceitação dos Termos de Serviço e mais. Use firebase_get_environment para ver o ambiente configurado no momento.
firebase_init core Use-a para inicializar os serviços do Firebase selecionados no espaço de trabalho (banco de dados do Cloud Firestore, Firebase Data Connect, Firebase Realtime Database, Firebase AI Logic). Todos os serviços são opcionais. Especifique apenas os produtos que você quer configurar. É possível inicializar novos recursos em um diretório de projeto, mas reinicializar um recurso pode substituir a configuração. Para implantar os recursos inicializados, execute o comando firebase deploy após a ferramenta firebase_init.
firebase_get_security_rules core Use-a para recuperar as regras de segurança de um serviço específico do Firebase. Se houver várias instâncias desse serviço no produto, as regras da instância padrão serão retornadas.
firebase_read_resources core Use-a para ler o conteúdo dos recursos firebase:// ou listar os recursos disponíveis
firestore_delete_document firestore Use-a para excluir documentos do Firestore de um banco de dados no projeto atual com caminhos de documentos completos. Use essa opção se você souber o caminho exato de um documento.
firestore_get_documents firestore Use-a para recuperar um ou mais documentos do Firestore de um banco de dados no projeto atual com caminhos de documentos completos. Use essa opção se você souber o caminho exato de um documento.
firestore_list_collections firestore Use-a para recuperar uma lista de coleções de um banco de dados do Firestore no projeto atual.
firestore_query_collection firestore Use-a para recuperar um ou mais documentos do Firestore de uma coleção que é um banco de dados no projeto atual por uma coleção com um caminho de documento completo. Use se você souber o caminho exato de uma coleção e a cláusula de filtragem que quer para o documento.
auth_get_users auth Use-a para recuperar um ou mais usuários do Firebase Auth com base em uma lista de UIDs ou e-mails.
auth_update_user auth Use-a para desativar, ativar ou definir uma declaração personalizada na conta de um usuário específico.
auth_set_sms_region_policy auth Use-a para definir uma política de região de SMS para o Firebase Authentication e restringir as regiões que podem receber mensagens de texto com base em uma lista de códigos dos países PERMITIR ou NEGAR. Essa política vai substituir todas as políticas atuais quando definida.
dataconnect_build dataconnect Use isso para compilar o esquema, as operações e/ou os conectores do Firebase Data Connect e verificar erros de build.
dataconnect_generate_schema dataconnect Use-a para gerar um esquema do Firebase Data Connect com base na descrição de um app feita pelo usuário.
dataconnect_generate_operation dataconnect Use-a para gerar uma única consulta ou mutação do Firebase Data Connect com base no esquema implantado e no comando fornecido.
dataconnect_list_services dataconnect Use-a para listar os serviços locais e de back-end do Firebase Data Connect
dataconnect_execute dataconnect Use-a para executar uma operação GraphQL em um serviço do Data Connect ou no emulador dele.
storage_get_object_download_url armazenamento Use-a para recuperar o URL de download de um objeto em um bucket do Cloud Storage para Firebase.
messaging_send_message mensagens Use-a para enviar uma mensagem a um token ou tópico de registro do Firebase Cloud Messaging. SOMENTE UM de registration_token ou topic pode ser fornecido em uma chamada específica.
functions_get_logs funções Use-a para recuperar uma página de entradas de registros do Cloud Functions usando filtros avançados do Google Cloud Logging.
remoteconfig_get_template remoteconfig Use-a para recuperar o modelo específico da Configuração remota do Firebase do Projeto do Firebase ativo no momento.
remoteconfig_update_template remoteconfig Use-a para publicar um novo modelo de configuração remota ou reverter para uma versão específica do projeto
crashlytics_create_note crashlytics Adicione uma nota a um problema do Crashlytics.
crashlytics_delete_note crashlytics Exclua uma observação de um problema do Crashlytics.
crashlytics_get_issue crashlytics Recebe dados de um problema do Crashlytics, que podem ser usados como ponto de partida para depuração.
crashlytics_list_events crashlytics Use-a para listar os eventos mais recentes que correspondem aos filtros especificados.
Pode ser usada para buscar exemplos de falhas e exceções de um problema,
incluindo stack traces e outros dados úteis para depuração.
crashlytics_batch_get_events crashlytics Recebe eventos específicos pelo nome do recurso.
Pode ser usada para buscar exemplos de falhas e exceções de um problema,
incluindo stack traces e outros dados úteis para depuração.
crashlytics_list_notes crashlytics Use-a para listar todas as observações de um problema do Crashlytics.
crashlytics_get_top_issues crashlytics Use-a para contar eventos e usuários afetados distintos, agrupados por problema.
Os grupos são ordenados pela contagem de eventos, em ordem decrescente.
Conta apenas eventos que correspondem aos filtros especificados.
crashlytics_get_top_variants crashlytics Conta eventos e usuários afetados distintos, agrupados por variante do problema.
Os grupos são ordenados pela contagem de eventos, em ordem decrescente.
Conta apenas eventos que correspondem aos filtros especificados.
crashlytics_get_top_versions crashlytics Conta eventos e usuários afetados distintos, agrupados por versão.
Os grupos são ordenados pela contagem de eventos, em ordem decrescente.
Conta apenas eventos que correspondem aos filtros especificados.
crashlytics_get_top_apple_devices crashlytics Conta eventos e usuários afetados distintos, agrupados por dispositivo da Apple.
Os grupos são ordenados pela contagem de eventos, em ordem decrescente.
Conta apenas eventos que correspondem aos filtros especificados.
Relevante apenas para aplicativos iOS, iPadOS e macOS.
crashlytics_get_top_android_devices crashlytics Conta eventos e usuários afetados distintos, agrupados por dispositivo Android.
Os grupos são ordenados pela contagem de eventos, em ordem decrescente.
Conta apenas eventos que correspondem aos filtros especificados.
Relevante apenas para apps Android.
crashlytics_get_top_operating_systems crashlytics Conta eventos e usuários distintos afetados, agrupados por sistema operacional.
Os grupos são ordenados pela contagem de eventos, em ordem decrescente.
Conta apenas eventos que correspondem aos filtros especificados.
crashlytics_update_issue crashlytics Use-a para atualizar o estado do problema do Crashlytics.
apphosting_fetch_logs apphosting Use-a para buscar os registros mais recentes de um back-end do App Hosting especificado. Se buildLogs for especificado, os registros do processo de build do build mais recente serão retornados. Os registros mais recentes são listados primeiro.
apphosting_list_backends apphosting Use-a para recuperar uma lista de back-ends do App Hosting no projeto atual. Uma lista vazia significa que não há back-ends. O uri é o URL público do back-end. Um back-end em funcionamento terá uma matriz managed_resources que conterá uma entrada run_service. run_service.service é o nome do recurso do serviço do Cloud Run que veicula o back-end do App Hosting. O último segmento desse nome é o ID do serviço. domains é a lista de domínios associados ao back-end. Eles têm o tipo CUSTOM ou DEFAULT. Cada back-end precisa ter um domínio DEFAULT. O domínio real que um usuário usaria para se conectar ao back-end é o último parâmetro do nome do recurso de domínio. Se um domínio personalizado estiver configurado corretamente, os status dele vão terminar em ACTIVE.
realtimedatabase_get_data realtimedatabase Use-a para recuperar dados do local especificado em um Firebase Realtime Database.
realtimedatabase_set_data realtimedatabase Use-a para gravar dados no local especificado em um Firebase Realtime Database.

Recursos

O servidor MCP fornece recursos, que são arquivos de documentação voltados ao uso por LLMs. Os modelos que podem usar recursos incluem automaticamente os recursos relevantes no contexto da sessão.

A tabela a seguir descreve os recursos disponibilizados pelo servidor MCP.

Nome do recurso Descrição
backend_init_guide Guia de inicialização do back-end do Firebase: orienta o agente de programação com a configuração de serviços de back-end do Firebase no projeto atual
ai_init_guide Guia de inicialização de IA generativa do Firebase: orienta o agente de programação com a configuração de capabilities de IA generativa no projeto atual que usam o Firebase
data_connect_init_guide Guia de inicialização do Firebase Data Connect: orienta o agente de programação com a configuração do acesso do PostgreSQL ou Data Connect no projeto atual
firestore_init_guide Guia de inicialização do Firestore: orienta o agente de programação com a configuração do Firestore no projeto atual
firestore_rules_init_guide Guia de inicialização das regras do Firestore: orienta o agente de programação com a configuração das regras de segurança do Firestore no projeto
rtdb_init_guide Guia de inicialização do Firebase Realtime Database: orienta o agente de programação com a configuração do Realtime Database no projeto atual
auth_init_guide Guia de inicialização do Firebase Authentication: orienta o agente de programação com a configuração do Firebase Authentication no projeto atual
hosting_init_guide Guia de implantação do Firebase Hosting: orienta o agente de programação com a implantação no Firebase Hosting no projeto atual
docs Documentação do Firebase: carrega conteúdo de texto simples da documentação do Firebase. Por exemplo, https://firebase.google.com/docs/functions vira firebase://docs/functions