Oracle DB MCP Server
A Model Context Protocol (MCP) server for Oracle Database connectivity. This server enables AI tools like Cursor, Claude Desktop, and other MCP-compatible clients to interact with Oracle databases.
Features
Multiple Database Connections: Configure and manage multiple named Oracle database connections
Thin & Thick Mode Support: Works with Oracle's thin driver (no client required) or thick mode (with Oracle Instant Client)
Query Execution: Execute SELECT queries with result formatting
DML Operations: Execute INSERT, UPDATE, DELETE with safety checks
PL/SQL Support: Execute PL/SQL blocks, create procedures/functions
Schema Browsing: List tables, views, procedures, describe table structures
Stored Procedures: Execute stored procedures with input/output parameters
Transaction Management: Commit and rollback support
Safety Features: Read-only mode, dangerous query detection, automatic warnings
Installation
Using npx (Recommended)
No installation required. Configure your MCP client to run:
Local Installation
Then run:
Configuration
Configuration File (connections.json)
Create a configuration file with your database connections:
Connection Options
Each connection supports:
Option | Description |
| Unique identifier for the connection |
| Database server hostname |
| Port number (default: 1521) |
| Oracle service name |
| Oracle SID (alternative to serviceName) |
| Full connection string (alternative to host/port/service) |
| Database username |
| Database password (direct) |
| Environment variable containing password |
|
|
Configuration File Locations
The server searches for configuration in this order:
ORACLE_MCP_CONFIGenvironment variable./config/connections.json./connections.json~/.oracle-mcp/connections.json
Environment Variables
For simple single-connection setup:
MCP Client Configuration
Cursor
Add to your Cursor MCP settings (.cursor/mcp.json):
Claude Desktop
Add to your Claude Desktop config:
Available Tools
Connection Management
Tool | Description |
| List all configured connections with status |
| Test connectivity and get database info |
| Establish a connection |
| Close a connection |
Query Execution
Tool | Description |
| Execute SELECT queries |
| Execute INSERT/UPDATE/DELETE |
| Execute PL/SQL blocks or DDL |
| Call stored procedures |
Schema Browsing
Tool | Description |
| List tables and views |
| Get column, constraint, index info |
| List procedures, functions, packages |
| Get source code of PL/SQL objects |
| Get procedure parameters |
| Get query execution plan |
Transaction Management
Tool | Description |
| Commit current transaction |
| Rollback current transaction |
Safety Features
Read-Only Mode
Connections configured as readonly:
Block all DML operations (INSERT, UPDATE, DELETE)
Block PL/SQL execution
Allow only SELECT queries
Dangerous Query Detection
The server warns or blocks:
DROP statements
TRUNCATE statements
UPDATE/DELETE without WHERE clause
ALTER SYSTEM commands
Oracle Client Modes
Thin Mode (Default)
No Oracle client installation required. Works with:
Oracle Database 12.1 and later
Oracle Cloud databases
Thick Mode
Requires Oracle Instant Client. Enable in config:
Required for:
Oracle Database versions before 12.1
Advanced features (LDAP, Kerberos, etc.)
Some data types (BFILE, etc.)
Development
Building from Source
Running in Development
Testing
License
MIT
Author
Gihan Sundarapperuma gihan213@gmail.com