MCP Server - Oracle DB Context
Предоставляет контекст схемы для больших Oracle БД, позволяя ИИ запрашивать таблицы и отношения без перегрузки.
Описание
Это сервер MCP на Python для работы с крупными Oracle базами данных. Он кэширует схему БД, минимизируя запросы, и предоставляет инструменты для поиска таблиц, получения схем, отношений и PL/SQL объектов. Поддерживает thin и thick режимы подключения, read-only по умолчанию. Идеален для интеграции с ИИ-ассистентами вроде GitHub Copilot в VSCode, Claude и ChatGPT для анализа и запросов к БД с тысячами таблиц.
Возможности
Умное кэширование схемы
Строит и поддерживает локальный кэш схемы БД для минимизации запросов к базе.
Поиск таблиц
Находит таблицы по шаблонам имен и возвращает их схемы.
Схема конкретной таблицы
Получает детальную информацию о столбцах, типах, nullability и отношениях для выбранной таблицы.
Отношения таблиц
Показывает foreign keys и связи между таблицами.
Поиск по столбцам
Находит таблицы, содержащие столбцы по заданному термину.
PL/SQL объекты
Получает информацию и исходный код процедур, функций, пакетов и триггеров.
Выполнение SQL-запросов
Запускает SELECT (по умолчанию read-only) или write-операции (если отключен read-only).
Индексы и ограничения
Получает индексы, primary/foreign keys и другие constraints для таблиц.
Установка
Рекомендуется Docker: в settings.json VSCode добавьте конфигурацию для запуска контейнера с переменными ORACLE_CONNECTION_STRING, TARGET_SCHEMA и т.д.
Пример:
{
"mcp": {
"inputs": [
{
"id": "db-password",
"type": "promptString",
"description": "Oracle DB Password",
"password": true
}
],
"servers": {
"oracle": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ORACLE_CONNECTION_STRING",
"-e",
"TARGET_SCHEMA",
"-e",
"CACHE_DIR",
"-e",
"THICK_MODE",
"dmeppiel/oracle-mcp-server"
],
"env": {
"ORACLE_CONNECTION_STRING": "<db-username>/${input:db-password}@<host>:1521/<service-name>",
"TARGET_SCHEMA": "",
"CACHE_DIR": ".cache",
"THICK_MODE": "",
"READ_ONLY_MODE": "1"
}
}
}
}
}
Альтернатива: Локальная установка через UV (Python 3.12+, Oracle Instant Client). Клонируйте репозиторий, создайте venv, установите зависимости: uv pip install -e ., запустите uv run main.py.