VibeLogin MCP

Adicione autenticação ao seu aplicativo - sem código, sem configuração, nunca saia da sua IDE

Documentação

@vibelogin/mcp

Adicione autenticação ao seu aplicativo sem sair da sua IDE. Servidor MCP para Cursor, Claude Code, Windsurf e Cline.

Basta dizer "adicione autenticação ao meu aplicativo" — o agente cria seu projeto, configura métodos de autenticação, integra o Google OAuth e prepara um fluxo de login funcional no seu código. Tudo a partir do chat do seu editor.


Instalação

Não é necessária instalação global. Configure-o uma vez no seu cliente MCP e ele será executado sob demanda via bunx.


Configuração do cliente

Um trecho funciona em todos os clientes. Cole isto nas suas configurações MCP e pronto.

{
  "mcpServers": {
    "vibelogin": {
      "command": "bunx",
      "args": ["@vibelogin/mcp"]
    }
  }
}

A primeira chamada de ferramenta abre um navegador para consentimento com um clique. Depois disso, os tokens são armazenados em cache em ~/.vibelogin/credentials.json — você não precisará fazer login novamente por 30 dias.

Claude Desktop / Claude Code

~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "vibelogin": {
      "command": "bunx",
      "args": ["@vibelogin/mcp"]
    }
  }
}

Cursor

~/.cursor/mcp.json (ou por projeto .cursor/mcp.json):

{
  "mcpServers": {
    "vibelogin": {
      "command": "bunx",
      "args": ["@vibelogin/mcp"]
    }
  }
}

Windsurf / Cline / Zed

Mesma estrutura — todo cliente MCP aceita um bloco command + args. O comando de uma linha acima funciona em todos eles.

É isso — nenhuma variável de ambiente é necessária. Os padrões apontam automaticamente para produção.


Autenticação

No primeiro uso, uma janela do navegador abre para consentimento com um clique. Depois disso, você fica autenticado por 30 dias — sem novas solicitações.


Ferramentas

O agente escolhe automaticamente as ferramentas certas com base na sua conversa. Basta dizer o que você precisa.

create_project

Cria um novo projeto VibeLogin na sua organização. Retorna o id do projeto, slug, oauthSlug, ambiente, chave publicável e chave secreta (exibida uma única vez).

ParâmetroTipoObrigatórioDescrição
namestringsimNome legível do projeto.
slugstringnãoSlug seguro para URL; gerado automaticamente a partir de name se omitido.
environmentenumnãoproduction | development | staging (padrão production).

list_projects

Lista todos os projetos da sua organização. Use isto quando o agente precisar descobrir o que já existe antes de criar algo novo.

Sem parâmetros.

get_project

Consulta um único projeto por id, slug ou oauthSlug.

ParâmetroTipoObrigatórioDescrição
idOrSlugstringsimId do projeto, slug ou oauthSlug.

configure_auth

Alterna métodos de autenticação, define URLs de redirecionamento e/ou integra o Google OAuth. Atualizações em nível de campo — qualquer coisa que você não definir permanece intacta.

ParâmetroTipoObrigatórioDescrição
projectIdstringsimO id do projeto.
methods.emailPasswordbooleannãoHabilita login com e-mail + senha.
methods.magicLinkbooleannãoHabilita e-mails de link mágico.
methods.emailOtpbooleannãoHabilita códigos OTP de 6 dígitos por e-mail.
methods.passwordResetbooleannãoHabilita e-mails de redefinição de senha.
methods.emailVerificationbooleannãoExige verificação de e-mail no cadastro.
google.clientIdstringcom googleID do cliente Google OAuth (do Google Cloud Console).
google.clientSecretstringcom googleSegredo do cliente Google OAuth.
google.enabledbooleannãoPadrão true.
redirectUrlsstring[]nãoSubstitui a lista de URLs de redirecionamento permitidas do projeto.

Se você chamar isto sem google, a resposta inclui a URL exata do Google Cloud Console + URI de redirecionamento necessárias para configurar as credenciais.

add_auth_to_project

Prepara um fluxo de login funcional no seu código. Detecta o framework a partir de package.json e grava arquivos não destrutivos (arquivos existentes são ignorados, nunca sobrescritos).

Frameworks suportados atualmente: Next.js (App Router), Vite + React. Recusado com orientação: Remix, Astro, Express, desconhecido.

ParâmetroTipoObrigatórioDescrição
projectDirstringsimCaminho absoluto para a raiz do projeto.
slugstringsimO oauthSlug do projeto (de create_project).
publishableKeystringsimA chave publicável do projeto.
appUrlstringsimA origem do seu aplicativo (ex.: https://myapp.com).

Arquivos gravados para Next.js

middleware.ts                       # hostedAuthMiddleware
app/auth/callback/route.ts          # createCallbackHandler
app/login/page.tsx                  # <VibeLogin />
.env.local.example                  # publishable key + secret placeholder

Próximos passos exibidos pela ferramenta:

  1. pnpm add @vibelogin/nextjs
  2. Copie .env.local.example → .env.local, preencha VIBELOGIN_SECRET_KEY
  3. pnpm dev → abra /login

Arquivos gravados para Vite + React

src/auth/VibeLoginProvider.tsx      # context + useVibeLogin() hook
src/auth/Login.tsx                  # /login redirect to hosted UI
src/auth/Callback.tsx               # /auth/callback handler
.env.example                        # VITE_-prefixed publishable key

Próximos passos exibidos pela ferramenta:

  1. pnpm add @vibelogin/react react-router-dom
  2. Envolva <App/> em <VibeLoginProvider/>
  3. Adicione rotas /login e /auth/callback
  4. Copie .env.example → .env.local
  5. pnpm dev → abra /login

Exemplos de conversas

Você: "Adicione VibeLogin a este aplicativo Next.js. Login com e-mail + senha e Google."

Agente: (chama create_project { name: "myapp", environment: "production" }) Criado myapp (pk_live_…). (chama configure_auth { projectId, methods: { emailPassword: true } }) E-mail + senha habilitados. Para ativar o Google, preciso de um Client ID e Secret do Google Cloud Console — aqui está a URI de redirecionamento para autorizar: https://api.vibelogin.com/oauth/myapp-xyz/google/callback. (após você colar as credenciais:) (chama configure_auth { google: { clientId, clientSecret } }) (chama add_auth_to_project { projectDir: ".", slug: "myapp-xyz", publishableKey: "pk_live_…", appUrl: "https://myapp.com" }) Preparação concluída (next). Gravou middleware.ts, app/auth/callback/route.ts, app/login/page.tsx, .env.local.example. Execute pnpm add @vibelogin/nextjs && pnpm dev e abra /login.

Você: "Quais projetos eu já tenho?"

Agente: (chama list_projects) Você tem 3: myapp (produção), myapp-staging (staging), internal-tools (desenvolvimento).


Segurança

  • Sem segredos no agente — autenticação usa OAuth de loopback + PKCE (RFC 8252)
  • Códigos de autorização de uso único com TTL de 2 minutos
  • Tokens de atualização rotacionados — cada atualização invalida o anterior
  • Credenciais armazenadas com segurança — chmod 600 em ~/.vibelogin/credentials.json

Frameworks suportados

FrameworkStatus
Next.js (App Router)Totalmente suportado
Vite + ReactTotalmente suportado
Remix, Astro, ExpressEm breve

Licença

Apache-2.0