MCP DB Wizard
oficialUn servidor MCP para Oracle que no te hará perder el trabajo. El servidor MCP no expone un prompt de SQL y no puede decirte cómo iniciar sesión en Oracle. Solo los objetos seleccionados y las sentencias SQL son utilizables.
¿Qué puedes hacer con DB Wizard MCP?
- Obtener una fila por clave primaria — Solicita una entrada específica del registro de actividad y recíbela como objeto JSON mediante
synuser_activity_log_get_by_pk. - Insertar en el registro de actividad — Haz que el asistente agregue un nuevo registro, con operaciones de actualización y eliminación disponibles desde la misma tabla curada mediante
synuser_activity_log_insert. - Llamar a una rutina PL/SQL — Invoca
synuser_js_admin_getadmintoolinfopara ejecutar un procedimiento de negocio y recibir registros, colecciones y todos los parámetros OUT. - Obtener el siguiente valor de secuencia — Solicita el siguiente ID de
synuser_job_id_nextvalsin exponer otros datos de la secuencia. - Ejecutar solo SQL preaprobado — Ejecuta una declaración SQL tipada y probada que hayas seleccionado, con argumentos como valores de enlace y sin composición de consultas ad hoc.
Documentación
Un servidor MCP para Oracle que no te hará que te despidan
La configuración es todo el modelo de seguridad
Accesible por el agente
synuser_activity_log_get_by_pktabla — una fila por clave primaria, como objeto JSONsynuser_activity_log_inserttabla — con _update y _delete, desde la misma selecciónsynuser_js_admin_getadmintoolinforutina PL/SQL — registros, colecciones y cada parámetro OUTsynuser_job_id_nextvalsecuencia — el siguiente valor, y nada más
No accesible, por construcción
- Texto SQL del llamador — los argumentos son valores de enlace
- DDL — create, alter, drop
- Cualquier objeto que no hayas seleccionado
- Cualquier esquema que la configuración no nombre
- La contraseña de Oracle — vive en el entorno
Un agente que puede escribir SQL puede escribir DROP TABLE. Un agente que tiene una herramienta llamada check_flight_availability puede consultar disponibilidad en un vuelo, porque eso es todo lo que hace el código que tiene delante.
La curación ocurre antes de que exista el código
El privilegio mínimo es fácil de afirmar y difícil de verificar. Aquí la configuración decide qué se emite: un objeto que nadie seleccionó no tiene herramienta, ni método, ni clase. Está ausente del binario en lugar de estar protegido por un proceso en ejecución, por lo que ningún prompt puede alcanzarlo.
Lo que cambia un servidor MCP sin herramienta run-sql
Tus reglas de negocio ya están en PL/SQL
Décadas de validación, lógica referencial y comportamiento de auditoría viven dentro de paquetes. MCPDBWizard llama a esas rutinas tal como son — registros, colecciones, cursores de referencia y cada parámetro OUT devuelto — en lugar de pedirle a un modelo de lenguaje que reinvente las reglas en un SELECT.
Lo que ve un agente cuando tu PL/SQL se convierte en herramientas
Cada llamada es una herramienta nombrada, no una consulta
Las solicitudes llegan como synuser_activity_log_get_by_pk(entry_id) contra un esquema estricto — un argumento mal escrito se rechaza antes de tocar la base de datos. Mucho más fácil de registrar, limitar por tasa, revisar después y explicar a un auditor.
Herramientas MCP curadas y un prompt SQL, lado a lado
Dos audiencias, dos registros
El proxy escribe quién llamó a qué herramienta y si se permitió; cada servidor escribe qué hizo la herramienta y cómo terminó. Los nombres de los argumentos siempre; los valores solo si lo activaste, porque un modelo los eligió.
Dónde deberían ir los registros de un servidor MCP
Oracle 12c hasta 26ai
Incluyendo los tipos añadidos desde entonces: JSON nativo, BOOLEAN y VECTOR, y CRUD de documentos sobre vistas de dualidad JSON-relacional. Cualquier cosa que no pueda cruzar JSON honestamente — SDO_GEOMETRY, BFILE — se omite por completo, y el registro dice cuáles y por qué.
Cuentas, tokens y una matriz de concesiones
Muchas cuentas, muchas configuraciones, un tick por concesión. Dos equipos que necesitan herramientas diferentes sobre el mismo esquema son dos configuraciones, no una configuración y una regla — lo que mantiene intacta la garantía del primer panel.
Acceso basado en roles para un servidor MCP
¿Comparándolo con las propias rutas de Oracle? Lee una alternativa al servidor MCP de Oracle, alternativas al servidor MCP de SQLcl cuando se descarta SQL ad-hoc, o empieza por la pregunta que la mayoría de la gente realmente hace: ¿puedo dejar que un agente de IA consulte mi base de datos de producción?

La configuración decide qué se genera; el proxy decide quién puede llamarlo.
- 01
Selecciona los objetos
Conecta las páginas de Diseño a Oracle y marca los paquetes PL/SQL que estás dispuesto a exponer, más cualquier sentencia SQL que hayas escrito y probado tú mismo, más las tablas y secuencias que quieras accesibles directamente. Esa selección se guarda como un archivo de configuración — properties o JSON, versionable y sin contraseña.
PL/SQL primero, porque es el punto: marca los paquetes y procedimientos que estás dispuesto a exponer, y cada uno se convierte en una herramienta con sus parámetros tipados.
Luego tu propio SQL — sentencias que escribiste y probaste, con parámetros de enlace tipados en línea. El agente ejecuta estas; no compone las suyas propias.
Finalmente tablas, curadas por operación en lugar de por tabla — una recién seleccionada es de solo lectura, y create, update y delete son tuyos para marcar. - 02
Genera, compila, ejecuta
La página de Runtime emite Java exactamente para esos objetos, lo compila y lo lanza como su propio servidor en loopback. Cualquier cosa que no seleccionaste no tiene herramienta, ni método, ni clase — está ausente del binario en lugar de simplemente rechazada.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.32 - 03
Apunta tu cliente MCP al proxy
Los agentes se conectan en el 8080, sobre Streamable HTTP, con un token emitido para su cuenta. El proxy es el único componente que sabe quién llama — verifica la cuenta, la concesión y el límite de tasa, y luego reenvía.{ "mcpServers": { "payroll": { "url": "http://localhost:8080/mcp/alice/payroll", "headers": { "Authorization": "Bearer <id>.<secret>" } } } }
La guía de inicio rápido tiene todo el camino, incluyendo emitir el token y conceder la configuración.