Перейти к содержимому

MCP Server - Oracle DB Context

Предоставляет контекст схемы для больших Oracle БД, позволяя ИИ запрашивать таблицы и отношения без перегрузки.

Python
83 stars

Описание

Это сервер 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.

Информация

Язык
Python
Лицензия
MIT License
GitHub Stars
83

Ссылки