oracle-db-mcp
MCP server for accessing Oracle databases, enabling schema exploration, query execution, and performance analysis.
README
oracle-db-mcp
Model Context Protocol server to access oracle
Note: This repository is based on hdcola/mcp-server-oracle. Original work by hdcola.
Quickstart
Prerequisites
- Python 3.12+ or Docker
- Claude Desktop or other MCP client
- Oracle Database connection credentials
Installation
Choose one of the following methods:
Option 1: Using uvx (Recommended)
uvx oracle-db-mcp
Option 2: Using pipx
pipx install oracle-db-mcp
Option 3: Using Docker
docker pull ghcr.io/kuass/oracle-db-mcp
Configuration
Add the server configuration to your Claude Desktop config file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
Using uvx
{
"mcpServers": {
"oracle-db-mcp": {
"command": "uvx",
"args": [
"oracle-db-mcp"
],
"env": {
"ORACLE_CONNECTION_STRING": "username/password@hostname:port/service_name"
}
}
}
}
Using pipx
{
"mcpServers": {
"oracle-db-mcp": {
"command": "oracle-db-mcp",
"args": [],
"env": {
"ORACLE_CONNECTION_STRING": "username/password@hostname:port/service_name"
}
}
}
}
Using Docker
{
"mcpServers": {
"oracle-db-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ORACLE_CONNECTION_STRING",
"ghcr.io/kuass/oracle-db-mcp"
],
"env": {
"ORACLE_CONNECTION_STRING": "username/password@hostname:port/service_name"
}
}
}
}
The Docker image automatically remaps localhost to work from inside the container:
- MacOS/Windows: Uses
host.docker.internal - Linux: Uses the host IP address
Using uv (Development)
{
"mcpServers": {
"oracle-db-mcp": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/oracle-db-mcp",
"oracle-db-mcp"
],
"env": {
"ORACLE_CONNECTION_STRING": "username/password@hostname:port/service_name"
}
}
}
}
Thick Mode (Optional)
By default, the server uses Thin mode which doesn't require Oracle Client installation. To use Thick mode:
{
"mcpServers": {
"oracle-db-mcp": {
"command": "uvx",
"args": [
"oracle-db-mcp"
],
"env": {
"ORACLE_CONNECTION_STRING": "username/password@hostname:port/service_name",
"ORACLE_THICK_MODE": "true",
"ORACLE_CLIENT_LIB_DIR": "/path/to/oracle/instantclient"
}
}
}
}
SSE Transport
Oracle MCP supports Server-Sent Events (SSE) transport, allowing multiple MCP clients to share one server.
Start SSE Server
Using Docker
docker run -p 8000:8000 \
-e ORACLE_CONNECTION_STRING="username/password@hostname:port/service_name" \
ghcr.io/kuass/oracle-db-mcp --transport=sse
Using uvx
ORACLE_CONNECTION_STRING="username/password@hostname:port/service_name" \
uvx oracle-db-mcp --transport=sse
Configure MCP Client
For Cursor or Cline (mcp.json or cline_mcp_settings.json):
{
"mcpServers": {
"oracle-db-mcp": {
"type": "sse",
"url": "http://localhost:8000/sse"
}
}
}
For Windsurf (mcp_config.json):
{
"mcpServers": {
"oracle-db-mcp": {
"type": "sse",
"serverUrl": "http://localhost:8000/sse"
}
}
}
Available Tools
Schema Exploration
list_tables: Get a list of all tables in the databaselist_schemas: Get a list of all schemas in the databaselist_objects: List database objects (tables, views, sequences, packages) in a schemaget_object_details: Get detailed information about a database object (columns, constraints, indexes)describe_table: Get detailed information about a table
Query Execution
read_query: Execute SELECT queriesexec_dml_sql: Execute INSERT/UPDATE/DELETE/TRUNCATE statementsexec_ddl_sql: Execute CREATE/DROP/ALTER statementsexec_pro_sql: Execute PL/SQL code blocks
Performance Analysis
get_top_queries: Get the slowest queries based on elapsed timeexplain_query: Get the execution plan for a SQL queryanalyze_db_health: Perform comprehensive database health checks (tablespace usage, session status, wait events, invalid objects)
License
This project is licensed under the MIT License - see the LICENSE file for details.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.