Install
$ agentstack add mcp-git-scarrow-oracle-mcp-server ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Oracle MCP Server
A Model Context Protocol (MCP) server for Oracle with two layers:
- generic Oracle query/introspection tools
- a backend-owned Lab control-plane mirror that reproduces the Notion Lab dispatch/return loop on Oracle tables
Features
- Execute SQL queries with parameter binding
- List tables across multiple schemas or filter by specific schema
- Describe table structures with multi-schema support
- View indexes and constraints across schemas
- Check Lab control-plane gates and build dispatch packets from backend state
- Stamp dispatch consumption, ingest execution returns, and create writers-room scene items
- Bootstrap the same Lab mirror on Oracle or PostgreSQL using the included DDL
- Multiple Oracle authentication methods
- Automatic parameter conversion (PostgreSQL style to Oracle)
- SQL injection prevention via bind variables
- Audit logging for security monitoring
Installation
npm install
Configuration
Environment Variables
Create a .env file with your Oracle connection details. Choose one of these methods:
Method 1: Easy Connect String
ORACLE_CONNECTION_STRING=hostname:1521/service_name
ORACLE_USER=your_username
ORACLE_PASSWORD=your_password
Method 2: TNS Name
ORACLE_TNS_NAME=ORCL
ORACLE_USER=your_username
ORACLE_PASSWORD=your_password
Method 3: Individual Components
ORACLE_HOST=localhost
ORACLE_PORT=1521
ORACLE_SERVICE_NAME=ORCL # or ORACLE_SID=ORCL
ORACLE_USER=your_username
ORACLE_PASSWORD=your_password
Optional settings:
ORACLE_DEFAULT_SCHEMA=HR # Default schema if different from user
Usage with Claude Desktop
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"oracle": {
"command": "node",
"args": ["/path/to/oracle-mcp/src/index.js"],
"env": {
"ORACLE_CONNECTION_STRING": "hostname:1521/service_name",
"ORACLE_USER": "your_username",
"ORACLE_PASSWORD": "your_password"
}
}
}
}
Alternatively, use npx if you publish the package:
{
"mcpServers": {
"oracle": {
"command": "npx",
"args": ["-y", "oracle-mcp-server"],
"env": {
"ORACLE_CONNECTION_STRING": "hostname:1521/service_name",
"ORACLE_USER": "your_username",
"ORACLE_PASSWORD": "your_password"
}
}
}
}
Usage with Claude Code
For Claude Code, add to ~/.claude.json:
{
"mcpServers": {
"oracle": {
"type": "stdio",
"command": "node",
"args": ["/path/to/oracle-mcp/src/index.js"],
"env": {
"ORACLE_CONNECTION_STRING": "hostname:1521/service_name",
"ORACLE_USER": "your_username",
"ORACLE_PASSWORD": "your_password"
}
}
}
}
After updating the configuration, restart Claude Desktop or Claude Code.
Available Tools
- execute_query - Execute any SQL query
- Supports parameter binding
- Auto-converts PostgreSQL-style parameters ($1) to Oracle (:1)
- Returns rows, rowCount, and metadata
- list_tables - List database tables
- Filter by specific schema or show all accessible schemas
- Filter by pattern (with % wildcards)
- Shows schema name, table name, row count, and last analyzed date
- describe_table - Get table structure
- Column names, types, sizes
- Nullable constraints
- Default values
- Works across all accessible schemas or filter by specific schema
- gettableindexes - View table indexes
- Index types and uniqueness
- Indexed columns
- Status information
- Shows schema name for each index
- gettableconstraints - View table constraints
- Primary keys, foreign keys
- Unique and check constraints
- Referenced tables
- Shows schema name for each constraint
- list_schemas - List all accessible schemas
- check_gates - Read
lab_control+lab_work_itemsand enforce Pre-Flight / cascade-depth gates - getdispatchableitems - List backend-owned Lab work items ready for dispatch
- builddispatchpacket - Validate a work item and produce an execution packet
- stampdispatchconsumed - Accept ownership of a dispatch run
- faildispatchpreflight - Revert a failed preflight and restore a dispatch-ready state
- handlefinalreturn - Ingest a structured execution result into backend state
- dispatch_scene - Create a writers-room scene item and fire its entry signal
Lab Mirror Bootstrap
Oracle DDL:
sqlplus user/password@db @sql/oracle/lab_control_plane.sql
PostgreSQL DDL:
psql "$DATABASE_URL" -f sql/postgres/lab_control_plane.sql
The mirror includes:
lab_projectslab_work_itemslab_controllab_agent_registrylab_scene_itemslab_domain_eventslab_outbox_eventsnotion_projection_statelab_audit_loglab_telemetrylab_evidence_dossier
See [docs/lab-backend-mirror.md](docs/lab-backend-mirror.md) for the backend ownership model and event flow.
Security
- All queries use bind variables to prevent SQL injection
- Connections are created per-query (no persistent pools)
- Comprehensive audit logging with timestamps and duration
- Environment variables keep credentials secure
- Supports both read-only and read-write operations
Requirements
- Node.js 18+
- Oracle Database (any version)
- Network access to Oracle database
License
MIT
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: git-scarrow
- Source: git-scarrow/oracle-mcp-server
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.