Clientes
Qualquer cliente que fale Streamable HTTP MCP e saiba fazer o fluxo OAuth 2.1 do MCP consegue conectar. Você só informa a URL; o cliente descobre sozinho onde autenticar, abre o login da Kobana no navegador e guarda o token — veja Autenticação.
Cliente sem suporte a OAuth também conecta, com um token pessoal: crie em Conta Kobana → Tokens e Acesso → Novo Token Pessoal, com o app Dashboard Mágico e o uso MCP, e configure o cliente para mandá-lo no cabeçalho Authorization: Bearer <token>.
Claude Code
claude mcp add --transport http kobana-dashboards https://mcp.dashboards.kobana.com.br
Depois, rode /mcp numa sessão e escolha Authenticate para fazer login na Kobana.
Com um token pessoal, sem fluxo OAuth:
claude mcp add --transport http kobana-dashboards https://mcp.dashboards.kobana.com.br \
--header "Authorization: Bearer <token pessoal>"
Clientes configurados por arquivo
Clientes que leem um arquivo JSON de configuração pedem a URL e o transporte. Pelo fluxo OAuth, não há cabeçalho de autenticação:
{
"mcpServers": {
"kobana-dashboards": {
"type": "http",
"url": "https://mcp.dashboards.kobana.com.br"
}
}
}
Na primeira conexão o cliente abre o navegador para você autorizar. Não há cabeçalho de seleção de organização: você escolhe a organização na tela de consentimento, e ela fica gravada no token.
Com um token pessoal, acrescente o cabeçalho — a organização é a da conta em que você criou o token:
{
"mcpServers": {
"kobana-dashboards": {
"type": "http",
"url": "https://mcp.dashboards.kobana.com.br",
"headers": { "Authorization": "Bearer <token pessoal>" }
}
}
}
Trate o arquivo como segredo: quem o lê usa o token.
Clientes que conectam por URL
Claude e ChatGPT conectam um servidor remoto colando a URL https://mcp.dashboards.kobana.com.br nas configurações de conectores. O fluxo OAuth roda dentro do próprio app.
Postura recomendada para agentes
- Autorize com a conta certa. As tools são estreitadas para as permissões de dashboard de quem autorizou o cliente. Um cliente autorizado por um analista somente-leitura expõe só as tools de leitura, faça o que fizer o modelo do outro lado. É a forma mais forte de restringir um agente.
- Um token por cliente. Cada cliente faz o próprio fluxo e recebe o próprio token, que só vale no MCP — ele não serve para chamar a API REST. Para desligar um agente, remova a autorização dele na Kobana sem afetar as suas integrações.
- Token pessoal: validade curta e escopo mínimo. Marque só os recursos e acessos de que o agente precisa, e a validade mais curta que o uso permite: revogar o token na Kobana não corta o acesso antes da validade — veja Revogação do token pessoal.
- Comece no sandbox. As tools destrutivas suspendem contas, apagam registros e enviam convites de verdade; o servidor pede confirmação antes de cada uma (e as recusa a um cliente que não consegue confirmar), mas a primeira exploração não deve ser em produção.
Verificando a conexão
O jeito mais simples é pedir ao assistente: "qual organização eu estou usando no Dashboard Mágico?" — ele chama dashboards_organization_get.
Com um token emitido para o MCP — um token pessoal com uso MCP, por exemplo —, dá para conferir por curl:
# 1. Qual organização este token alcança?
curl -s https://mcp.dashboards.kobana.com.br/ \
-H "Authorization: Bearer $MCP_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"dashboards_organization_get","arguments":{}}}'
# 2. Quantas tools este token alcança?
curl -s https://mcp.dashboards.kobana.com.br/ \
-H "Authorization: Bearer $MCP_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' | jq '.result.tools | length'
Se o número for menor do que você esperava, são as permissões de quem autorizou ou o escopo do token — veja Autenticação. Não é um erro.