OAuth 2.1

Conecte ao Karpos MCP via login no navegador — sem precisar criar ou copiar API Keys.

Como conectar via OAuth

Novo

Disponível a partir de maio de 2026.

Com OAuth, você conecta ao Karpos fazendo login pelo navegador — não precisa criar API Key nem copiar tokens manualmente.

1. Adicione o servidor MCP

No terminal, rode:

Terminal
claude mcp add karpos \
  --transport http \
  https://next-mcp-server.onrender.com/mcp

Sem API Key — o OAuth cuida da autenticação.

2. Abra o Claude Code

Terminal
claude

Na primeira vez que usar uma tool do Karpos, o Claude Code vai abrir o navegador automaticamente para você fazer login.

3. Autorize no navegador

O navegador abre a página de login do Karpos. Faça login com sua conta e clique em Autorizar.

Após autorizar, a página confirma o sucesso e você pode fechar o navegador. O terminal já está conectado.

4. Pronto — use normalmente

De volta ao terminal, peça qualquer coisa em linguagem natural:

"Lista meus projetos no Karpos"

Selecionar workspace

Se você tem mais de um workspace, o Claude vai perguntar qual usar. Você pode especificar diretamente:

"Lista os projetos do workspace 'Minha Empresa'"

Ou peça pra listar seus workspaces primeiro:

"Quais workspaces eu tenho no Karpos?"

API Key vs OAuth — qual usar?

API Key (mais simples)

  • Uso pessoal ou interno
  • Configuração em 1 minuto
  • Ideal pra scripts e automações
  • Você copia a chave uma vez

Ver guia de API Keys

OAuth (mais seguro)

  • Login via navegador, sem copiar chaves
  • Tokens expiram automaticamente
  • Ideal pra apps de terceiros
  • Usuário controla o acesso

Para desenvolvedores de integrações

Se você está construindo uma aplicação que precisa acessar o Karpos em nome de outros usuários, use o fluxo OAuth 2.1 com PKCE.

Fluxo resumido

  1. Sua app gera um code_verifier e calcula o code_challenge (SHA-256)
  2. Redireciona o usuário para /oauth/authorize com client_id, scopes e challenge
  3. Usuário aprova no Karpos
  4. Karpos redireciona de volta com um code
  5. Sua app troca o code por tokens via POST /oauth/token

Exemplo: redirecionar para autorização

JavaScript
const params = new URLSearchParams({
  client_id: "seu_client_id",
  redirect_uri: "https://sua-app.com/callback",
  response_type: "code",
  scope: "read write",
  state: crypto.randomUUID(),
  code_challenge: challenge, // SHA-256 do code_verifier
  code_challenge_method: "S256",
});

window.location.href =
  "https://nextflow.app/oauth/authorize?" + params;

Exemplo: trocar code por tokens

JavaScript
const res = await fetch("/oauth/token", {
  method: "POST",
  headers: { "Content-Type": "application/x-www-form-urlencoded" },
  body: new URLSearchParams({
    grant_type: "authorization_code",
    code: codeFromCallback,
    redirect_uri: "https://sua-app.com/callback",
    client_id: "seu_client_id",
    code_verifier: originalVerifier,
  }),
});

const { access_token, refresh_token } = await res.json();

Endpoints

EndpointDescrição
GET /.well-known/oauth-authorization-serverDescoberta automática de endpoints
GET /oauth/authorizePágina de autorização do usuário
POST /oauth/tokenTrocar code por tokens ou renovar tokens
POST /oauth/revokeRevogar um token

Tokens

Access Token

1 hora

Token de acesso. Quando expirar, usa o refresh token.

Refresh Token

30 dias

Gera novos access tokens. Rotação automática a cada uso.

Authorization Code

10 min

Uso único. Trocado por tokens no callback.