Skip to main content
Glama
anpy-j

MCP Oracle Server

by anpy-j
README.md
# mcp-server-oracle
Model Context Protocol server to access oracle

[![Python 3.12](https://img.shields.io/badge/python-3.12-blue.svg)](https://www.python.org/downloads/release/python-3120/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

## Demos


https://github.com/user-attachments/assets/dc4e377b-4efb-43e6-85fa-93ed852fe21f



## Quickstart

To try this in Claude Desktop app, add this to your claude config files:

```json
{
  "mcpServers": {
    "mcp-server-oracle": {
      "command": "uvx",
      "args": [
        "mcp-server-oracle"
      ],
      "env": {
        "ORACLE_CONNECTION_STRING": "username/password@hostname:password/service_name"
      }
    }
  }
}
```

### Prerequisites

- UV (pacakge manager)
- Python 3.12+
- Claude Desktop

### Installation

#### Claude Desktop 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`


## Contributing

1. Fork the repository from [mcp-server-oracle](https://github.com/hdcola/mcp-server-oracle)
2. Create your feature branch
3. Commit your changes
4. Push to the branch
5. Open a Pull Request

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

TDQS

B3.2/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: describe_table provides metadata about a specific table, list_tables enumerates all tables, and reqd_query executes SELECT queries to read data. There is no overlap in functionality, and an agent can easily distinguish between them based on their descriptions.

Naming Consistency3/5

Two tools follow a consistent verb_noun pattern (describe_table, list_tables), but the third tool (reqd_query) deviates with an unconventional name that is less readable and mixes styles. This inconsistency reduces predictability, though the overall set remains understandable.

Tool Count3/5

With only 3 tools, the server feels thin for an Oracle database interface, as it lacks essential operations like INSERT, UPDATE, DELETE, or transaction management. While the tools cover basic read and metadata functions, the count is borderline low for the apparent scope of database interaction.

Completeness2/5

The tool surface is significantly incomplete for an Oracle database server. It only supports describing tables, listing tables, and executing SELECT queries, missing critical CRUD operations (create, update, delete), schema modifications, and other database management tasks. This will cause agent failures when trying to perform common database workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues