Pular para o conteúdo

MCP e API pública

Qualquer assistente compatível com MCP (Model Context Protocol) — ou qualquer script via REST — pode usar as mesmas ferramentas do agente DBA nativo.

Configuration → API tokens

  1. Abra Configuration → API tokens (/configuration/api_tokens)
  2. Clique em Create token
  3. Dê um nome (ex.: “Claude Desktop”, “Cursor”)
  4. Escolha o escopo:
    • read — sempre incluído (queries, skills, memory)
    • write — só admins (kill session, grants, sensores…)
  5. Opcionalmente defina expiração em dias
  6. Copie o token dbz_… agora — ele só é mostrado uma vez

Na mesma página há um guia com a URL do MCP e um JSON pronto para colar.

{
"mcpServers": {
"dbizzie": {
"url": "https://seu-host-dbizzie/api/mcp",
"headers": {
"Authorization": "Bearer dbz_seu_token_aqui"
}
}
}
}

Em desenvolvimento local a URL costuma ser http://localhost:3000/api/mcp.

O endpoint é Streamable HTTP e atende tanto clientes modernos (spec 2026-07-28) quanto o handshake antigo com initialize/SSE.

Filtradas pelo escopo do token e pelas permissões atuais do usuário (admin + grupos):

  • Leitura: list_databases, run_select_query, run_collection_select, skills, memory…
  • Escrita (se permitido): kill_session, create_database_user, change_user_password, grant_privilege, revoke_privilege, purge_sql_from_memory, create_sensor
  • dba_assistant — o mesmo system prompt do agente nativo, ajustado às permissões
  • dbizzie://databases — databases acessíveis
  • dbizzie://skill/<id> — corpo dos playbooks

| Regra | Comportamento | |-------|----------------| | Token inválido / revogado / expirado | 401 | | Falta escopo write | Tools de escrita somem e chamadas são rejeitadas | | Usuário perde admin | Tools admin somem na hora (checagem no banco a cada request) | | Sem acesso ao database (grupo) | Erro de acesso na execução |

O mesmo token autentica a API em /api/v1:

| Uso | Endpoint | |-----|----------| | Quem sou eu | GET /api/v1/me | | Listar tools + schemas | GET /api/v1/tools | | Invocar tool | POST /api/v1/tools/{name} | | Databases | GET /api/v1/databases | | Query | POST /api/v1/databases/{id}/query | | OpenAPI 3.1 | GET /api/v1/openapi.json |

Terminal window
curl -H "Authorization: Bearer dbz_…" https://seu-host/api/v1/me

A gestão dos tokens (/api/api_tokens) exige sessão do browser — um token vazado não consegue criar outros tokens.

Em API tokens, clique na lixeira do token. Qualquer cliente que ainda use aquele valor passa a receber 401 imediatamente.