Pular para o conteúdo

Conecte um agente de IA ao FireCMS Cloud (servidor MCP)

O FireCMS Cloud oferece um servidor MCP, para que assistentes de IA como Claude, Claude Code ou Cursor possam trabalhar diretamente no seu projeto: navegar e editar dados, criar e alterar coleções, inferir esquemas a partir dos documentos que já existem no seu Firestore e gerenciar usuários.

Há um único endereço para todos:

https://api.firecms.co/mcp

Adicione-o ao seu cliente e faça login no FireCMS Cloud pelo navegador. Não há nada para instalar. O agente age com a sua própria conta, portanto nunca consegue fazer nada que você mesmo não pudesse fazer no FireCMS Cloud.

  • Um cliente compatível com MCP: Claude (claude.ai ou Claude Desktop), Claude Code, Cursor ou qualquer outro cliente que fale o Model Context Protocol.
  • Uma conta do FireCMS Cloud. A leitura está disponível para qualquer membro do projeto; criar ou alterar coleções, dados e usuários exige o papel admin no projeto.

No Claude (claude.ai ou Claude Desktop), abra Settings → Connectors, escolha Add custom connector, dê a ele o nome FireCMS e cole:

https://api.firecms.co/mcp

No Claude Code, execute isto no seu terminal; depois rode /mcp dentro do Claude Code e escolha Authenticate:

claude mcp add --transport http firecms https://api.firecms.co/mcp

No Cursor, ou em qualquer outro cliente que aceite servidores remotos por URL, adicione isto à configuração MCP dele (.cursor/mcp.json no seu projeto, ou ~/.cursor/mcp.json para todos os projetos):

{
"mcpServers": {
"firecms": {
"url": "https://api.firecms.co/mcp"
}
}
}

Na primeira vez que o seu cliente se conectar, ele abre o FireCMS Cloud no seu navegador. Faça login se ainda não estiver autenticado, confira qual app está pedindo acesso e para onde ele vai te mandar de volta, e aprove. A partir daí, o seu cliente continua autenticado.

Para desconectar, remova o conector do seu cliente.

Peça ao agente algo como:

List my FireCMS projects
List the collections in my FireCMS project <seu-project-id>
Add a "featured" boolean property to the products collection, shown after the title

Trazendo um projeto Firebase existente para o FireCMS

Seção intitulada “Trazendo um projeto Firebase existente para o FireCMS”

Conectar um projeto cria uma conta de serviço no seu projeto do Google Cloud, o que exige as suas próprias permissões do Google Cloud. O servidor hospedado nunca tem essas permissões, então esta etapa específica acontece no FireCMS Cloud:

  1. Peça ao agente para conectar o seu projeto. connect_project_to_firecms responde com um link para app.firecms.co/new.
  2. Escolha o projeto lá e siga os passos. Leva cerca de um minuto.
  3. De volta ao seu cliente, setup_all_collections infere todas as coleções raiz a partir dos dados existentes.

O passo 3 é onde um projeto existente vira um CMS funcional: o FireCMS amostra os documentos de cada coleção raiz, infere os tipos das propriedades e escolhe nomes de exibição, um nome no singular, um ícone e um grupo de navegação.

Se preferir que o agente faça toda a conexão sozinho, incluindo ativar as APIs e criar o banco de dados do Firestore, execute o servidor localmente: ele faz login com a sua conta Google, então consegue fazer isso.

Construindo coleções a partir de dados existentes

Seção intitulada “Construindo coleções a partir de dados existentes”
Ferramenta Descrição
get_root_collections Lista as coleções raiz do Firestore de um projeto (leitura ao vivo)
list_subcollections Lista as subcoleções de um documento, para explorar dados aninhados
list_databases Lista os bancos de dados do Firestore (só é necessário além do (default))
preview_inferred_schema Infere um esquema a partir de documentos amostrados sem salvar
infer_collections_from_data 🔒 Infere e salva coleções para os caminhos escolhidos
setup_all_collections 🔒 Infere e salva todas as coleções raiz ainda não mapeadas

