MCP Hub
Back to servers

OracleDB MCP Server

A Model Context Protocol server that bridges Oracle Databases with LLMs, providing filtered table and column metadata as context for SQL generation and query execution.

Updated
Apr 29, 2025

OracleDB MCP Server

smithery badge MseeP.ai Security Assessment Badge

Overview

  • This project will install MCP - Model Context Protocol Server, that provides configured Oracle Database Table/Columns as context to LLM's.
  • Using this we can enable LLMs to interact with Oracle Database, Generate SQL Statements and Return Results using LLM prompts.

Installation

  • Install package
    pip install oracledb_mcp_server
    
  • Create .env in a folder with minimum value of Oracle DB Connection String. Sample file available here
  • Test oracledb_mcp_server server using uv run oracledb_mcp_server from the above folder.

Claud Desktop

  • Configuration details for Claud Desktop
    {
      "mcpServers": {
        "oracledb_mcp_server":{
          "command": "uv",
          "args": ["run","oracledb_mcp_server"],
          "env": {
              "DEBUG":"True",
              "COMMENT_DB_CONNECTION_STRING":"oracle+oracledb://USERNAME:PASSWORD@IP:PORT/?service_name=SERVICENAME",
              "DB_CONNECTION_STRING":"oracle+oracledb://USERNAME:PASSWORD@IP:PORT/?service_name=SERVICENAME",
              "TABLE_WHITE_LIST":"ACCOUNTS,CUS_ACC_RELATIONS,CUSTOMERS",
              "COLUMN_WHITE_LIST":"ACCOUNTS.ACC_AAD_ID,CUS_ACC_RELATIONS.CAR_CUS_ID,CUS_ACC_RELATIONS.CAR_AAD_ID,CUSTOMERS.CUS_ID"
          }
        }
      }
    }
    

Configuration

  • List of available environment variables
    • DEBUG: Enable debug logging (optional default is False)
    • COMMENT_DB_CONNECTION_STRING: Oracle DB connection String for comments. (required)
    • DB_CONNECTION_STRING: Oracle DB connection String for execution of queries. (required)
    • TABLE_WHITE_LIST: White Listed table names in list format ["table1", "table2"] (required)
    • COLUMN_WHITE_LIST: White Listed table-column names in list format ["table.column1", "table.column2"] (required)
    • QUERY_LIMIT_SIZE: Default value is 10 records if not provided(optional default is 10)

Interceptor

npx @modelcontextprotocol/inspector uv --directory "D:\\MyDev\\mcp\\oracledb_mcp_server" run -m oracledb_mcp_server

Contributing

Contributions are welcome.
Please feel free to submit a Pull Request.

License

This project is licensed under the terms of the MIT license.

Demo

Github Stars

Star History Chart

Reviews

No reviews yet

Sign in to write a review