Clone o repositório e instale as dependências
- Abra o PowerShell ou o Prompt de Comando da sua máquina, na pasta onde quer manter o código.
- Rode o comando abaixo:
git clone https://github.com/brunoflma/jurisprudenciaia-mcp.git cd jurisprudenciaia-mcp-private npm install
npm install termina com added X packages. Demora de 30 a 90 segundos.Crie conta no Cloudflare e conecte o Wrangler
- Se ainda não tem, crie uma conta em dash.cloudflare.com. O plano Free é suficiente.
- Volte ao terminal na pasta do projeto e autentique o Wrangler:
npx wrangler login
- Confirme que entrou com a conta certa:
npx wrangler whoami
wrangler whoami mostra seu e-mail e a Account ID. Guarde esses dados.Crie os dois namespaces KV (um para cache, um para sessões)
O servidor precisa de dois storages no Cloudflare. Cada comando abaixo devolve um ID que você vai guardar:
npx wrangler kv namespace create JURIS_CACHE npx wrangler kv namespace create OAUTH_KV
{ "id": "abc123..." } para cada namespace. Anote os dois IDs — serão usados no próximo passo.Edite o wrangler.jsonc com seus dados
Abra o arquivo wrangler.jsonc na raiz do projeto (Notepad, VSCode, bloco de notas — qualquer um) e substitua:
"id": "replace-with-your-juris-cache-kv-id"→ ID gerado pelo Passo 03 paraJURIS_CACHE"id": "replace-with-your-oauth-kv-id"→ ID gerado pelo Passo 03 paraOAUTH_KV- Se já souber a URL pública final, também ajuste
MCP_PUBLIC_ORIGINeMCP_GOOGLE_CALLBACK_ORIGIN(se não souber ainda, o Passo 06 mostra como descobrir)
# O wrangler.jsonc já vem com a estrutura pronta. # Só substitua os placeholders entre aspas pelos IDs do Passo 03.
Crie o projeto no Google Cloud e gere as credenciais OAuth
- Crie um projeto novo em Google Cloud Console (nome sugestivo, ex.: JurisprudênciaIA MCP).
- Em APIs e Serviços → Tela de consentimento OAuth, escolha Externo e preencha só o necessário (nome do app e um e-mail de contato).
- Em Credenciais → Criar credenciais → ID do cliente OAuth, selecione Aplicativo da Web.
- Nome sugestivo:
jurisprudenciaia-mcp-oauth. - Em URIs de redirecionamento autorizados, cole (ajuste para o seu domínio):
https://mcp.seu-dominio.com/oauth/google/callback
https://, domínio real (sem IP, sem localhost). Confirme a barra final em /oauth/google/callback — sem / no final.- Salve o ID do Cliente (vale público) e o Segredo do Cliente (privado, só vai no próximo passo).
Configure os segredos no Cloudflare e publique
Via terminal, rode três comandos. Cada um abre um prompt pedindo o valor — cole conforme abaixo:
6.1 · Segredo do Google
npx wrangler secret put MCP_GOOGLE_CLIENT_SECRET
Cole o Segredo do Cliente do Google.
6.2 · Lista de e-mails permitidos
npx wrangler secret put MCP_ALLOWED_EMAILS
Cole uma lista separada por vírgula, ex.: usu1@dominio.com,usu2@dominio.com. Só essas pessoas poderão fazer login no conector.
6.3 · Variable pública: origem do Worker
Determine onde o servidor vai publicar. Pode ser um domínio próprio ou *.workers.dev.
Edite o wrangler.jsonc e coloque a mesma origem nos três campos:
MCP_PUBLIC_ORIGINMCP_GOOGLE_CALLBACK_ORIGIN- e no próprio
routes(se usar domínio próprio)
https://mcp.seu-dominio.com (sem / no final). Se usar *.workers.dev, o Wrangler mostra o endereço real ao publicar — guarde-o e use-o no Google Cloud (Passo 05).6.4 · Publicar
npm run deploy:worker
Confirme que o servidor subiu
Rode:
curl https://mcp.seu-dominio.com/healthz
wrangler.jsonc e rode o deploy de novo.Conecte no Claude (ou Codex)
Para usuários do Claude (Desktop ou Web):
- Abra Configurações → Conectores.
- Clique em Adicionar conector personalizado.
- Informe:
- Nome:
jurisprudenciaia - URL do servidor: https://mcp.seu-dominio.com/mcp
- Deixe Client ID e Client Secret vazios (mesmo que apareçam)
- Clique em Adicionar. O Claude abre o browser para consentimento:
- Clique em Continuar com Google e escolha a conta que está na allowlist.
- Ao voltar ao Claude, o status fica Conectado:
config.toml:
[mcp_servers.jurisprudenciaia] url = "https://mcp.seu-dominio.com/mcp" auth = "oauth" enabled = trueDepois rode
codex mcp login jurisprudenciaia no terminal.
Faça o primeiro teste
Em uma conversa nova do Claude:
O conector responde com precedentes e fontes. Se aparecerem dados, está pronto para produção.
O que nunca deve aparecer em capturas de tela
- E-mail ou avatar de qualquer usuário real
- Tela de seleção de contas do Google
- Client ID ou Client Secret
- Token, cookie ou código OAuth
- URL final de produção em código público
- ID de conta ou projeto Cloudflare
Os mockups acima usam dados fictícios intencionalmente. Para o guia real, substitua pelos seus próprios dados de implantação ou mantenha os mockups como referência estrutural.
Problemas comuns
Erro no login do Google: "redirect_uri_mismatch"
O Google está exigindo que o callback registrado no Passo 05 coincida com o MCP_GOOGLE_CALLBACK_ORIGIN. Os dois precisam ser exatamente https://seu-dominio.com/oauth/google/callback. Ajuste no Google Cloud e no wrangler.jsonc, rode npm run deploy:worker outra vez e Tente o login de novo.
O e-mail está na allowlist mas o login não autoriza
Verifique se você rodou npx wrangler secret put MCP_ALLOWED_EMAILS depois da última edição do wrangler.jsonc. Segredos só valem a partir do próximo deploy.
O Claude diz "Failed to connect" depois de adicionar
Primeiro confirme que o Worker está no ar (curl https://seu-dominio.com/healthz). Depois confirme que a URL que você colou no Claude termina em /mcp (não só o domínio). Se continuar, desconecte, recrie o conector e faça o login Google novamente.
Preciso permitir mais pessoas no futuro
Sim. Rode npx wrangler secret put MCP_ALLOWED_EMAILS de novo com a lista ampliada (todos os e-mails, não só os novos). Rode npm run deploy:worker para republicar com o novo segredo.