preview_inferred_schema é a opção não destrutiva: ele amostra até 200 documentos, infere tipos, enumerações e validações, e devolve um rascunho que você pode editar e depois persistir com save_collection_schema. Também funciona para subcoleções e para qualquer caminho que as ferramentas em massa ignorem.

infer_collections_from_data e setup_all_collections gravam o resultado diretamente no projeto. Ambos pulam caminhos que já correspondem a uma coleção, então podem ser executados novamente conforme o banco cresce. Eles também recusam caminhos sem documentos — sem nada para amostrar, um modelo inventaria um esquema apenas a partir do nome do caminho.

As ferramentas marcadas com 🔒 exigem o papel admin no projeto. As marcadas com 💻 só são oferecidas pelo servidor local.

Cada ferramenta informa ao seu cliente se apenas lê ou se altera algo, e se uma alteração pode sobrescrever ou excluir, para que os clientes que pedem confirmação antes de gravar saibam quando pedir.

Ferramenta Descrição
firecms_get_current_user Mostra o usuário atual
firecms_login 💻 Faz login pelo navegador (Google OAuth)
firecms_logout 💻 Faz logout
Ferramenta Descrição
connect_project_to_firecms Conecta um projeto Firebase existente. Hospedado: devolve o link para fazer isso no FireCMS Cloud. Local: conecta o projeto e aplica as regras de segurança necessárias
list_firebase_projects 💻 Projetos do Google Cloud a que você tem acesso, com indicadores de prontidão para o FireCMS
get_project_setup_status 💻 Prontidão detalhada de um projeto
list_firestore_locations 💻 Localizações disponíveis para um novo banco do Firestore
enable_project_apis 💻 Ativa as APIs do Google Cloud que o FireCMS exige
enable_firestore 💻 Cria o banco de dados padrão do Firestore (a localização é permanente)
apply_firestore_security_rules 🔒 Adiciona a regra de acesso do FireCMS ao Firestore e ao Storage (idempotente)
create_firecms_webapp 🔒 Tenta novamente criar o app web caso tenha falhado durante a conexão
Ferramenta Descrição
list_projects Lista seus projetos do FireCMS Cloud
get_project_config 🔒 Obtém a configuração completa do projeto (nome, cores, plano, recursos)
update_project_name 🔒 Renomeia um projeto
update_project_colors 🔒 Atualiza as cores primária e secundária da marca
update_default_locale 🔒 Altera o idioma padrão
toggle_text_search 🔒 Ativa ou desativa a busca de texto local
toggle_entity_history 🔒 Ativa ou desativa o histórico de entidades
Ferramenta Descrição
list_users 🔒 Lista os usuários do projeto e seus papéis
add_user 🔒 Convida um usuário
update_user_roles 🔒 Altera os papéis de um usuário
remove_user 🔒 Remove um usuário
Ferramenta Descrição
list_collection_schemas 🔒 Lista todos os esquemas de coleção salvos
get_collection_schema 🔒 Obtém o esquema completo de uma coleção
save_collection_schema 🔒 Cria ou substitui o esquema de uma coleção
update_collection_schema 🔒 Atualiza parcialmente o esquema de uma coleção
delete_collection_schema 🔒 Exclui o esquema de uma coleção (os dados não são tocados)
save_property 🔒 Adiciona ou atualiza uma única propriedade de uma coleção
delete_property 🔒 Remove uma propriedade do esquema de uma coleção
generate_collection Gera com IA o esquema de uma coleção a partir de um prompt
modify_collection Modifica com IA um esquema existente a partir de um prompt
Ferramenta Descrição
list_documents Consulta documentos (filtros, ordenação, paginação)
get_document Obtém um documento pelo caminho
create_document Cria um novo documento
update_document Atualiza parcialmente um documento
delete_document Exclui um documento
count_documents Conta os documentos de uma coleção
export_collection Exporta os dados de uma coleção em JSON
import_documents 🔒 Importa documentos em massa (máx. 500 por chamada)

