MCP Oracle Server
# mcp-server-oracle
Model Context Protocol server to access oracle
[](https://www.python.org/downloads/release/python-3120/)
[](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
Scored across 3 tools
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.
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.
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.
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.