QualigenAI Oracle Bridge (MCP)
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@QualigenAI Oracle Bridge (MCP)show all tables in the HR schema"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
QualigenAI Oracle Bridge (MCP) 🚀
An advanced Model Context Protocol (MCP) server that enables Claude Desktop to act as an autonomous Oracle Database Administrator and Data Analyst.
Unlike standard SQL tools, this bridge allows for Agentic workflows, where the AI explores the schema, self-corrects SQL errors, and handles complex joins through natural language.
🧠 Agentic Intelligence Features
Autonomous Schema Discovery: Claude identifies tables and relationships without manual mapping.
Self-Healing Queries: Automatically interprets Oracle
ORA-errors and rewrites SQL to fix issues.Complex Data Handling: Native support for
CLOBdata types and multi-tableJOINoperations.Automatic Commits: Built-in
autoCommitfor persistent DDL (CREATE/DROP) and DML (INSERT/UPDATE) operations.
Related MCP server: oracle-sqlplus-mcp
🛠️ Setup Instructions
1. Prerequisites
Node.js (v18+)
Docker (for Oracle XE)
Claude Desktop
2. Database Setup
Run the Oracle XE container using the following command:
docker run -d --name qualigenai-db -p 1521:1521 -e ORACLE_PASSWORD='YOURPASSWORD' gvenzl/oracle-xe
3. Environment Configuration
Create a .env file in the root directory:
Code snippet
DB_USER=system
DB_PASSWORD=<YOUR_PASSWORD>
DB_CONNECTION_STRING=localhost:1521/FREEPDB1
4. Build the Bridge
Run these commands to install dependencies and compile the TypeScript code:
Bash
npm install
npm run build
🖥️ Claude Integration
Add this configuration to your claude_desktop_config.json (located at %APPDATA%\Claude\claude_desktop_config.json on Windows):
JSON
{
"mcpServers": {
"qualigenai-oracle": {
"command": "node",
"args": ["C:/ABS/path/to/your/project/dist/index.js"],
"env": {
"DB_USER": "system",
"DB_PASSWORD": "<YOUR_PASSWORD>",
"DB_CONNECTION_STRING": "localhost:1521/FREEPDB1"
}
}
}
}
Disclaimer: This project is an independent open-source tool and is not affiliated with, sponsored by, or endorsed by Oracle Corporation. "Oracle" is a registered trademark of Oracle Corporation.Available Tools
2 toolsexecute_queryC
Execute any SQL command.
| Name | Required | Description | Default |
|---|---|---|---|
| sql | Yes | The full SQL query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. 'Execute any SQL command' implies action but does not mention side effects, permissions, transaction behavior, or result handling. This is especially concerning for a tool that can run arbitrary, potentially destructive SQL.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no unnecessary words. It is immediately clear in purpose and well-structured, minimizing reading time while conveying essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that executes arbitrary SQL, the description is incomplete. It lacks any mention of return values, error behavior, or safety concerns. Without an output schema or annotations, the description should compensate but does not, making it insufficient for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides a complete description of the `sql` parameter ('The full SQL query'), covering it 100%. The tool description does not add any extra parameter detail, so the baseline score of 3 applies since the schema already documents the parameter adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'execute' and a resource 'any SQL command,' clearly indicating the tool's function. It distinguishes from the sibling tool `list_oracle_tables` by covering arbitrary SQL rather than just listing tables, though it does not explicitly state this differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention `list_oracle_tables` or any other tools, leaving the selection entirely to inference. There is no context about intended use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_oracle_tablesB
Lists all tables in the Oracle database.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It implies a read-only operation that returns all tables, but it does not mention potential permissions required, whether system tables are included, or any output format details. This is acceptable for a simple listing tool but leaves some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the verb and resource with no wasted words. It is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, no output schema, and no annotations, the description provides minimal but sufficient context to understand its function. However, it lacks details about what 'all tables' includes (e.g., system tables, views) and any side effects, which could be relevant in an Oracle environment.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100% by default. The description adds no parameter-specific information, but none is needed. Baseline 4 for zero parameters is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all tables in the Oracle database, providing a specific verb and resource. It inherently distinguishes from the sibling execute_query by focusing on metadata listing rather than arbitrary query execution, though it does not explicitly compare itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus execute_query or any other alternative. The description only states what it does, leaving the agent to infer the appropriate context for selecting it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The two tools have clearly distinct purposes: one lists database tables, the other executes arbitrary SQL commands. Although execute_query could technically be used to list tables, the descriptions and intended use cases are unambiguous.
Both tool names follow a consistent verb_noun pattern using snake_case: 'list_oracle_tables' and 'execute_query'. This makes the toolset predictable and easy to navigate.
With only two tools, the server feels slightly thin, but the scope is narrow—a database bridge. The pair of listing tables and executing queries covers the core needs, and each tool serves a distinct role, so the count is reasonable.
The execute_query tool accepts any SQL command, enabling full CRUD, DDL, and metadata operations. list_oracle_tables provides a convenient starting point for exploration. Together, they cover the domain without dead ends.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
- mcpOAuthcom.gibsonai
GibsonAI MCP server: manage your databases with natural language
Related MCP Servers
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables Claude to access and interact with Oracle databases through natural language queries.32MIT
- AlicenseAqualityDmaintenanceAn MCP server that connects to Oracle databases using sqlplus, enabling SQL queries, schema exploration, and DDL/DML execution through natural language.822MIT
- AlicenseNot gradedqualityDmaintenanceA database-agnostic MCP server that enables natural language queries to your database through Claude or Copilot, automatically writing and executing SQL.16MIT
- AlicenseAqualityCmaintenanceMCP server for Oracle Database enabling AI assistants to explore schemas, run queries, write data, and monitor sessions via natural language. Features read-only mode by default and uses Oracle Thin mode for zero-install connectivity.10802MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/qualigenai/mcp-oracle-connector'
If you have feedback or need assistance with the MCP directory API, please join our Discord server