MCP DB Wizard

oficial

Um servidor MCP para Oracle que não vai te demitir. O servidor MCP não expõe um prompt de SQL e não pode te dizer como fazer login no Oracle. Apenas os objetos selecionados e as instruções SQL são utilizáveis.

O que você pode fazer com DB Wizard MCP?

  • Chamar rotinas PL/SQL selecionadas — Peça ao assistente para invocar um procedimento de pacote aprovado, como synuser_js_admin_getadmintoolinfo, retornando registros, coleções e todos os parâmetros OUT.
  • Buscar uma única linha de tabela — Solicite uma linha pela chave primária via synuser_activity_log_get_by_pk e receba-a como um objeto JSON.
  • Inserir, atualizar ou excluir dados de tabela — Instrua o assistente a modificar linhas por meio da ferramenta gerada synuser_activity_log_insert (com suas variantes _update e _delete).
  • Obter o próximo valor de sequência — Peça o próximo número de synuser_job_id_nextval sem expor outras operações de sequência.
  • Executar instruções SQL pré-aprovadas — Faça o assistente executar um arquivo SQL nomeado e testado, com parâmetros de ligação tipados, nunca compondo texto de consulta ad hoc.

Documentação

Um servidor MCP para Oracle que não vai te demitir

A configuração é todo o modelo de segurança

Acessível pelo agente

  • synuser_activity_log_get_by_pk tabela — uma linha por chave primária, como um objeto JSON
  • synuser_activity_log_insert tabela — com _update e _delete, a partir da mesma seleção
  • synuser_js_admin_getadmintoolinfo rotina PL/SQL — registros, coleções e cada parâmetro OUT
  • synuser_job_id_nextval sequência — o próximo valor, e nada mais

Não acessível, por construção

  • Texto SQL do chamador — argumentos são valores de bind
  • DDL — create, alter, drop
  • Qualquer objeto que você não selecionou
  • Qualquer schema que a configuração não nomeia
  • A senha do Oracle — ela vive no ambiente

Um agente que sabe escrever SQL pode escrever DROP TABLE. Um agente segurando uma ferramenta chamada check_flight_availability pode verificar disponibilidade em um voo, porque é só isso que o código à sua frente faz.

Curadoria acontece antes de o código existir

Privilégio mínimo é fácil de alegar e difícil de verificar. Aqui a configuração decide o que é emitido: um objeto que ninguém selecionou não tem ferramenta, método nem classe. Ele está ausente do binário em vez de protegido por um processo em execução, então nenhum prompt pode alcançá-lo.

Suas regras de negócio já estão em PL/SQL

Décadas de validação, lógica referencial e comportamento de auditoria vivem dentro de pacotes. MCPDBWizard chama essas rotinas como elas são — registros, coleções, cursores de referência e cada parâmetro OUT retornado — em vez de pedir a um modelo de linguagem para reinventar as regras em um SELECT.

Cada chamada é uma ferramenta nomeada, não uma consulta

Requisições chegam como synuser_activity_log_get_by_pk(entry_id) contra um schema estrito — um argumento com erro de digitação é rejeitado antes de o banco ser tocado. Muito mais fácil de registrar, limitar por taxa, revisar depois e explicar a um auditor.

Dois públicos, dois registros

O proxy escreve quem chamou qual ferramenta e se foi permitido; cada servidor escreve o que a ferramenta fez e como terminou. Nomes de argumentos sempre; valores apenas se você ativou isso, porque um modelo os escolheu.

Oracle 12c até 26ai

Incluindo os tipos adicionados desde então: JSON nativo, BOOLEAN e VECTOR, e CRUD de documentos sobre visões de dualidade JSON-relacional. Qualquer coisa que não possa cruzar JSON honestamente — SDO_GEOMETRY, BFILE — é pulada por inteiro, e o log diz qual e por quê.

Contas, tokens e uma matriz de concessões

Muitas contas, muitas configurações, um clique por concessão. Duas equipes precisando de ferramentas diferentes sobre o mesmo schema são duas configurações, não uma configuração e uma regra — o que mantém a garantia do primeiro painel intacta.

  1. 01

    Selecione os objetos

    Conecte as páginas de Design ao Oracle e marque os pacotes PL/SQL que você está disposto a expor, além de quaisquer declarações SQL que você mesmo escreveu e testou, mais as tabelas e sequências que você quer acessíveis diretamente. Essa seleção é salva como um arquivo de configuração — properties ou JSON, versionável e sem senha. The Design Procedures tab listing PL/SQL packages and procedures with tick boxes PL/SQL primeiro, porque é o ponto: marque os pacotes e procedimentos que você está disposto a expor, e cada um vira uma ferramenta com seus parâmetros tipados. The Design SQL Statements tab, editing a named .sql file with typed bind parameters Depois seu próprio SQL — declarações que você escreveu e testou, com parâmetros de bind tipados inline. O agente executa essas; ele não compõe as próprias. The Design Tables tab, with each table ticked and separate MCP read, create, update and delete boxes Por fim, tabelas, curadas por operação em vez de por tabela — uma recém-selecionada é somente leitura, e create, update e delete são seus para marcar.
  2. 02

    Gere, compile, execute

    A página Runtime emite Java exatamente para esses objetos, compila e o lança como seu próprio servidor em loopback. Qualquer coisa que você não selecionou não tem ferramenta, método nem classe — está ausente do binário em vez de meramente recusada.
    docker run -d --name mcpdbwizard \
      -p 8080:8080 \
      -e MCPDBWIZARD_ORACLE_HOST=db.example.com \
      -e MCPDBWIZARD_ORACLE_PORT=1521 \
      -e MCPDBWIZARD_ORACLE_SID=/PDB1 \
      -e MCPDBWIZARD_ORACLE_USER=appuser \
      -e DB_PASS_FILE=/run/secrets/oracle \
      -v mcpdbwizard-demo:/data \
      ghcr.io/srmadscience/mcpdbwizard:2.0.4
    
  3. 03

    Aponte seu cliente MCP para o proxy

    Agentes conectam na porta 8080, via Streamable HTTP, com um token emitido para a conta deles. O proxy é o único componente que sabe quem está chamando — ele verifica a conta, a concessão e o limite de taxa, então encaminha.
    {
      "mcpServers": {
        "payroll": {
          "url": "http://localhost:8080/mcp/alice/payroll",
          "headers": {
            "Authorization": "Bearer <id>.<secret>"
          }
        }
      }
    }
    

O quickstart tem o caminho completo, incluindo emitir o token e conceder a configuração.