mcpField
O
Oracle MCP Server

Oracle MCP Server

Local
github.com/yyue9527Databases13Updated 80w ago

About Oracle MCP Server

Oracle MCP Server is an MCP server for Oracle database operations, built on Spring AI MCP Server. Clients can list tables, inspect their structure, and execute SQL through tools, with results returned as CSV or affected-row counts.

Key features

  1. 01List database tables
  2. 02Inspect columns, types, and constraints
  3. 03Run SELECT, INSERT, UPDATE, and DELETE
  4. 04Return query results as CSV
  5. 05Manage database connections

Use cases

  1. 01Inspect tables in an Oracle database
  2. 02Review table columns and primary keys
  3. 03Run SQL queries or changes through MCP
  4. 04Get affected-row counts after writes

MCP support

The server exposes Oracle database operations as MCP tools and uses SSE for real-time communication.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Oracle MCP Server

A Model Context Protocol (MCP) server implementation for Oracle database operations, built on top of spring-ai-mcp-server-webmvc-spring-boot-starter. This service provides a set of tools for interacting with Oracle databases through MCP, utilizing Server-Sent Events (SSE) for real-time communication.

Features

  • List all tables in the Oracle database
  • Describe table structure (columns, data types, constraints)
  • Execute SQL statements (SELECT, INSERT, UPDATE, DELETE)
  • Secure database connection management
  • Real-time communication via SSE
  • Built on spring-ai-mcp-server-webmvc-spring-boot-starter

Technology Stack

Core Dependencies
  • Spring Boot 3.2.0
  • spring-ai-mcp-server-webmvc-spring-boot-starter
  • Oracle JDBC Driver
  • Model Context Protocol (MCP) Framework
  • Lombok
Development Tools
  • Java 17
  • Maven 3.6+
  • Spring Boot Test Framework
  • JUnit 5

Getting Started

Prerequisites
  • JDK 17
  • Maven 3.6+
  • Oracle Database instance
  • MCP Server environment
  • Cursor IDE
Configuration
1. Database Configuration

Create or modify application.properties or application.yml with the following settings:

oracle:
  connectionString: jdbc:oracle:thin:@//your-oracle-host:1521/your-service-name
  username: your-username
  password: your-password
2. Cursor MCP Configuration

In your Cursor IDE, configure the MCP server in the settings:

{
  "mcpServers": {
    "oracle-mcp-server": {
      "url": "http://{server-ip}:{server-port}/sse",
      "enabled": true
    }
  }
}

This configuration:

  • Sets the MCP server name as "oracle-mcp-server"
  • Configures the server URL to "http://{server-ip}:{server-port}/sse"
    • Replace {server-ip} with your server's IP address
    • Replace {server-port} with your server's port number
  • Enables the MCP server for use in Cursor
Building the Project
mvn clean install
Running the Application
mvn spring-boot:run

API Tools

1. List Tables Tool
  • Name: list_tables
  • Description: Get a list of all tables in Oracle database
  • Usage: No parameters required
  • Returns: Newline-separated list of table names
2. Describe Table Tool
  • Name: describe_table
  • Description: Get structure information of specified table
  • Parameter: tableName - Name of the table to describe
  • Returns: CSV format of table structure including:
    • Column names
    • Data types
    • Nullable status
    • Data length
    • Primary key information
3. Execute SQL Tool
  • Name: execute_sql
  • Description: Execute Oracle SQL statement
  • Parameter: sql - SQL statement to execute
  • Returns:
    • For SELECT: CSV format of query results
    • For INSERT/UPDATE/DELETE: Number of affected rows

Implementation Details

Architecture
com.mcp.oracle/
├── config/
│   └── OracleConfig.java         # Database configuration
├── service/
│   └── OracleService.java        # Core service implementation
└── OracleApplication.java        # Application entry point
Key Components
  1. OracleConfig

    • Handles database connection configuration
    • Uses Spring's @ConfigurationProperties
    • Secure password management
  2. OracleService

    • Implements MCP tools for database operations
    • Manages database connections
    • Handles SQL execution and result formatting
    • Implements error handling and logging
  3. Connection Management

    • Uses Oracle's connection pooling
    • Implements auto-closing of resources
    • Handles connection errors gracefully
Security Considerations
  • Password encryption in configuration
  • Connection pool management
  • SQL injection prevention
  • Error message sanitization

Testing

The project includes comprehensive unit tests:

mvn test

Test coverage includes:

  • Database connection
  • Table listing
  • Table structure description
  • SQL execution
  • Error handling

Error Handling

The service implements robust error handling:

  • Connection failures
  • Invalid SQL statements
  • Missing tables/columns
  • Permission issues

Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For support and questions, please create an issue in the repository.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.