MCP DB Wizard
официальныйMCP-сервер для Oracle, с которым вас не уволят. Сервер MCP не предоставляет SQL-подсказки и не может рассказать, как войти в Oracle. Доступны только выбранные объекты и SQL-запросы.
Что можно делать с DB Wizard MCP?
- Fetch a row by primary key — Запросить конкретную запись журнала активности и получить её в виде JSON-объекта через
synuser_activity_log_get_by_pk. - Insert into the activity log — Позволить ассистенту добавить новую запись журнала, с возможностью обновления и удаления из той же курируемой таблицы через
synuser_activity_log_insert. - Call a PL/SQL routine — Вызвать
synuser_js_admin_getadmintoolinfoдля выполнения бизнес-процедуры и получения записей, коллекций и всех OUT-параметров. - Get the next sequence value — Запросить следующий ID из
synuser_job_id_nextvalбез раскрытия других данных последовательности. - Run only pre-approved SQL — Выполнить протестированный, типизированный SQL-запрос, который вы выбрали, с аргументами в качестве связанных значений и без составления ad-hoc запросов.
Документация
MCP-сервер для Oracle, из-за которого вас не уволят
Конфигурация — это и есть вся модель безопасности
Доступно агенту
synuser_activity_log_get_by_pkтаблица — одна строка по первичному ключу, в виде JSON-объектаsynuser_activity_log_insertтаблица — с _update и _delete, из той же выборкиsynuser_js_admin_getadmintoolinfoPL/SQL-процедура — записи, коллекции и каждый OUT-параметрsynuser_job_id_nextvalпоследовательность — следующее значение, и ничего больше
Недоступно по построению
- SQL-текст от вызывающей стороны — аргументы являются bind-значениями
- DDL — create, alter, drop
- Любой объект, который вы не выбрали
- Любая схема, не указанная в конфигурации
- Пароль Oracle — он хранится в окружении
Агент, умеющий писать SQL, может написать DROP TABLE. Агент, держащий инструмент под названием check_flight_availability, может проверить наличие мест на рейсе, потому что весь код перед ним делает только это.
Курирование происходит до появления кода
Минимальные привилегии легко декларировать и сложно проверить. Здесь конфигурация решает, что генерируется: у объекта, который никто не выбрал, нет ни инструмента, ни метода, ни класса. Он отсутствует в бинарнике, а не защищён работающим процессом, поэтому ни один промпт не может до него добраться.
Что меняет MCP-сервер без инструмента run-sql
Ваши бизнес-правила уже в PL/SQL
Десятилетия валидации, референциальной логики и аудита живут внутри пакетов. MCPDBWizard вызывает эти процедуры как есть — записи, коллекции, ref-курсоры и каждый OUT-параметр возвращаются — вместо того чтобы просить языковую модель заново изобретать правила в SELECT.
Что видит агент, когда ваш PL/SQL становится инструментами
Каждый вызов — это именованный инструмент, а не запрос
Запросы приходят как synuser_activity_log_get_by_pk(entry_id) против строгой схемы — опечатка в аргументе отклоняется до обращения к базе данных. Гораздо проще логировать, ограничивать по частоте, проверять постфактум и объяснять аудитору.
Курируемые MCP-инструменты и SQL-промпт бок о бок
Две аудитории, две записи
Прокси записывает, кто вызвал какой инструмент и было ли это разрешено; каждый сервер записывает, что сделал инструмент и чем это закончилось. Имена аргументов — всегда; значения — только если вы это включили, потому что их выбрала модель.
Куда должны идти логи MCP-сервера
Oracle 12c — 26ai
Включая типы, добавленные с тех пор: нативные JSON, BOOLEAN и VECTOR, а также CRUD над документами через JSON-реляционные duality-представления. Всё, что нельзя честно перенести через JSON — SDO_GEOMETRY, BFILE — пропускается целиком, и в логе указано, что и почему.
Учётные записи, токены и матрица грантов
Много учётных записей, много конфигураций, один тик на грант. Двум командам, которым нужны разные инструменты над одной схемой, нужны две конфигурации, а не одна конфигурация и правило — это сохраняет гарантию из первой панели.
Ролевой доступ для MCP-сервера
Сравниваете с собственными маршрутами Oracle? Прочитайте альтернативу MCP-серверу Oracle, альтернативы SQLcl MCP-серверу, когда ad-hoc SQL исключён, или начните с вопроса, который задают чаще всего: можно ли позволить ИИ-агенту запрашивать мою production-базу данных?

Конфигурация решает, что генерируется; прокси решает, кому разрешено вызывать.
- 01
Выберите объекты
Подключите страницы Design к Oracle и отметьте PL/SQL-пакеты, которые вы готовы открыть, а также любые SQL-операторы, которые вы написали и протестировали сами, плюс таблицы и последовательности, к которым нужен прямой доступ. Эта выборка сохраняется как файл конфигурации — properties или JSON, версионируемый и не содержащий пароля.
PL/SQL в первую очередь, потому что в этом суть: отметьте пакеты и процедуры, которые вы готовы открыть, и каждый станет одним инструментом с типизированными параметрами.
Затем ваш собственный SQL — операторы, которые вы написали и протестировали, с bind-параметрами, типизированными инлайн. Агент выполняет их; он не составляет свои собственные.
Наконец, таблицы, курируемые по операции, а не по таблице — новая выбранная таблица доступна только для чтения, а create, update и delete вы отмечаете сами. - 02
Генерация, компиляция, запуск
Страница Runtime генерирует Java-код ровно для этих объектов, компилирует его и запускает как отдельный сервер на loopback. Всё, что вы не выбрали, не имеет ни инструмента, ни метода, ни класса — оно отсутствует в бинарнике, а не просто отклоняется.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
Направьте ваш MCP-клиент на прокси
Агенты подключаются на порту 8080 через Streamable HTTP с токеном, выданным для их учётной записи. Прокси — единственный компонент, который знает, кто вызывает: он проверяет учётную запись, грант и лимит частоты, затем пересылает.{ "mcpServers": { "payroll": { "url": "http://localhost:8080/mcp/alice/payroll", "headers": { "Authorization": "Bearer <id>.<secret>" } } } }
В кратком руководстве описан весь путь, включая выдачу токена и предоставление конфигурации.