Clientes que suportam recursos MCP também podem lê-los diretamente:

URI Descrição
firecms://projects/{id}/collections Coleções raiz do Firestore
firecms://projects/{id}/users Usuários do projeto e papéis
firecms://projects/{id}/schemas Todos os esquemas de coleção (árvore de configuração completa)
firecms://projects/{id}/config Instantâneo da configuração do projeto

O mesmo servidor é publicado como @firecms/mcp-server e pode rodar na sua máquina via stdio. Ele precisa do Node.js 18 ou superior. Localmente, ele faz login com a sua conta Google em vez de passar pelo FireCMS Cloud, e é isso que permite que ele também ative APIs, crie bancos de dados do Firestore e conecte projetos de ponta a ponta.

No Claude Code:

claude mcp add firecms -- npx -y @firecms/mcp-server

Para Claude Desktop, Cursor ou qualquer outro cliente MCP, adicione isto ao arquivo de configuração MCP do cliente (claude_desktop_config.json no Claude Desktop):

{
"mcpServers": {
"firecms": {
"command": "npx",
"args": ["-y", "@firecms/mcp-server"]
}
}
}

Depois reinicie o cliente e peça ao agente para executar a ferramenta firecms_login. Ele abre um navegador para o login com o Google e guarda as credenciais em ~/.firecms/tokens.json, o mesmo arquivo usado pela CLI do FireCMS. Você só faz isso uma vez. Use firecms_logout para sair.

Com o servidor local, toda a conexão de um projeto é feita a partir do agente:

  1. list_firebase_projects — veja quais projetos você pode conectar e o que ainda falta neles
  2. get_project_setup_status — verifique um projeto em detalhe (opcional)
  3. enable_project_apis — apenas se apisEnabled for false
  4. enable_firestore — apenas se firestoreEnabled for false (a localização é permanente)
  5. connect_project_to_firecms — conta de serviço, usuário administrador e as regras de segurança
  6. setup_all_collections — infere todas as coleções raiz a partir dos dados existentes
  • Autenticação: o servidor hospedado usa OAuth. Você aprova cada cliente no FireCMS Cloud, e ele recebe um token apenas para a sua conta. O servidor local usa o Google OAuth no seu navegador, o mesmo fluxo do firecms login na CLI.
  • A autorização é verificada por projeto: toda escrita exige o papel admin.
  • O servidor hospedado não guarda credenciais do Google Cloud. Ele pode fazer o que você pode fazer no FireCMS Cloud, nunca o que você pode fazer no Google Cloud.
  • Tokens: o servidor hospedado armazena seus tokens apenas como hashes; os tokens de acesso duram uma hora e os tokens de atualização são substituídos a cada uso. O servidor local guarda seus tokens em ~/.firecms/tokens.json, compartilhado com a CLI.
  • As credenciais nunca chegam ao modelo: list_projects remove a conta de serviço de cada projeto da sua resposta.

O cliente não consegue se conectar ou fica pedindo login. Remova o conector e adicione-o de novo com https://api.firecms.co/mcp, depois aprove a solicitação na janela do navegador que se abre.

As ferramentas não aparecem depois de editar um arquivo de configuração. Clientes MCP leem a configuração na inicialização — reinicie o cliente por completo.

Uma escrita falha com erro de permissões. A conta com a qual você entrou precisa do papel admin nesse projeto. Confira na seção Usuários do projeto no FireCMS Cloud, ou peça a um administrador que conceda o papel.

Nenhuma coleção aparece depois de conectar um projeto. Verifique se o Firebase Authentication está ativado e se as regras de segurança foram aplicadas (apply_firestore_security_rules), e depois execute setup_all_collections.

O servidor local diz que você não está autenticado. Execute a ferramenta firecms_login. Se a janela do navegador não abrir, rode npx @firecms/mcp-server --help em um terminal para confirmar que o pacote instala e inicia.