Oracle

Provides Oracle DB context and schema-aware tooling for AI assistants across multiple databases.
  • python

0

GitHub Stars

python

Language

6 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "dhananjay-2024-oracle-mcp-server-deer": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "ORACLE_CONNECTION_STRING",
        "-e",
        "TARGET_SCHEMA",
        "-e",
        "CACHE_DIR",
        "-e",
        "THICK_MODE",
        "dmeppiel/oracle-mcp-server"
      ],
      "env": {
        "CACHE_DIR": ".cache",
        "READ_ONLY_MODE": "1",
        "ORACLE_CONNECTION_STRING": "<db-username>/<password>@<host>:1521/<service-name>"
      }
    }
  }
}

You run an MCP server that serves contextual Oracle DB schema information to AI assistants, enabling fast, targeted lookups, schema searches, and relationship mapping across large Oracle databases. It supports multiple databases, caching to reduce load, and can integrate with AI tools to provide accurate database context during development and querying.

How to use

You connect your MCP client to the Oracle DB Context server to access tools that fetch and explore schema information. Start from a local or remote MCP server configuration, then use an AI assistant (like GitHub Copilot in VSCode Insiders) or other MCP-enabled agents to request table schemas, search for tables, inspect constraints and indexes, and run read-only queries. You can work with a single Oracle database or multiple databases, and you can switch between environments (prod, test, dev) while keeping separate caches.

Key capabilities you will use include getting detailed table schemas, retrieving multiple table schemas at once, searching for tables by name patterns, rebuilding the schema cache when the database structure changes, and querying for PL/SQL objects, constraints, indexes, and related tables. In read-only mode by default, write operations are blocked for safety; you can enable write access only if you explicitly set write permissions.

How to install

This guide provides concrete steps to run the MCP server locally using either Docker (recommended) or a local UV-based installation. Choose your path below and follow the steps in order.

Prerequisites you’ll need before starting:

  • Python 3.12 or higher for UV-based installation
  • Docker (for the Docker path)
  • Oracle database access and client libraries if you enable thick mode
  • Oracle Instant Client libraries if you plan to use thick mode with the Docker image or local setup

Additional notes

Starting the server locally with UV is done by running a Python entry point. The Docker path uses a container image that includes all dependencies. If you are integrating with Copilot in VSCode Insiders, configure your MCP client to point at one of these stdio servers, load the environment variables, and enable Agent mode in the Copilot chat to access the available tools.

Configuration and startup details

Two MCP stdio configurations are provided to connect to the Oracle MCP server from your MCP client. Use the one that matches your environment.

{
  "type": "stdio",
  "name": "oracle_docker",
  "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>/<password>@<host>:1521/<service-name>",
    "TARGET_SCHEMA": "",
    "CACHE_DIR": ".cache",
    "THICK_MODE": "",
    "ORACLE_CLIENT_LIB_DIR": "",
    "READ_ONLY_MODE": "1"
  }
}
{
  "type": "stdio",
  "name": "oracle_uv",
  "command": "/path/to/your/.local/bin/uv",
  "args": [
    "--directory",
    "/path/to/your/oracle-mcp-server",
    "run",
    "main.py"
  ],
  "env": {
    "ORACLE_CONNECTION_STRING": "<db-username>/<password>@<host>:1521/<service-name>",
    "TARGET_SCHEMA": "",
    "CACHE_DIR": ".cache",
    "THICK_MODE": "",
    "ORACLE_CLIENT_LIB_DIR": "",
    "READ_ONLY_MODE": "1"
  }
}

Available tools

get_table_schema

Fetch detailed schema for a specific table including columns, data types, nullability, and relationships.

get_tables_schema

Retrieve schemas for multiple tables in a single operation for efficiency.

search_tables_schema

Find tables by name pattern and retrieve their schemas.

rebuild_schema_cache

Force a full rebuild of the local schema cache; use sparingly as it is resource-intensive.

get_database_vendor_info

Get information about the connected Oracle database version and vendor.

search_columns

Search for tables containing columns that match a given term.

get_pl_sql_objects

Get information about PL/SQL objects like procedures, functions, packages, and triggers.

get_object_source

Retrieve the source code for a PL/SQL object.

get_table_constraints

Get all constraints (PK, FK, UNIQUE, CHECK) for a table.

get_table_indexes

Get all indexes defined on a table.

get_dependent_objects

Find objects that depend on a specified database object.

get_user_defined_types

Get information about user-defined types in the database.

get_related_tables

Get tables related to a specified table via foreign keys.

run_sql_query

Execute a SQL query and return results in a formatted table. In read-only mode, only SELECT is allowed.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational